The course deals with two AI topics in the context of games: reinforcement learning and player modeling.|
In the context of player modeling at the end of the course the student will be able to:
- understand the basic concepts of player states, state assessment, and adaptivity in games
- design and implement player modeling approaches, like parameterized difficulty levels, simple assessment methods, and simple adaptivity techniques in games
- implement simple adaptive games
In the context of Reinforcement Learning at the end of the course the student will be able to
- understand and apply the basic concepts of Reinforcement Learning, like reward, value, policy and model.
- program and train a simple agent for simple turn based games
- specifically bandit agents, monte carlo tree search, training neural networks from data and Q-learning.
This course was formerly known as INFOMGMAG Games and agents. You can only do one of these courses.
Seven (or six) weekly assignments with programming, theory, and design tasks and presentation (e.g., in videos) (approximately 90% of grade), small weekly exercises (approximately 10% of the grade).
A repair test requires at least a 4 for the original test.
In this course, we look at ways in which AI techniques can be applied to games.
The course is divided into two parts.
In the first part of the course, we look at how AI techniques can help us enable positive and avoid negative experiences in games.
We discuss theoretical background about player states and experiences, and techniques to assess player state and to adapt game features.
In the second part, we look at how an AI can learn to play a turn-based game through reinforcement learning.
We discuss techniques such as bandit strategies, Monte Carlo tree search and neural networks. While these techniques are applicable to a wide range of problems, we focus in particular on how they can be applied to games.
Both parts of the course have a heavy focus on programming assignments and experimentation.
The implementation projects will be mostly written in Python and C# using Unity.
Please be aware that some of the projects are individual; it is expected that you have enough programming experience to complete these projects.
If you are an inexperienced programmer, you may need to spend extra time on this course.
Have a look at our introduction video on YouTube: https://youtu.be/kjy6WIGX9h0
The course will be delivered in (4-hour) sessions blending lectures, practical assignments, and Q&A, as well as weekly individual assignments.
- A selection of papers that will be linked during the course.