This course focuses on the creation of artificial players for computer games. We will focus especially on games for which a forward model can be created and thus a search-based method of artificial intelligence can be used. We will also be dealing with navigation and path-finding (previously covered by NAIL068), though we will not deal with neural networks and evolutionary algorithms (as they are taught elsewhere). We will build on the topics from Artificial Intelligence I (NAIL069) by discussing search-based methods suitable for games, e.g. Monte Carlo Tree Search.
News
Follow the appropriate channel at Gamedev Discord!
https://discord.gg/wxAykVNynG
Dates
Lectures + Labs: Monday 17:20 (S4), Tuesday 15:40 (S7), first class: 29.9.2026 (28.9. is a national holiday)
Course Exam
There will be an oral examination done during the examination period. The list of topics will be provided by the end of the semester.
Schedule
| Week | Date | Topic | Lecturer | Content | Materials |
| 1. | 28.9.2026 17:20–18:50 (S4) |
Lecture | Cancelled – National holiday | ||
| 1. | 29.9.2026 15:40–17:10 (S7) |
Course intro + Unity AI plugins Lab |
Peter Guba | An introduction of the course and the field of game AI in general. Examples are accompanied by freely-available Unity tools that can be used for development. | Slides |
| 2. | 5.10.2026 17:20–18:50 (S4) |
Basics of AI player modeling, Forward model, A*-based agent Lecture |
David Šosvald | AI player and its position in the code architecture. Common intelligent agents models (reflex and goal based) and their correspondence to the game’s architecture. Game models for lookahead, their types. Forward model and game simulation. Example of an A*-based agent construction using Super Mario AI framework and agents developed at MFF. Game space pruning tricks. Details on A* algorithm: Artificial Intelligence I (MFF), Wikipedia |
|
| 2. | 6.10.2026 15:40–17:10 (S7) |
Pac-Man Agent Lab |
David Šosvald | Pac-Man homework Solve the famous Pac-Man game using A* with a forward model! Delivery deadline: TBA Deliver to: David Šosvald |
|
| 3. | 12.10.2026 17:20–18:50 (S4) |
Local navigation Lecture |
Klára Pešková | Local navigation for AI agents: Reynolds steerings, combined behaviors. Velocity obstacles. | |
| 3. | 13.10.2026 15:40–17:10 (S7) |
Game AI design crash course Lab |
Peter Guba | A look at solutions to interesting AI challenges in various games. | |
| 4. | 19.10.2026 17:20–18:50 (S4) |
Grid-based pathfinding Lecture |
Klára Pešková | Reciprocal velocity obstacles. Grid-based pathfinding: JPS, JPS+. Bidirectional Dijkstra’s algorithm. | |
| 4. | 20.10.2026 15:40–17:10 (S7) |
Guest-led Lab Lab |
Secret Guest | ||
| 5. | 26.10.2026 17:20–18:50 (S4) |
Spatial awareness, Continuous pathfinding Lecture |
Klára Pešková | BSP trees, raycasting. Navigation meshes. Funnel algorithm for path optimization. Bidirectional A*. | |
| 5. | 27.10.2026 15:40–17:10 (S7) |
Path-finding Lab |
Klára Pešková | Navigation/pathfinding homework Write an agent that steers a spaceship to gather gems in a series of mazes of increasing difficulty. Delivery deadline: TBA Deliver to: Klára Pešková |
|
| 6. | 2.11.2026 17:20–18:50 (S4) |
F.E.A.R. AI, Classical Planning Lecture |
David Šosvald | How to adapt classical planning methods for real-time FPS games. Case study of F.E.A.R. AI design. Hierarchical task networks. | |
| 6. | 3.11.2026 15:40–17:10 (S7) |
Game AI design crash course 2 Lab |
Peter Guba | A look at solutions to interesting AI challenges in various games. | |
| 7. | 9.11.2026 17:20–18:50 (S4) |
MCTS – Introduction Lecture |
Peter Guba | The Monte Carlo Tree Search (MCTS) algorithm is introduces and we look at some of its theoretical foundations, namely the Monte Carlo method and the Multi-armed Bandit problem. The group assignment (GA) will be introduced. | |
| 7. | 10.11.2026 15:40–17:10 (S7) |
MetaCentrum Lab |
David Šosvald | MetaCentrum homework Introduction to grid computing and hyperparameter testing. Jobs submission, tracking, logging, and results visualisation. TDA: Code from lecture + Homework Delivery deadline: TBA Deliver to: David Šosvald |
|
| 8. | 16.11.2026 17:20–18:50 (S4) |
MCTS Adjustments Lecture |
Peter Guba | An exploration of ways of adapting MCTS to games where the default version can’t be applied. | |
| 8. | 17.11.2026 15:40–17:10 (S7) |
Lab | Cancelled – National holiday | ||
| 9. | 23.11.2026 17:20–18:50 (S4) |
RTS AI Lecture |
Peter Guba | We go over the different components of RTS AI and some ways of approaching them. | |
| 9. | 24.11.2026 15:40–17:10 (S7) |
Game AI design crash course 3 Lab |
Peter Guba | A look at solutions to interesting AI challenges in various games. | |
| 10. | 30.11.2026 17:20–18:50 (S4) |
RL 1 Lecture |
Klára Pešková | Reinforcement learning. Agents and environments. Policies and rewards. Markov decision processes. Policy-based and value-based algorithms. Deep neural networks. | SA |
| 10. | 1.12.2026 15:40–17:10 (S7) |
Generative AI tools for games Lab |
Peter Guba | A look at some modern generative AI tools and how to use them in games. | |
| 11. | 7.12.2026 17:20–18:50 (S4) |
RL 2 Lecture |
Klára Pešková | Playing games using deep reinforcement learning. Deep Q-networks (DQN). AlphaZero. | SA |
| 11. | 8.12.2026 15:40–17:10 (S7) |
AlphaZero Lab |
Klára Pešková | ||
| 12. | 14.12.2026 17:20–18:50 (S4) |
Machine learning in games Lecture |
Peter Guba | How AI based on machine learning is being used in games today – both in gameplay and in the background. | |
| 12. | 15.12.2026 15:40–17:10 (S7) |
Team project consultations Lab |
Everyone | Will be scheduled individually. | |
| 13. | 21.-22.12. 2026 |
Merry Christmas | |||
| 14. | 28.-29.12.2026 | and Happy New Year | |||
| 15. | 4.1.2027 17:20–18:50 (S4) |
Group project presentations | Everyone | Students present the results of their group projects. | |
| 15. | 5.1.2027 15:40–17:10 (S7) |
Group project presentations | Everyone | Students present the results of their group projects. |
The Credit
In order to gain the credit you will be required to finish the first three coding assignments handed out during the course and complete the group project. The last coding assignment will not need to be handed in, but doing so will result in a decreased grade for the course.
Extra Links
Computational Complexity of Games and Puzzles
Acknowledgement

