Les outils des jeux de stratégie sont fournis par le module lionengine-game-strategy
, permettant un développement orienté jeux de stratégie avec des classes spécifiques et une architecture de base.
Dans cette section nous verrons comment utiliser ces outils.
Le curseur de jeu dans un jeu de stratégie est le seul et unique moyen de contrôler à la fois le panneau de contrôle et l'interaction avec la map, tels que cliquer sur des entités. Il est relatif à la vue et à la position de la caméra.
Il est fortement recommandé de comprendre comment fonctionne le système de map !
Ce sont les classes requises pour mettre en place le système de tile. Il sera complété par la suite.
Comme vous pouvez le voir, nous pouvons récupérer facilement un tile de la map à partir de la localisation du curseur, relatif à la position de la caméra, et ainsi afficher les données voulues.
Vous pouvez voir comment fonctionne le curseur, et la manière de récupérer les données d'un tile.
Le panneau de contrôle va nous permettre de changer les états des entités en cliquant dessus et en leur assignant des ordres. Le gestionnaire va appliquer ces changements en écoutant le panneau de contrôle.
Ce sont les classes requises pour mettre en place le système de tile. Il sera complété par la suite.
Cela va nous permettre de créer des entités pour l'exemple.
Le gestionnaire va écouter le panneau de contrôle afin de savoir ce qui est sélectionné. Les entités seront mises à jour ici.
Vous pouvez maintenant voir le processus complet pour la sélection d'entité et leur contrôle global.
Les capacités représentent ce qu'une entité peut faire. Cela peut être le mouvement, l'attaque, la production, et bien plus encore. Elles sont également combinables.
Les armes utilisent une classe spéciale appelée WeaponModel
, qui propose une routine dédiée à l'attaque. Une arme peut être représentée simplement par des dégâts, ou un lanceur de projectile, ou encore autre chose.
Dans ce package vous trouverez le système de fabrique et de gestionnaire, ainsi que les implémentations des capacités par les différents types d'entités.
Vous pouvez maintenant voir les différentes capacités en action. Il est possible de les combiner puisque le fonctionnement repose sur le principe d'interface et de délégation.
Les compétences représentent les actions de l'entité, déclenchées par les actions du joueur sur le panneau de contrôle. Il y a un lien fort entre les compétences et les caractéristiques.
Si vous regardez les implémentations concrètes des compétences, vous remarquerez essentiellement la présence de la fonction action
, qui est appelée lorsque la compétence est déclenchée depuis le panneau de contrôle.
Cela va nous permettre de changer l'image du curseur en fonction des actions réalisées sur le panneau de contrôle.
Les compétences sont maintenant simplement ajoutées avec la fonction add
.
Vous pouvez maintenant voir le système de compétence en action, et comment elles fonctionnent avec le panneau de contrôle.
Le brouillard de guerre n'est peut être pas la partie la plus importante d'un jeu, mais il ajoute une difficulté supplémentaire et peut représenter un élément de gameplay à lui tout seul en fonction de son importance.
Oui, c'est aussi simple que cela.
Et voici le dernier exemple, et peut être même le plus simple ! Vous pouvez maintenant voir le brouillard de guerre en action, dépendant de la position de l'entité et de l'état de découverte de la map.
Lire la suite: Jeux en réseau