Steering

Cette Application a été créée à partir d’un exercice fait en deuxième année à Créajeux sur les comportements de steering. Le steering est une méthode de mouvement applicable à des objets d’un jeu, elle est utilisée pour créer des comportements et il est possible des les mélanger pour en obtenir de nouveaux.

Le programme contient plusieurs comportements comme suit :

  • Recherche / Fuite : Des paires d’entités vont être créées, l’une cherchera l’autre qui la fuira. Ce comportement est assez simpliste mais peut être utile pour en créer d’autres.
  • Poursuite / Évasion : Similaire au précédent mais avec une peu de prédiction ajoutée dans le tout. L’entité poursuivante va aller à la future position de celle qui l’évite, qui va se détourner de la future position de sa poursuivante.
  • Arrivée + Évitement d’obstacles :  Les entités vont essayer d’atteindre le curseur de l’utilisateur en évitant les cercles rouges à l’écran.
  • Errer : Détermination aléatoire de la prochaine direction suivie par l’entité dans un certain spectre restreint pour garder de la cohérence et de la régularité dans ses mouvements. Cela peut être utilisé pour créer une sorte d’état de repos d’une IA qui se baladerai dans une zone.
  • Suivi de chemin : Les cercles rouges forment un chemin que les entités vont emprunter. Une fois arrivées au bout, elles feront demi-tour et repartiront dans l’autre sens.
  • Évitement de collision non-aligné : Chaque entité prédit le mouvement des autres autour d’elle et utilise l’évitement d’obstacles pour réagir quand leur trajectoires se croisent.
  • Séparation : Chaque entité va dans à l’opposée de la direction générale empruntée par ses voisines comprises dans un certain rayon.
  • Cohésion : Chaque entité calcule la position moyenne de ses voisines et essaie de l’atteindre.
  • Alignement : Chaque entité va dans la même direction que ses voisines.
  • Regroupement : Une combinaison des comportements d’Alignement et de Séparation, les entités vont dans la même direction tout en gardant leurs distances par rapport à leur voisines. Ce comportement peut être comparé à un banc de poissons.
  • Suivi de guide : Toutes les entités suivent un même guide tout en gardant leurs distances les unes par rapport aux autres.
  • Formations : Variante du comportement précédent où les entités dessinent une forme donnée en suivant leur guide. Les formations disponibles sont le Cercle, le V, la Ligne et la Multiligne.

J’ai aimé cet exercice et l’ai trouvé assez intéressant et rémunérateur, je me suis souvent pris à juste regarder mes résultats se dérouler pendant la phase de développement au lieu de fermer l’application dès que possible. Le regroupement en particulier peut être assez hypnotisant avec assez d’entités. J’ai aussi aimé utiliser ces comportements pour la première fois dans WarCreaft, nous développions les deux projets en parallèle donc dès qu’un comportement était fait dans l’application, il allait dans le jeu. Regarder les personnages du jeu bouger grâce aux comportements que j’avais créé m’a empli de joie.

Captures d’écran

Arrival
PathFollowing
Flocking
Circle
Multiline
previous arrow
next arrow
 
Arrival
PathFollowing
Flocking
Circle
Multiline
previous arrow
next arrow
Shadow

Liens

Voici le manuel utilisateur (Anglais uniquement pour le moment, également trouvable dans le zip du jeu) et le bouton de téléchargement du jeu.

Manuel utilisateur

Télécharger