Artificial Intelligence for Computer Games (Winter 2023/24)

Contents

This course is oriented at creation of artificial players of computer games. We will focus especially on games, for which a forward model can be created and thus a search-based methods of artificial intelligence could be used.  We will be dealing neither with navigation and path-finding (that is covered by NAIL068) nor neural networks and evolution algorithms (as they are taught elsewhere). Instead, we will be connecting on Artificial Intelligence I (NAIL069) with search-based methods suitable for games, e.g., Monte Carlo Tree Search, and with various suboptimal heuristic approaches for modeling game trees in video games.


News

Follow the appropriate channel at Gamedev Discord!
https://discord.gg/c49DHBJ


Dates

Lectures + Labs: Thursdays, 8:10, SW1 (we start 5.10.2023)


Course Exam

There will be an oral examination done during the examination period. Find the list of topics for the oral examination in this document. (Might get updated…)

Exam dates:

To be decided, but all three dates will most likely be in January.

 

Schedule

No. Date Topic Lecturer Content Materials
1. 5.10.2023 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. 12.10.2023 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
3. 19.10.2023 A* Pong Agent
Lab
David Šosvald PONG homework
Forward model implementation and AI player abstraction (during the lab); A*-based agent for the game (HW).
Homework resources: Pong v1, Pong v2
Delivery deadline: 17.12.2023 23:59 CEST
Deliver to: David Šosvald
HW instructions
4. 26.10.2023 F.E.A.R. AI
Lecture
Jakub Gemrot 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).
TBD
2.11.2023 Sport’s day   Cancelled
5. 9.11.2023 MetaCentrum I
Lab
David Šosvald Introduction to grid computing and hyperparameter testing.
We will use a simple problem to demostrate hyperparameter optimization using the computing infrastructure of MetaCentrum.
Jobs submission and tracking, logging, results visualisation.
Code from lecture: A* maze on MetaCentrum
PDF
6. 16.11.2023 MetaCentrum II
Lab
David Šosvald MetaCentrum Homework
Try your own MetaCentrum experiments with Super Mario!
Delivery deadline: 14.1.2024 23:59 CEST
Deliver to: David Šosvald
HW instructions
7. 23.11.2023 MCTS – Introduction
Lecture
Jakub Gemrot In this lecture, we introduce the Monte Carlo Tree Search algorithm and look at some of its theoretical foundations, namely the Monte Carlo method and the Multi-armed Bandit problem.

Chess Homework – Part I – MCTS Node
Delivery deadline: 29.11.2023 23:59 CEST
Deliver to: Peter Guba

Presentations:

  1. Lecture
  2. Assignment
  3. Short Assignment

Notes:

  1. Lecture
  2. Assignment
  3. Short Assignment
8. 30.11.2023 MCTS Enhancements – Part I
Lecture
Jakub Gemrot We will be going through various MCTS modifications / improvements.

Chess Homework – Part II – MCTS Selection
Delivery deadline: 6.12.2023 23:59 CEST
Deliver to: Peter Guba

Presentations:

  1. Lecture
  2. Short Assignment

Notes:

  1. Lecture
  2. Short Assignment
9. 7.12.2023 MCTS Enhancements – Part II
Lecture
Jakub Gemrot We will be going through some more MCTS modifications / improvements.

Chess Homework – Part III – MCTS Expansion
Delivery deadline: 13.12.2023 23:59 CEST
Deliver to: Peter Guba

Presentations:

  1. Lecture
  2. Short Assignment

Notes:

  1. Lecture
  2. Short Assignment
10. 14.12.2022 Game Theory Introuction
Lecture
Jakub Gemrot We will do a quick intro to Game Theory in order to be able to talk about RTS combat which falls to the category of simultaneous games.

Chess Homework – Part IV – MCTS Simulation
Delivery deadline: 20.12.2023 23:59 CEST
Deliver to: Peter Guba

Presentations:

  1. Lecture, 1st half roughly
  2. Short Assignment

Notes:

  1. Short Assignment
11. 21.12.2022 RTS Combat
Lecture
Jakub Gemrot We will pinpoint the problem of simultaneous moves and propose way how to address that while still be able
to you “regular recursive iterative deepening” min-max / alpha-beta. We will review basic terms from
game theory along the way to ground the problem theoretically.Chess Homework – Part V – MCTS Backpropagation
Delivery deadline: 3.1.2024 23:59 CEST
Deliver to: Peter Guba
Presentations:

  1. Same slides as previous lecture, 2nd part
  2. Short Assignment

Notes:

  1. Short Assignment
12. 4.1.2024 Total War: Attile
Lecture
Jakub Gemrot We finish with videos and talks on AI in Total War series.

Chess Homework – Final Part – MCTS Player
Delivery deadline: 29.2.2024 23:59 CEST
Deliver to: Peter Guba

Presentations:

  1. Lecture
  2. Short Assignment

Notes:

  1. Short Assignment

The Credit

In order to gain the Credit you will be required to finish all the assignments handed out during the semester. There are no strict deadlines, however, you need to have the Credit before attending the exam.


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