EAE 6900 - 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, Player Modeling, Interactive Storytelling, 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 2019

Location: M LI 1009

Date and Time: Th / 06:00PM-09:00PM

Instructor: Rogelio E. Cardona-Rivera

Website:

TBD

Syllabus:

Syllabus-S19

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, assignments, and projects and out-of-class assignments, projects, and reflections.

Textbook:

This class is designed around the following textbook:

  • Millington, Ian, and John Funge. Artificial Intelligence for Games (2nd Ed.). CRC Press, 2009.

The above textbook is suggested, but is not required. I have found it to be a useful reference book to own. In addition, other texts that will be referenced in this class are:

  • Yannakakis, Georgios N., and Julian Togelius. Artificial Intelligence and Games. Springer, 2018
  • Mark, D. "Behavioral Mathematics for Game AI. Charles River Media." (2009).

Elsewhere on the Web

Address

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