CS380: Artificial Intelligence for Games
Instructor: Iker Silvano
Framework: C++ engine provided in class
Topics covered in the course included the game AI programmer mindset, AI architecture (state machines, rule-based systems, goal-based systems, trigger systems, smart terrain, scripting, message passing, debugging AI), movement, path-finding, emergent behavior, agent awareness, agent cooperation, terrain analysis, planning, and learning/adaptation.
We implemented several pathfinding algorithms like Dijkstra and A*, adding some improvements like rubber bonding, smoothing and different heuristics algorithms.
We implemented several terrain analysis algorithms like , openness-to-closest-wall, static and dynamic visibility and sniper spots. Taking the analysis in consideration in the pathfinding alrorithm.
The final project left us the possibility to explore any topic of interest to us. I decided to learn more about procedural generation and decided to implement a random dungeon generator based on the post in gamasutra from A. Adonaac.