Donjon et interface
Vue d'ensemble
- Dans la partie précédente, exploration du modèle d'architecture Entity-Component-System (ECS), couramment utilisé dans le développement de jeux, ainsi que du paradigme de programmation métalinguistique.
- Cette fois, l'objectif est de créer un petit jeu de type dungeon crawler à l'aide de ces techniques, afin d'examiner la conception des systèmes d'une véritable application de jeu.
Préparation
- Configuration d'un environnement Common Lisp et mise à jour des packages nécessaires.
- Démarrage du projet avec un modèle
cookiecutter et réglage de la taille de la fenêtre du jeu sur 1280x800.
Donjon
- Une carte de donjon est nécessaire pour que le joueur puisse l'explorer.
- Utilisation de Tiled, un éditeur de cartes open source, pour créer la carte du donjon, puis de la bibliothèque
cl-tiled pour la charger sous forme d'objets Lisp.
- Une fois le fichier de carte préparé, quelques opérations de préparation sont effectuées pour pouvoir le charger et l'utiliser dans le jeu.
Application du modèle ECS
- Déplacement des données des tuiles de la carte vers un stockage ECS afin d'améliorer les performances.
- Ajout du framework
cl-fast-ecs au projet et initialisation du système ECS.
- Stockage des tuiles de la carte comme entités individuelles et définition des systèmes chargés de les traiter.
Animation
- Tiled prend en charge les tuiles animées, ce qui permet d'ajouter de la vie au jeu.
- Extension et refactorisation de la structure du code pour implémenter l'animation.
- Définition des composants
animation-frame et animation-state pour gérer l'état de l'animation.
- Définition du système
update-animations afin de changer les images d'animation au moment approprié.
Résumé de GN⁺
- Cet article explique comment utiliser efficacement le modèle ECS dans le développement de jeux.
- Il présente une méthode pour créer et gérer facilement des cartes à l'aide d'outils comme Tiled.
- Il explique comment ajouter de la vie à un jeu grâce à l'animation.
- L'utilisation du modèle ECS permet d'optimiser les performances tout en gardant une structure de code concise.
- Parmi les projets similaires offrant des fonctionnalités comparables, on peut citer le système ECS de Unity ou le système Blueprint d'Unreal Engine.
Aucun commentaire pour le moment.