Foundations of Game AI (Spring 2023)
Official course description:
Course info
Programme
Staff
Course semester
Exam
Abstract
Through this course, the students will learn about the aspects of game programming commonly involving artificial intelligence methods, which methods are used and how to implement them.Description
The course will go through a series of areas of application of artificial intelligence in games.Each area will be discussed and formalised as an AI problem. For each of these problems, the students will learn one or multiple algorithms that are used as a solution in modern game development and how to implement them.
The main areas of game that will be covered are: input and output representation, pre-processing, path finding, NPC behaviour and procedural content generation.
Formal prerequisites
Students must have experience with and be comfortable with programming, and be capable of independently implementing algorithms from descriptions. This corresponds to at least having passed an introductory programming course, and preferably also an intermediate-level programming course. The course will contain compulsory programming.
Intended learning outcomes
After the course, the student should be able to:
- Analyse a gameplay or game technology related problem in terms of an artificial intelligence problem
- Given a formalised AI problem identify the correct solutions discussed in class.
- Compare different AI solutions in terms of effectiveness and computational efficiency.
- Describe and implement the algorithms discussed in class.
- Combine multiple algorithms to create complex solutions (e.g. agent behaviours).
- Given a new problem description within the context of Game AI, theorise a potential solution using the algorithms discussed in class.
Learning activities
The course consists of lectures, with most lectures followed by a lab session, which involves independent programming.
In the lab session, the student will be presented with a practical explanation of the algorithms and will be supervised in their implementation.
During the oral examination, the students will be required to explain the problems and the algorithms discussed in class and implemented during the labs.
The default course language will be Python; however, programming language specific skills will not be part of the evaluation of the student's performance.
Mandatory activities
There will be a number of small mandatory hand-ins during the course, in which there students will be required to program and document a few artificial intelligence systems commonly employed in games.
Each mandatory activity will serve as a check point during the course and an opportunity to get feedback. The students will have one opportunity to resubmit in case of a missed deadline or failed activity.
The student will receive the grade NA (not approved) at the ordinary exam, if the mandatory activities are not approved and the student will use an exam attempt.
Course literature
The course literature will consist in a book and a few extra readings that will be provided by the course teacher.
Student Activity Budget
Estimated distribution of learning activities for the typical student- Preparation for lectures and exercises: 20%
- Lectures: 20%
- Exercises: 20%
- Assignments: 20%
- Exam with preparation: 20%
Ordinary exam
Exam type:B: Oral exam, External (7-point scale)
Exam variation:
B22: Oral exam with no time for preparation.
20 minutes
reexam
Exam type:B: Oral exam, External (7-point scale)
Exam variation:
B22: Oral exam with no time for preparation.
20 minutes
Time and date
Ordinary Exam Wed, 21 June 2023, 09:00 - 21:00Ordinary Exam Thu, 22 June 2023, 09:00 - 21:00
Ordinary Exam Fri, 23 June 2023, 09:00 - 21:00
Ordinary Exam Mon, 26 June 2023, 09:00 - 21:00
Reexam Tue, 15 Aug 2023, 14:15 - 21:00