-
Notifications
You must be signed in to change notification settings - Fork 0
5. Fonctionnement de l'IA
L'unité IA possèdera 2 portées différentes.
- La portée de déplacement
- La portée d'attaque L'IA va parcourir la carte et sélectionner l'unité la plus proche d'elle comme cible. Une fois cette cible choisie, l'IA va, selon le type de l'unité, agir en conséquences afin de détruire cette cible.
Les unités vont être jouées dans un ordre spécial, un tri va être fait sur la liste : plus une unité IA sera proche d'une unité joueur, plus elle sera prioritaire. L'algorithme se fera ainsi :
- Chaque unité de l'IA va être "analysée" par rapport à sa distance aux unités adverse
- Plus l'unité est proche de l'ennemi, plus elle aura une priorité élevée dans la liste
- Le tri sera fait à chaque tour de l'IA Ce tri sera fait par un "Quick Sort".
L'IA va parcourir toutes les unités se trouvant dans sa portée d'agression, et va les jauger selon leurs distances. Une fois toutes les cibles comparées, il va en choisir une qui sera considérée la "meilleure" (la plus proche) et la sélectionner.
Utilisation de l'algorithme A*. Au début, nous pensions utiliser le pathfinding pour faire déplacer l'unité complètement mais nous nous sommes aperçus que le système de déplacement de l'allié était performant et suffisamment bien fait pour que l'IA l'utilise également. Nous avons alors utilisé l'A* pour bien "certifier" le chemin pris par l'unité.
Au début nous voulions faire en sorte que l'unité puisse choisir entre différentes actions via un système de points selon la pertinence de l'action. Comme nous n'avons pas développer la partie "Objet" et la partie "Pouvoir", la seule chose que l'unité IA peut faire est attaquer. Ainsi, Dès que l'IA pourra attaquer une unité ennemie, elle le fera.