FI:PA217 AI for Games - Course Information
PA217 Artificial Intelligence for Computer Games
Faculty of InformaticsSpring 2021
- Extent and Intensity
- 2/0/0. 2 credit(s) (plus extra credits for completion). Type of Completion: zk (examination).
- Teacher(s)
- doc. Mgr. Hana Rudová, Ph.D. (lecturer)
Mgr. Milan Doležal (assistant)
RNDr. David Kuťák (assistant) - Guaranteed by
- doc. Mgr. Hana Rudová, Ph.D.
Department of Computer Systems and Communications – Faculty of Informatics
Supplier department: Department of Computer Systems and Communications – Faculty of Informatics - Timetable
- Thu 14:00–15:50 Virtuální místnost
- Prerequisites
- PV255 Game Development I || SOUHLAS
Base knowledge of Unity is required. If PV255 not successfully passed, the student must demonstrate a representative set of projects solved in Unity. Based on that, course enrollment is confirmed or not. The projects should be sent to the teacher by the beginning of the semester (or in the first week of the semester). - Course Enrolment Limitations
- The course is also offered to the students of the fields other than those the course is directly associated with.
- fields of study / plans the course is directly associated with
- Image Processing and Analysis (programme FI, N-VIZ)
- Bioinformatics and systems biology (programme FI, N-UIZD)
- Computer Games Development (programme FI, N-VIZ_A)
- Computer Graphics and Visualisation (programme FI, N-VIZ_A)
- Computer Networks and Communications (programme FI, N-PSKB_A)
- Cybersecurity Management (programme FI, N-RSSS_A)
- Formal analysis of computer systems (programme FI, N-TEI)
- Graphic design (programme FI, N-VIZ)
- Graphic Design (programme FI, N-VIZ_A)
- Hardware Systems (programme FI, N-PSKB_A)
- Hardware systems (programme FI, N-PSKB)
- Image Processing and Analysis (programme FI, N-VIZ_A)
- Information security (programme FI, N-PSKB)
- Information Security (programme FI, N-PSKB_A)
- Quantum and Other Nonclassical Computational Models (programme FI, N-TEI)
- Computer graphics and visualisation (programme FI, N-VIZ)
- Computer Networks and Communications (programme FI, N-PSKB)
- Principles of programming languages (programme FI, N-TEI)
- Cybersecurity management (programme FI, N-RSSS)
- Services development management (programme FI, N-RSSS)
- Software Systems Development Management (programme FI, N-RSSS)
- Services Development Management (programme FI, N-RSSS_A)
- Software Systems Development Management (programme FI, N-RSSS_A)
- Software Systems (programme FI, N-PSKB_A)
- Software systems (programme FI, N-PSKB)
- Machine learning and artificial intelligence (programme FI, N-UIZD)
- Computer Games Development (programme FI, N-VIZ)
- Processing and analysis of large-scale data (programme FI, N-UIZD)
- Natural language processing (programme FI, N-UIZD)
- Course objectives
- The course provides information about methods from artificial intelligence used for the development of computer games. Students will learn about data structures and algorithms from artificial intelligence needed for movement, pathfinding, decision making for a single character, strategy and tactics. Students will have practical experience with AI programming.
- Learning outcomes
- The graduate will be able to apply proper algorithms and approaches from artificial intelligence in computer games.
The graduate will be aware of how to implement artificial intelligence algorithms in the game engine by coding in Unity. - Syllabus
- Introduction and history.
- Movement: kinematic movement, steering behaviors, combining steering behaviors.
- Search and pathfinding: introduction to search algorithms, A* data structures and heuristics, world representation, hierarchical pathfinding.
- Decision making for a single character: decision trees, state machines, behavior trees, fuzzy logic, Markov systems, goal-oriented behavior, rule-based systems, blackboard architectures, action execution.
- Strategy and tactics: tactical waypoints, tactical analyses, tactical pathfinding, coordinated action.
- Board games: minimaxing, transposition tables, Monte Carlo search.
- Implementation of AI algorithms in Unity.
- Literature
- Millington, I. Artificial intelligence for games. CRC Press, 3rd edition, 2019.
- Aversa, D., Kyaw, A. S., Peters, C., Unity Artificial Intelligence Programming. Packt Publishing, 4th edition, 2018.
- Yannakakis, G. N., Togelius, J., Artificial Intelligence and Games. Springer, 2018.
- Buckland, M., Programming Game AI by Example, Jones & Bartlett Learning, 2004.
- Teaching methods
- Standard lecture, no drills, three homeworks including AI programming in Unity. Activity in lectures is encouraged by getting bonus points.
For each lecture, a video is available in advance. A list of questions is also available. During the lecture, we will go together through the list of questions that basically constitute the lecture. - Assessment methods
- There is the following expected evaluation given as a sum of points for homeworks, online final exam, and bonus points for activities at lectures: A more than 90, B 89-80, C 79-70, D 69-60, E 59-50.
It is possible to get up to 75 points for the online final exam, it is obligatory to get at least 38 out of 75 points. The regular date of the exam may be oral or written, it will be clarified based on the number of enrolled students. Repair exam dates will be in the form of an oral online exam.
There are three homeworks during the semester. Each student is required to obtain 12 points at least from the total point of 25 points.
Also, each student can get 2 bonus points for activity in each lecture (1 point: student response to several easy questions and/or student questions to clarify some part of the lecture, student response to one harder question; 2 points: larger interaction), i.e., it is possible to about 24 bonus points for activity base on the number of lectures. - Language of instruction
- English
- Further Comments
- The course is taught annually.
- Teacher's information
- https://is.muni.cz/el/fi/jaro2021/PA217/index.qwarp
- Enrolment Statistics (Spring 2021, recent)
- Permalink: https://is.muni.cz/course/fi/spring2021/PA217