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).
PDF
8. 26.11.2024
9:00
MCTS – Introduction
Lecture
Peter Guba In this lecture, we first go over how the latest development in Machine Learning AI are influencing the game industry. Then, 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 MCTS assignment and group project will also be introduced. Slides:

1, 2, 3, 4

Notes

Short Assignments

MCTS HW

8. 26.11.2024
12:20
Game AI design crash course
Lab
Peter Guba A look at solutions to interesting AI challenges in various games. Slides

Notes

9. 3.12.2024
9:00
MCTS Adjustments
Lecture
Peter Guba We will explore ways of adapting MCTS to games where the default version can’t be applied. Slides

Short Assignments

Notes

10. 10.12.2024
9:00
Game Theory Introduction
Lecture
Tomáš Dvořák A quick glimpse of Game Theory and its uses for RTS game combat scenarios

Slides pp. 1-49, up to “Alternate Alpha-Beta”

Slides
9. 10.12.2024
12:20
Game AI design crash course 2
Lab
Peter Guba A look some more interesting AI challenges and their solutions. Slides

Short Assignment

Notes

11. 17.12.2024
9:00
RTS AI
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.
12. 7.1.2024
12:20
Group Project Presentations Students present the results of their group projects.

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