IA pour le jeu vidéo

Développement de trois projets mêlant Machines à états finis, Steering Behaviors, Réseau de neurones et Systèmes multi-agents.



Description du projet


Contenu :
Les projets ont été développés dans le cadre du cours de Intelligence Artificielle pour le jeu vidéo de l'UQAC. Nous avons récupéré le code de Matt Buckland et modifié des projets de façon à améliorer les comportements des agents. Chaque projet possédait son propre objectif. Au cours du semestre, nous avons étudié des méthodes très utilisées dans le domaine de l'IA pour le jeu vidéo. Il contient les éléments suivants :
  • Nouveaux comportements de mouvement (ex : Flocking en V, suivre discrètement...)
  • Machine à états finis pour une simulation de vie
  • Amélioration d'une IA d'un quake-like en 2D


Description de mon travail

D'un point de vue technique, les projets ont été developpés en C++.

Le projet le plus complexe et qui mérite d'être développé est celui sur l'amélioration d'une IA d'un quake-like en 2D.

Logique floue :
L'IA se base sur la logique floue pour prendre des décisions. Ainsi on garantit qu'un agent peut faire des erreurs et ne pas écraser ses concurrents.

Nouvelles stratégies :
Des stratégies de déplacements ont été rajoutées pour qu'un agent ne soit pas trop facile à cibler lorsqu'il ne considère pas le combat. Il va désormais insérer des éléments d'aléas dans ses déplacements lorsqu'il sera à la recherche de soins ou de munitions.

Les équipes:
Les agents peuvent désormais communiquer et être organisés en équipe avec un maître. Les agents vont partager un objectif commun en s'envoyant des messages et s'attaquer à un même ennemi pour l'éliminer rapidement. Un agent en équipe communiquera à ses alliers sa position lorsqu'il meurt pour que ces derniers récupèrent ses équipements pendant le combat.