Motor TLSA (versión Visual Basic 6.0)
Mi última versión de TLSA Engine desarrollada en Visual Basic 6.0 con dx_lib32 2.1 a mediados de 2010, un motor de plataforma cinematográfica 2D personalizado. Incluya herramientas SDK y algunos proyectos de prueba.
He decidido publicar las fuentes de este proyecto como mera curiosidad para todos los que hayan estado interesados. Esta versión es la misma que se usó inicialmente para la entrada White & World del game jam Campus Party 2011 .
Fecha/periodo de desarrollo:
Historia:
Un motor de juego 2D basado en el proyecto dx_lib32 , con el propósito de desarrollar un juego de plataformas 2D como Flashback u Another World .
Un pequeño resumen de sus características en últimas versiones:
- Motor orientado a componentes , que intenta simular la arquitectura XNA .
- Motor gráfico 2D , basado en sprites multicapa, con sistema de efectos simple basado en tubería fija Directx 8.1 , aplicable a sprites individuales o a escenas completas (la escena final es un lienzo transformable con soporte para todos los efectos de sprites, transformaciones de posición, rotación y escala), implementar un sistema de mapa de puntos de control de sprites (similar a cómo implementó Div Game Studio en su sistema de sprites) para gestionar fácilmente múltiples texturas y transformaciones en un grupo de objetos anidados (para crear animaciones complejas, basadas en múltiples piezas, con sprites independientes animaciones), sistema de cámara simple (con soporte para definir múltiples cámaras de escena, para cambiar entre ellas fácilmente usando rutas o animaciones con escalas y rotaciones).
- Motor de Audio 2D , con soporte para efectos estándar básicos en tiempo real (no parametrizables), y sistema espacial para simular distancias y posicionar a los oyentes cambiando el nivel de volumen estéreo de los efectos de sonido, y un mezclador multicanal básico.
- Sistema de entrada básico , basado en acciones, que puede definir múltiples entradas (teclado, mouse y joysticks o gamepads), y soporte completo para joysticks y gamepads, a través de DirectInput 8 y XInput 1.3 (para compatibilidad total con los gamepads de XBox 360 ), con Force Feedback básico soporte (para simular el sistema de vibración XInput en joysticks compatibles usando un efecto de fuerza constante).
- Motor de colisión de Física Básica , con sistema de colisión de múltiples capas, áreas de partición mundial, raycaster y emisores de fuerza (para simular explosiones o fuerzas de agujeros negros).
- Editor de niveles WYSIWYG con controles de flujo (reproducir, pausar y reiniciar la escena durante la depuración), diseñador de física de escena, diseñador de áreas de audio (para aplicar efectos y emisores) que utiliza la física definida en la escena y depurador visual.
- Algunas herramientas en el SDK como el Editor de entrada para crear archivos de entrada de perfiles, con acciones definidas y sus controles de entrada, para importar fácilmente en el motor del juego, y Tile Studio , un editor simple pero completo para definir hojas de mosaicos y hojas de sprites con irregularidades. tamaños, definiciones de puntos de control y secuencias de animación, con previsualizador de animación.
Las primeras versiones de desarrollo del motor son de 2005 y 2006. La última versión, reprogramada desde cero, comenzó a desarrollarse durante el verano de 2009, y hasta la última construida, en verano de 2010.
Este motor de juego no está terminado, debido a la complejidad de desarrollar un proyecto como este en Visual Basic 6.0 . El motor del juego se utilizó en pocos proyectos, principalmente prototipos y gamejams.
Notas:
- Las líneas de comentarios en el código están en español.
Enlaces relacionados:
- Proyecto dx_lib32: http://portfolio.visualstudioex3.com/2006/02/25/dxlib32-project/
- Motor TLSA: http://portfolio.visualstudioex3.com/2010/07/30/tlsa-engine-vb6/
- Implementación de Marius Watz Java para la función de intersección de líneas 2D: http://workshop.evolutionzone.com/2007/09/10/code-2d-line-intersection/
- Envoltorio XInput para Game Maker de yellowsix: http://gmc.yoyogames.com/lofiversion/index.php/t360286.html
- Blanco y mundo: https://portfolio.visualstudioex3.com/2010/07/31/white-and-world/
Capturas: