This lecture aims to present game-related Artificial Intelligence from three perspectives: solving games, procedural content generation, and in-game AIs. I would like to show how many diverse roles AI can play when applied to the games domain, both from research and industry perspective.
Also, this will be a perfect opportunity to clash theory with practice and see how many unpredicted situations happen when you program an entity to behave "intelligently". The lab exercises will mainly require implementing various agents aimed to solve small-to-medium-sized problems. Finally, group projects will be an opportunity to develop something bigger.
The course will be split between presenting recent developments in AI research branch, and methods that are more commonly used in video games, including more advanced versions of standard AI techniques like A* or minmax.
We will cover recent advancements in Computation Intelligence methods, their successful applications, and their limitations. This part of the program is based on a selection of publications from the leading AI conferences (AAAI, IJCAI, GECCO) and smaller venues closely related to this topic (MCS IJCAI Workshop, COG).
On the other hand, we will talk about some basic techniques omitted during the AI course, which, due to their simplicity and reliability, are the core of nearly every video game AI.
#### Example project topics:
- implementing AI agent for one of the competitions hosted by AI conferences, e.g. [COG](http://ieee-cog.org/2020/competitions_conference), [CEC](https://wcci2020.org/competitions/)
- developing PCG system that will produce interesting (presumably game-related) objects, e.g., maps, levels, items, sprites etc.
- performing an extensive study of a chosen AI method on a number of different testbeds, e.g., using problems available at [CodinGame](https://www.codingame.com/) platform
- trying to reproduce results of chosen game AI-related publication
- or other proposed by the students
Projects are expected to be done in 2-3 person groups by default. High-quality projects can be a basis for a bachelor/engineer or master thesis.
In case of remote teaching, lectures will be carried out using platforms such as Discord/Google Hangouts in an interactive form( and probably also recorded). Presenting tasks during the laboratory will require student to "personally" show his working solution via the screen share mechanism. The form of the final exam depends on many factors and will be determined later. General rules of the course remain unchanged.