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.
In this course, I will cover:
Term: Spring 2020
Location: HEB 2002
Date and Time: TR / 04:35PM-05:55PM
Instructor: Rogelio E. Cardona-Rivera
"C-" or better in EAE 6310 OR Permission of the Instructor.
This course will primarily be lecture-based, with in-class discussions around material, assignments, and projects and out-of-class assignments, projects, and reflections.
This class is designed around the following textbook:
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: