nl en

Modern Game AI Algorithms


Admission requirements

Not applicable.


In the last years, Game AI has left the nerd interest area and is now known as incubator for many of the most important AI algorithms of our time. Almost the same methods are employed for beating the world champion in Go as well as solving very complex Chemistry problems for the first time in an automated fashion. We have recently witnessed programs beating human professionals in StarCraft and MOBA games and it is one part of the course to learn what kind of algorithms were used to do it.
Game playing is one pillar of modern Game AI, the others are procedurally generating content (PCG) and modelling players, and of course all these 3 can be combined in various ways. Of course, these methods have ties also to other fields (e.g., behavior trees originated in robotics) and are not constrained to game uses. This renders the course a good introduction also to general AI.
Modelling players is connected to analysing game data, which can have different goals, e.g. to balance, to modify difficulty, to adapt content, or simply understand how the set of players is composed or what they do.

Course objectives

  • Getting an overview over and a fundamental understanding of the algorithms that drive Game AI and thus also AI progress, e.g. Monte Carlo Tree Search, Deep (Reinforcement) Learning, and behavior trees;

  • Learn how to employ these methods especially in the context of Procedural Content Generation and General Video Game Playing;

  • Learn how to use human feedback for generation and adaptation processes;

  • Obtain practical research experience, learn how to learn from experiments - be warned: the new methods as e.g. DQN are very powerful, but they require a lot of experience to be applied successfully.


The most recent timetable can be found at the Computer Science (MSc) student website.

You will find the timetables for all courses and degree programmes of Leiden University in the tool MyTimetable (login). Any teaching activities that you have sucessfully registered for in MyStudyMap will automatically be displayed in MyTimeTable. Any timetables that you add manually, will be saved and automatically displayed the next time you sign in.

MyTimetable allows you to integrate your timetable with your calendar apps such as Outlook, Google Calendar, Apple Calendar and other calendar apps on your smartphone. Any timetable changes will be automatically synced with your calendar. If you wish, you can also receive an email notification of the change. You can turn notifications on in ‘Settings’ (after login).

For more information, watch the video or go the the 'help-page' in MyTimetable. Please note: Joint Degree students Leiden/Delft have to merge their two different timetables into one. This video explains how to do this.

Mode of instruction

Lectures and practical sessions. The practicals (labs) are for starting work on the assignments and getting feedback, I highly recommend to use that in this way, if you defer everything and try to find out on your own later, you will need much more time.

Course load

Total hours of study: 168 hrs. (= 6 EC)
Lectures: 26:00 hrs.
Practicals: 26:00 hrs.
Assignments: 116:00 hrs.

Assessment method

  • Individual assignment 20% of final grade

  • 2 group work assignments: smaller group work (2-3 people, 30%), larger and longer free group project (around 5 people, 50% of final grade).

  • No exam

The grade will be based solely on the assignment performance, we will have around 3 assignments of increasing complexity, at least one of these is individual. For passing, students have to achieve a 5.5 minimum in each of these three assignments. The final grade is the weighted average.

Reading list


From the academic year 2022-2023 on every student has to register for courses with the new enrollment tool MyStudyMap. There are two registration periods per year: registration for the fall semester opens in July and registration for the spring semester opens in December. Please see this page for more information.

Please note that it is compulsory to both preregister and confirm your participation for every exam and retake. Not being registered for a course means that you are not allowed to participate in the final exam of the course. Confirming your exam participation is possible until ten days before the exam.

Extensive FAQ's on MyStudymap can be found here.


Lecturer: dr. M. Preuss


While the course touches on many algorithms, it is rather practically oriented. The most important questions are a) how does it work, and b) how can it be used in practice. Due to the availability of suitable software, group assignments shall mostly use Java or Python. Have a look at [IEEE CoG 2022 Competitions] ( to get an idea of what we deal with.