Artificial intelligence (AI) is widely regarded in the computer game industry as the area where the most development will be made in the coming decades. This course equips students for a career in the rapidly growing game industry. You will gain knowledge and skills in AI techniques that also apply to other domains, such as business planning and engineering.
The primary focus of this course is the use of AI techniques for generating efficient, intelligent behaviour in games. Additional attention is given to AI algorithms for improving game play experience. The programming language used in the course is Java.
Outline
Unit 1: Introduction to Game AI discusses the kind of AI used in game development, presents the model of game AI, and explains the AI engine structure.
Unit 2: Movement Algorithms and Steering Behaviour presents some kinematic movement algorithms. It discusses the problems related to the steering behaviour of objects and presents some solutions.
Unit 3: Coordinated Movement and Motor Control discusses the concepts related to coordinated movements and motor control mechanisms.
Unit 4: Pathfinding presents the main pathfinding algorithms used in game development (e.g., A*, Dijkstra).
Unit 5: Advanced Pathfinding presents advanced techniques for pathfinding in complex situations.
Unit 6: Decision-Making and Uncertainty presents different models used for implementing decision-making in games, such as decision trees and state machines. It also discusses the models for implementing knowledge uncertainty, such as fuzzy logic and Markov systems.
Unit 7: Advanced Decision-Making Systems discusses the implementation of advanced decision-making behaviour, such as goal-oriented behaviour, reasoning, and coordinating.
Unit 8: Introduction to Learning Mechanisms introduces board game theory and discusses the implementation of some key algorithms, such as minimax and negamax.
Unit 9: Random Number Generation and Minimaxing discusses the basic concepts of learning mechanisms and presents some algorithms for implementing action prediction, decision learning, and reinforcement learning.
Learning outcomes
Upon successful completion of this course, you will be able to
identify tasks that can be tackled using AI techniques.
select the appropriate AI technique for the problem under investigation.
design and implement efficient and robust AI algorithms for game tasks.
develop AI game engines.
evaluate performance and test the implemented algorithms.
Evaluation
To receive credit for COMP 452, you must achieve a course composite grade of at least D (50 percent), an average grade of at least 50 percent on the assignments, and a grade of at least 50 percent on the final examination. The weighting of the composite grade is as follows:
Activity
Weight
Assignment 1
20%
Assignment 2
20%
Assignment 3
30%
Final Examination
30%
Total
100%
The final examination for this course must be requested in advance and written under the supervision of an AU-approved exam invigilator. Invigilators include either ProctorU or an approved in-person invigilation centre that can accommodate online exams. Students are responsible for payment of any invigilation fees. Information on exam request deadlines, invigilators, and other exam-related questions, can be found at the Exams and grades section of the Calendar.
To learn more about assignments and examinations, please refer to Athabasca University’s online Calendar.
Materials
Millington, I. (2019). AI for games (3rd ed.). Taylor & Francis. (Print)
Other Materials
The remainder of the learning materials for COMP 452 are available online.
You are required to have a Java compiler or Java IDE installed on your computer.
Athabasca University reserves the right to amend course outlines occasionally and without notice. Courses offered by other delivery methods may vary from their individualized study counterparts.