This class will propose an in-depth presentation of the main approaches used in current video
games to handle decision making of autonomous, and possibly, collaborating agents . The
course will cover the “classical” algorithmic-based AI approaches with a general focus on
interactive and real-time constraints , ranging from decision and behavior tree, rules based
methods and inference system, as well as hierarchical system for distributed communication
and cooperative behaviors. The course will take a strong focus on practical programming of
these different approaches in the video game context (such as with StarCraft API), and will end
in a contest of the implemented cooperative multi-units AI.
Proposed Syllabus:
Lecture topics :
I) Decision Tree, Finite State Machine, and Hierarchical-FSM
II) Behavior Tree, Rule based, Drive Oriented (order 1 fuzzy logic and more advanced
inference system)
III) Blackboard systems and Distributed AI
IV) Future approaches for video games NPC: planning, dialogs, reasoning, emotions, learning
Labs topics :
I) Implementation of HFSM or Behavior Tree
II) Cooperation structure and Blackboard
III) AI building methodology in video game context
IV) Contest on cooperative multi-units AI
Prerequisits:
- Basic Knowledge of computer science and programming
- One programming language: preferably C++, possible with JAVA or Python or C#(CLI)
Lecturers:
- Axel Buendia, Professeur CNAM (ENJMIN) and CEO SpirOps
- David Bilemdjian, CTO Pixel Wizards and part-time lecturer at Isart Digital, Itescia,
ESIEE
Maximum number of students: 24 students max for the first year.
Proposed period: Period 2 - Wednesday morning
Targeted PA - IVA, and possibly Algorithmics and Efficiency.