Mecanismo TLSA (versão Visual Basic 6.0)
Minha última versão do TLSA Engine foi desenvolvida em Visual Basic 6.0 com dx_lib32 2.1 em meados de 2010, um mecanismo de plataforma cinematográfica 2D personalizado. Inclui ferramentas SDK e alguns projetos de teste.
Decidi publicar as fontes deste projeto como mera curiosidade para todos que se interessaram. Esta versão é a mesma usada inicialmente para a entrada White & World do game jam Campus Party 2011 .
Data/período de desenvolvimento:
História:
Um Game Engine 2D baseado no Projeto dx_lib32 , com o objetivo de desenvolver um jogo de plataforma 2D como Flashback ou Another World .
Um pequeno resumo de seus recursos nas versões mais recentes:
- Motor Orientado a Componentes , tentando simular a arquitetura XNA .
- Motor gráfico 2D , baseado em sprite multicamadas, com sistema de efeitos simples baseado em pipeline fixo Directx 8.1 , aplicável a sprites individuais ou a toda a cena (a cena final é uma tela transformável com suporte para todos os efeitos de sprite, posições, rotação e transformações de escala), implementando um sistema de mapa de pontos de controle de sprites (semelhante à implementação do Div Game Studio em seu sistema de sprites) para gerenciar facilmente múltiplas texturas e transformações em um grupo de objetos aninhados (para criar animações complexas, baseadas em múltiplas peças, com sprites independentes animações), sistema de câmera simples (com suporte para definir múltiplas câmeras de cena, para alternar facilmente entre elas usando caminhos ou animações com escalas e rotações).
- Motor de áudio 2D , com suporte para efeitos padrão básicos em tempo real (não parametrizáveis), e sistema espacial para simular distâncias e posicionar ouvintes alterando o nível de volume estéreo dos efeitos sonoros, e um mixer multicanal básico.
- Sistema de Entrada Básico , baseado em ações, que pode definir múltiplas entradas (teclado, mouse e joysticks ou gamepads), e suporte completo para joysticks e gamepads, via DirectInput 8 e XInput 1.3 (para suporte total aos Gamepads XBox 360 ), com Force Feedback básico suporte (para simular o sistema de vibração XInput em joysticks compatíveis usando efeito de força constante).
- Motor de colisão de física básica , com sistema de colisão de múltiplas camadas, áreas de partição mundial, raycaster e emissores de força (para simular explosões ou forças de buracos negros).
- Editor de níveis WYSIWYG com controles de fluxo (reproduzir, pausar e reiniciar cena durante o debug), designer de física de cena, designer de áreas de áudio (para aplicação de efeitos e emissores) que utiliza a física definida na cena e depurador visual.
- Algumas ferramentas do SDK como o Input Editor para criar arquivos de entrada de perfis, com ações definidas e seus controles de entrada, para importar facilmente para o motor de jogo, e o Tile Studio , um editor simples mas completo para definir folhas de azulejos e folhas de sprites com irregularidades. tamanhos, definições de pontos de controle e sequências de animação, com pré-visualizador de animação.
As primeiras versões de desenvolvimento do motor são de 2005 e 2006. A última versão, reprogramada do zero, iniciou o desenvolvimento durante o verão de 2009, e durante até a última construída, no verão de 2010.
Este motor de jogo não está finalizado, devido à complexidade para desenvolver um projeto como este em Visual Basic 6.0 . O motor de jogo foi usado em poucos projetos, principalmente protótipos e gamejams.
Notas:
- As linhas de comentários no código estão em espanhol.
Links relacionados:
- Projeto dx_lib32: http://portfolio.visualstudioex3.com/2006/02/25/dxlib32-project/
- Mecanismo TLSA: http://portfolio.visualstudioex3.com/2010/07/30/tlsa-engine-vb6/
- Implementação Java de Marius Watz para função de interseção de linha 2D: http://workshop.evolutionzone.com/2007/09/10/code-2d-line-intersection/
- Wrapper XInput para Game Maker da yellowsix: http://gmc.yoyogames.com/lofiversion/index.php/t360286.html
- Branco e Mundo: https://portfolio.visualstudioex3.com/2010/07/31/white-and-world/
Capturas: