Architecture de la boîte à outils du jeu Flame Steel Engine

Aujourd’hui, je vais parler de l’architecture de la boîte à outils pour le développement de jeux Flame Steel Engine Game Toolkit.
Flame Steel Engine Game Toolkit vous permet de créer des jeux basés sur Flame Steel Engine :
flamesteelgametoolkitschematics

Toutes les classes du Flame Steel Engine commencent par le préfixe FSE (Flame Steel Moteur ), etFSEGT (Fà flammeSmoteurEmoteurG strong>ame Ttoolkit) pour la boîte à outils.
La scène de jeu, les objets et les boutons sont tous des sous-classes de FSEObject et doivent se trouver dans la classe FSEGTGameData. Chaque FSEObject doitimplémenter l’interface FSESerialize, cela vous permettra de sauvegarder/charger les données du jeu et de fournir un mécanisme de sauvegarde.
La classe FSEController fonctionne avec les objets de la classe FSEObject. La boîte à outils comporte une classe de contrôleur de scène de jeu de base : FSEGTGameSceneController, vous pouvez hériter de cette classe pour implémenter votre logique de jeu.
IOSystem est un objet de l’interface FSEGTIOSystem, cette interface contient FSEGTRenderer, FSEGTInputController, FSEGTUIRenderer. fort>.FSEGTIOSystem doit implémenter un moteur de rendu, recevoir les données du clavier, des joysticks (périphériques d’entrée) et fournir le rendu des éléments d’interface pour systèmes d’entrées/sorties de cette plateforme.
Actuellement, un moteur de rendu a été implémenté, un contrôleur de clavier basé sur la bibliothèque SDL, il est disponible dans le FSEGTIOSDLSystem

Flame Steel Engine Raycaster Demo
Flame Steel Engine Raycaster Demo

Il est prévu à l’avenir de créer un IOSystem basé sur OpenGL, la classe s’appellera FSEGTIOGLSystem . Si vous souhaitez créer un IOSystem basé sur n’importe quelle plate-forme, vous devez utiliser l’interface FSEGTIOSystem et implémenter le moteur de rendu FSEGTRenderer, FSEGTInputController pour cela. plateforme .

Code source de Flame Steel Engine, boîte à outils, jeu :
https://github.com/demensdeum/FlameSteelCallOfTheDeathMask

Leave a Comment

Your email address will not be published. Required fields are marked *