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). |
|
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 |
|
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. | |
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+. | |
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 |
|
5. | 29.10.2024 9:00 |
Spatial awareness, Continuous pathfinding Lecture |
Adam Dingle | BSP trees, raycasting. Visibility graphs. Waypoint graphs. Navigation meshes, funnel algorithm. | |
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*. | |
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). |
|
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: |
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 |
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 |
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 |
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