Artificial Intelligence for Computer Games (Winter 2024/25)

Contents

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/c49DHBJ


Dates

Lectures + Labs: Tuesdays, 9:00 + 12:20, S10 + S11 (we start 1.10.2024)


Course Exam

There will be an oral examination done during the examination period. Find the list of topics for the oral examination in TBA.

Exam dates:

TBA

 

Schedule

Week Date Topic Lecturer Content Materials
1. 1.10.2024
9:00
AI for StarCraft: Brood War
Lecture
Jakub Gemrot Introduction lecture about the complexity of creating artificial player for StarCraft: Brood War
(non-DNN way).
PDF
2. 8.10.2024
9:00
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
PDF
2. 8.10.2024
12:20
Pac-Man Agent
Lab
David Šosvald Pac-Man homework
Solve the famous Pac-Man game using A* with a forward model!
Delivery deadline: 22.10.2024 end of day AOE
Deliver to: David Šosvald
HW
3. 15.10.2024
9:00
Local navigation
Lecture
Adam Dingle Reynolds steerings, combined behaviors. PDF
4. 22.10.2024
9:00
Velocity obstacles, Grid-based pathfinding
Lecture
Adam Dingle More steering behaviors.  Context steering. Velocity obstacles, reciprocal velocity obstacles. Grid-based pathfinding: JPS, JPS+. PDF
4. 22.10.2024
12:20
MetaCentrum
Lab
David Šosvald MetaCentrum homework
Introduction to grid computing and hyperparameter testing.
Jobs submission, tracking, logging, and results visualisation.
Code from lecture + Homework
Delivery deadline: 5.11.2024 end of day AOE
Deliver to: David Šosvald
PDF
5. 29.10.2024
9:00
Spatial awareness, Continuous pathfinding
Lecture
Adam Dingle BSP trees, raycasting. Visibility graphs.  Waypoint graphs. Navigation meshes, funnel algorithm. PDF
5.11.2024 Sports day Cancelled
6. 12.11.2024
9:00
More search algorithms
Lecture
Adam Dingle Goal bounding.  Bidirectional Dijkstra’s, bidirectional A*.  Lifelong planning A* (LPA*).  D* Lite.  Multipath adaptive A* (MPAA*). Rapidly-exploring random trees: RRT, RRT*. PDF
6. 12.11.2024
12:20
Path-finding
Lab
Adam Dingle Navigation/pathfinding homework
Write an agent that steers a spaceship to gather gems in a series of mazes of increasing difficulty.  I will publish the top student scores – will you be among them?
HW
7. 19.11.2024
9:00
F.E.A.R. AI, Classical Planning
Lecture
David Šosvald Let’s dive deep into the way how AI for the game F.E.A.R. was made and is still deemed to be
awesome even in contemporary days (some even says it’s the best FPS AI ever).
TBA
8. 26.11.2024
9:00
MCTS – Introduction
Lecture
Peter Guba In this lecture, we introduce the Monte Carlo Tree Search (MCTS) algorithm and look at some of its theoretical foundations, namely the Monte Carlo method and the Multi-armed Bandit problem. The MCTS assignment and group project will also be introduced. TBA
8. 26.11.2024
12:20
What Game AI development looks like
Lab
Peter Guba A look at AI implementations in various games. TBA
9. 3.12.2024
9:00
MCTS Enhancements
Lecture
Peter Guba We will explore ways of adapting MCTS to games where the default version can’t be applied. TBA
10. 10.12.2024
9:00
Game Theory Introuction
Lecture
Adam Dingle TBA TBA
9. 10.12.2024
12:20
TBA
Lab
TBA TBA TBA
11. 17.12.2024
9:00
RTS Combat
Lecture
Peter Guba An overview of the different components of RTS AI and ways of approaching them. TBA
24.12.2024 Merry Christmas
31.12.2024  and Happy New Year
12. 7.1.2024
9:00
Group Project Presentations Students present the results of their group projects. TBA
12. 7.1.2024
12:20
Group Project Presentations Students present the results of their group projects. TBA

The Credit

In order to gain the Credit you will be required to finish all the assignments handed out during the semester within their deadlines.


Extra Links

Computational Complexity of Games and Puzzles

AI and Games YouTube Channel


Acknowledgement

https://gamedev.cuni.cz/wp-content/uploads/2018/10/logolink_OP_VVV_hor_barva_eng.jpg