Les fonctionnalités
Le principe du programme est de combiner de simples fontionnalités afin de rendre la simulation de plus en plus complexe.
Dans la suite, nous décrirons successivement les fonctionnalités que nous avons ajouté au programmme.
Terrain de jeu
Le terrain a été mis en place en tout premier afin de pouvoir définir la zone de jeu.
Celui-ci est simplement constitué d'obstacles de forme rectangulaire.
Maillage
Nous avons ajouté un maillage constitué de drapeaux ou Flags.
Les Flags sont posés aléatoirement sur la carte, ne sont pas dans un obstacle et peuvent se voir s'il n'y a pas d'obstacle entre eux.
Les unités pourrons alors utiliser le maillage afin de pouvoir se déplacer librement sur le terrain de jeu.
A Etoile
A Etoile est un algorithme de recherche de plus court chemin très efficasse.
Il permet aux unités de pouvoir déterminer le chemin à emprunter pour pouvoir se déplacer d'un point à un autre en s'aidant du maillage existant.
Les Items
Des Items sont posés aléatoirement sur le terrain de jeu et ont chacun leur propre caractéristique.
Les PowerUps
Des PowerUps sont des Items spéciaux qui sont positionnés aléatoirement sur le terrain de jeu dans le temps et dans l'espace.
Lorsqu'une unité passe dessus, alors le PowerUp donne soit de la vie, ou soit augmente la distance de tir, et ceci à tous leur plus proche voisin alliés.
Chaque PowerUp dispose d'un temps de vie et disparaît au temps imparti si aucune unité est passée prendre le PowerUp.
La Base
Les deux équipes ont chacun une base attribuée fixe pendant toute la durée du jeu.
La Team
Les unités sont affectées à un équipe ou Team de couleur rouge ou bleue.
Au sein d'une Team, une unité est désignée en temps que Leader du groupe et les autres unités nommées Follower sont chargées de suivre le Leader selon une certaine cohérence de groupe
Le Leader
Le Leader est l'unité qui prend les initiatives et décidera des actions à réaliser pour gagner la partie.
Le Leader utilise A Etoile pour décider du chemin à suivre. Il cherchera toujours à atteindre le Flag suivant dans son chemin, sauf s'il voit un Flag qu'il devra atteindre plus tard dans son chemin, à ce moment, il décide d'aller directement à ce Flag.
Les actions prises par le leader sont les suivantes : si celui-ci voit un nouveau PowerUp qui apparait sur le terrain de jeu, alors il se dirigera vers celui-ci pour augmenter les capacités de son équipe. Sinon le Leader rentre à la base.
Les Followers
Les Followers ont un comportement de groupe définit comme Boids.
Les Boids permettent de modéliser un comportement émergent. En effet, la complexité comportementale résulte ici de l'interaction d'agents individuels (appelés boids) respectant un nombre limité de règles simples, telles que :
- la cohésion : Pour former un groupe, les boids se rapprochent les uns des autres.
- la séparation : 2 boids ne peuvent pas se trouver au même endroit au même moment.
- l'alignement : Pour rester groupés, les boids essayent de suivre un même chemin.
Les Followers respectent les 3 règles énumérées ci-dessus pour simuler un mouvement de groupe.
Les Followers ralentissent lorsqu'ils approchent du Leader et reprennent leur vitesse maximale lorsqu'ils s'en éloignent.
Les Units (Leader et Followers confondus)
Les Units ont tous des déplacements lissés, c'est à dire que leur vecteur vitesse ne prend jamais de direction totalement autre à l'itération suivante.
Le mouvement a aussi été lissé lorsque une Unit bute dans un obstacle.
Une Unit est munie d'une arme et tire sur les ennemis qui sont à vue portante lors de leur déplacement et selon une cadence de tir propre à l'arme utilisée.
Chaque Unit affiche sa barre de vie et est tuée si l'unité n'a plus de vie.
Affichage
Un clic de souris sur l'interface permet de modifier le niveau d'affichage pour voir plus ou moins de détails sur la simulation.