Le module lionengine-game est le principal module de jeu. Il contient une API haut niveau complète, conçue pour fournir les outils essentiels à tout développement de jeux, incluant une architecture modulaire.
Voici les différents packages:
Voici une brève présentation de l'API haut niveau et de son architecture (seul les principaux outils sont présentés):
Featurable
: Représentation minimaliste d'un objet avec un identifiant unique, configurable et gérableCamera
: Implémentation standard d'une caméra, pouvant suivre un objetWorldGame
: Conteneur de jeu standard, permettant de sauvegarder et de charger un monde facilementCursor
: Représentation de la souris en jeu, synchronisée ou non sur celle du système d'exploitationTextGame
: Texte pouvant être utilisé dans un axe de jeu 2D, converti automatiquement sur l'axe de l'écranHandler
: Peut gérer une liste d'objet, afin de les mettre à jour et de les afficher facilement
Factory
: Fabrique générique d'objet à partir d'un fichier de configuration
map package
: Représentation standard d'une map à base de tile, avec une implémentation de base
- Système de collision
Comment fonctionne le processus de collision ?
Un tile est représenté par :
[X,Y]
(position sur la map)pattern
(numéro de tilesheet)number
(numéro d'image sur la tilesheet)
Tilesheet Map utilisant la tilesheet
BackgroundGame
: Représentation de base de background, en tant que conteneur d'élément de fondBackgroundElementRastered
: Support du RasterBar pour le background
Original Effet CloudsGame
: Conçu pour créer un effet de scrolling dédié aux nuages
Original Effet Parallax
: Conçu pour créer un puissant effet de parallaxe composé d'un grand nombre de lignes
Original Effet
Setup
: Contient les ressources uniques qui peuvent êtres partagées par les différentes instances d'objetsFactory
: Instancie des objets à partir de leur fichier de configuration, en fournissant les ressources nécessaires à partir de leursetup
correspondant
Body
: Simule la gravité à partir d'une masseCollidable
: Supporte la détection de collision avec d'autrescollidables
Rasterable
: Supporte l'effet RasterBarLaunchable
: Permet de gérer le système de projectile
Producible
: Permet à l'entité de créer de nouvelles entités (construction de bâtiments, production d'entités...)
- ...
- Tile extractor : Permet d'extraire tous les tiles uniques d'un level rip
- Level rip converter: Génère un niveau de données à partir d'un level rip et de ses tilesheets
Les ressources en rapport avec les map doivent êtres organisées comme ci-dessous afin de pouvoir gérer plusieurs themes de map :
Voici un exemple de jeu de plateforme, mettant en évidence la plupart des composants principaux :
Voici un exemple de jeu de stratégie, mettant en évidence la plupart des composants principaux :
Lire la suite: Architecture Générale - Module Réseau