EAE 6610 - Artificial Intelligence for Games

Overview

In this course we will examine both traditional and modern artificial intelligence (AI) techniques that are used in the design of computer games. We will look for techniques for game playing as well as the design of AI agents tasked with creating targeted experiences for players. The course will begin with a discussion of AI in general, as well as common algorithms, data structures, and representations. From there, we will cover topics in character movement, pathfinding, decision making, strategy, tactics, and learning — all within the context of computer game design.

There is a vast array of artificial intelligence techniques available for the design of computer games. This course conceptually groups them into two broad categories: Traditional and Modern. Traditional techniques are ones that most game AI engineers are expected to intuitively know and are themselves classified into two types: Character AI (encompassing animation, physics, movement, and decision making) and Group AI (encompassing group dynamics, behavior, and strategy). Modern techniques are ones that are receiving a lot of attention in the modern games industry. While there is no systematic classification of modern techniques, I have selected classes of techniques that students, practitioners, and academics are actively interested in. These are: Procedural Content Generation and Learning. We will also cover select cases from the industry that I feel are landmark developments in the field.

Objectives

In this course, I will cover:

  • Traditional artificial intelligence techniques within computer game design and development, which focus on non-player character movement and behavior.
  • Modern artificial intelligence techniques within computer game design and development of interest to students, practitioners, and academics.
  • How to evaluate computer game artificial intelligence techniques in terms of runtime performance and overall effect to the player’s experience.
  • Important and developing industry cases for the development of artificial intelligence techniques in computer games.

Expected Learning Outcomes

  1. Develop software code for a range of artificial intelligence techniques used in traditional and modern computer games.
  2. Describe the performance of artificial intelligence techniques used in traditional and modern computer games.
  3. Choose, develop, explain, and defend the use of particular artificial intelligence techniques for solving particular game design problems.
  4. Evaluate the relative benefits and drawbacks of different artificial intelligence techniques that can be used to solve computer game design problems.
  5. Identify and examine state-of-the-art artificial intelligence techniques from the industry and academia to solve computer game design problems.

Class Details

Term: Spring 2022

Location: GC 3660

Date and Time: TR / 04:35PM-05:55PM

Instructor: Rogelio E. Cardona-Rivera

Website:

TBD

Syllabus:

Syllabus-S22

Prerequisites:

"C-" or better in EAE 6310 OR Permission of the Instructor.

Format:

This course will primarily be lecture-based, with in-class discussions around material, and out-of-class assignments and projects.

Textbook:

This class is designed around the following textbook:

  • Millington, Ian. Artificial Intelligence for Games (3rd Ed.). CRC Press, 2019.

I have found it to be a useful reference book to own.

Elsewhere on the Web

Address

Merrill Engineering Building, #3153
50 Central Campus Drive
Salt Lake City, UT, 84112, USA