Moteur TLSA (version Visual Basic 6.0)
Ma dernière version de TLSA Engine développée en Visual Basic 6.0 avec dx_lib32 2.1 mi-2010, un moteur de plateforme cinématique 2D personnalisé. Incluez les outils SDK et certains projets de test.
J'ai décidé de publier les sources de ce projet par simple curiosité pour tous ceux qui ont été intéressés. La version est la même que celle utilisée initialement pour l'entrée White & World du game jam Campus Party 2011 .
Date/période de développement :
Histoire:
Un moteur de jeu 2D basé sur le projet dx_lib32 , dans le but de développer un jeu de plateforme 2D comme Flashback ou Another World .
Un petit résumé de leurs fonctionnalités dans les dernières versions :
- Moteur orienté composants , essayant de simuler l'architecture XNA .
- Moteur graphique 2D , basé sur des sprites multicouches, avec un système d'effets simple basé sur un pipeline fixe Directx 8.1 , applicable à des sprites individuels ou à une scène entière (la scène finale est un canevas transformable prenant en charge tous les effets de sprite, les transformations de position, de rotation et d'échelle), implémentant un système de carte de points de contrôle de sprite (similaire à la façon dont Div Game Studio l'implémente dans son système de sprite) pour gérer facilement plusieurs textures et transformations dans un groupe d'objets imbriqués (pour créer des animations complexes, basées sur plusieurs pièces, avec des éléments indépendants animations de sprites), système de caméra simple (avec prise en charge de la définition de plusieurs caméras de scène, pour basculer facilement entre elles à l'aide de chemins ou d'animations avec des échelles et des rotations).
- Moteur audio 2D , avec prise en charge des effets standard de base en temps réel (non paramétrables), d'un système spatial pour simuler les distances et la position des auditeurs en modifiant le niveau de volume stéréo des effets sonores, et d'un mélangeur multicanal de base.
- Système de saisie de base , basé sur des actions, qui peuvent définir plusieurs entrées (clavier, souris et joysticks ou manettes de jeu), et prise en charge complète des joysticks et des manettes de jeu, via DirectInput 8 et XInput 1.3 (pour une prise en charge complète des manettes de jeu XBox 360 ), avec retour de force de base support (pour simuler le système de grondement XInput dans les joysticks compatibles en utilisant un effet de force constante).
- Moteur de collision physique de base , avec système de collision à plusieurs couches, zones de partition du monde, raycaster et émetteurs de force (pour simuler des explosions ou des forces de trous noirs).
- Éditeur de niveau WYSIWYG avec contrôles de flux (lecture, pause et redémarrage de la scène pendant le débogage), concepteur physique de scène, concepteur de zones audio (pour appliquer des effets et des émetteurs) qui utilise la physique définie dans la scène et débogueur visuel.
- Certains outils du SDK comme l' Input Editor pour créer des fichiers d'entrée de profils, avec des actions définies et ses contrôles d'entrée, à importer facilement dans le moteur de jeu, et le Tile Studio , un éditeur simple mais complet pour définir des feuilles de tuiles et des feuilles de sprites avec des formes irrégulières. tailles, définitions de points de contrôle et séquences d'animation, avec prévisualiseur d'animation.
Les premières versions de développement du moteur datent de 2005 et 2006. La dernière version, reprogrammée à partir de zéro, a commencé son développement au cours de l'été 2009, et jusqu'à la dernière version construite, à l'été 2010.
Ce moteur de jeu n'est pas terminé, en raison de la complexité de développer un projet comme celui-ci dans Visual Basic 6.0 . Le moteur de jeu a été utilisé dans quelques projets, principalement des prototypes et des gamejams.
Remarques :
- Les lignes de commentaires dans le code sont en espagnol.
Liens connexes :
- Projet dx_lib32 : http://portfolio.visualstudioex3.com/2006/02/25/dxlib32-project/
- Moteur TLSA : http://portfolio.visualstudioex3.com/2010/07/30/tlsa-engine-vb6/
- Implémentation Java de Marius Watz pour la fonction d'intersection de lignes 2D : http://workshop.evolutionzone.com/2007/09/10/code-2d-line-intersection/
- Wrapper XInput pour Game Maker par yellowsix : http://gmc.yoyogames.com/lofiversion/index.php/t360286.html
- Blanc et monde : https://portfolio.visualstudioex3.com/2010/07/31/white-and-world/
Captures :