Game AI

Game AI, EAE 6900-012
Fall 2017
T/Th 2:00-3:20
Marriott Library Room 1735

This page provides a tentative overview and syllabus for the Fall, 2017 incarnation of EAE 6900-012. Consider it reasonably accurate but in draft form until this note is removed.

Purpose

The purpose of this course is to familiarize students with issues and techniques of Artificial Intelligence (AI) for computer games. For nearly 60 years, games have been a standard application area for artificial intelligence techniques. Indeed, some of the earliest AI techniques were designed to play games that humans excelled at: Checkers, Backgammon, Chess, and Go to name a few. While the more general AI goal of “human-level intelligence” has remained elusive, computer scientists have developed techniques that enable computers to play certain games at or beyond the level of the world’s best human players. In fact, many game designers intentionally “dumb down” their AI opponents using techniques such as “artificial stupidity” or “intelligent mistakes” to create game experiences that human players find challenging, rather than impossible.

In this course we will examine both traditional and modern AI techniques that are used in the design of computer games. We will look at techniques for game playing as well as the design of AI opponents tasked with creating “good 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 — all within the context of computer games.

Students will be given three or four multi-week homework assignments, or mini-projects, related to the lecture material. These assignments will require students to implement and/or evaluate some of the algorithms or techniques we are covering during course lectures. In addition, students will conduct a semester-long project. All students will additionally be evaluated with a midterm and a final exam.

Instructor

R. MIchael Young
young at eae.utah.edu
1-801-581-6946
Office hours: TBD
EAE Building (Building 72) Room 226
You are welcome to stop by my office at other times, but unless we schedule a time in advance, I’m likely to be booked up.

Teaching Assistant

David Winer
winer AT cs.utah.edu
Office hours: TBD

Homework

Students will work on all homework and exams individually unless otherwise specified in the assignment (see the above section on “Academic Integrity”). The assignments will either be posted in Canvas or distributed in class. If a student is unable to attend class, it is their responsibility to determine if an assignment was given.

Homework Grading

Homework submissions will be graded according to the criteria outlined in the assignment. Missing components or lateness will be penalized accordingly.

Late Homework

Completed assignments should be turned in by the beginning of the class period on the date they are due. For assignments for which email submission is requested, emails should be sent before the start of the class period on the date they are due. Late assignments will receive a five point deduction for every day late they are up to a maximum of five days. Any assignments six or more days late will be given a zero.

Exams

This course will have two exams: a midterm and a final. The midterm will be given in class on DATE. The final exam is scheduled from TIME TO TIME on DATE.

Course Project

Students will be evaluated using a semester-long group project on a topic of their choosing (approved by the instructor). Details about the project, grading desiderata, and deadlines can be found on the course webpage and will be distributed in class well in advance of any deadlines. Students are highly encouraged to work closely with the instructor on their project or to seek a separate faculty mentor. Periodically throughout the semester, students will be asked to present updates on their progress to the instructor.

Attendance

Attendance at class sessions is not required; however, unexcused absences that result in late assignments or missed announcements may negatively affect students’ grades. Documented medical excuses or other excused absences will not adversely affect grades. Conference travel or other scholarly duties discussed well in advance of a missed session may be excused at the discretion of the instructor.

Class Evaluations

Online class evaluations will be available for students to complete near the end of the semester. Students will receive an email message directing them to a website where they can login using their UID and complete evaluations. All evaluations are confidential; instructors will never know how any one student responded to any question.

Course Format

This will be a lecture course covering topics in Artificial Intelligence for computer games. Students will be given three homeworks throughout the semester. There will be a midterm and a final exam. Students will conduct a semester-long project implementing an AI technique of their choosing for a computer game of their choosing and will summarize their projects in an eight page paper as well as an in-class presentation.

Grading

Grades will be computed with a weighted average using the following weights.

Homeworks (3): 25%
Midterm exam: 20%
Final exam: 30%
Project: 25%

Course grades will be determined as follows:

Numeric Grade (x) Course Letter Grade
x ≥ 97.0 A+
93 ≤ x < 97 A
90 ≤ x < 93 A-
87 ≤ x < 90 B+
83 ≤ x < 87 B
80 ≤ x < 83 B-
77 ≤ x < 80 C+
73 ≤ x < 77 C
70 ≤ x < 73 C-
67 ≤ x < 70 D+
63 ≤ x < 67 D
60 ≤ x < 63 D-
0 ≤ x < 60 F

Schedule

The schedule is subject to change pending student interests and background. The official schedule will be kept on the course webpage and updated periodically to reflect changes as the semester progresses. It is the student’s responsibility to check the schedule regularly for changes. The instructor will communicate any changes in deadlines to students in a timely manner via email, Canvas and/or announcements in class. Note, it is the student’s responsibility to check their official utah.edu email address at least once daily and to come to class. Failure to do so does not excuse missed deadlines.

Lectures

dates topic
8/22, 24 Introduction, course overview, artificial stupidity, intelligent mistakes, models of game AI, data structures, representations, complexity, and constraints
8/29, 8/31, 9/5, 9/7 Movement: steering, jumping, coordinated movement, motor control
9/12, 9/14, 9/19, 9/21 Pathfinding: pathfinding graphs, Dijkstra, A*, hierarchical pathfinding, motion planning
9/26, 9/28, 10/3 Decision making: decision trees, state machines, behavior trees, goal- oriented behavior, scripting
10/5 No class. Instructor at the AI and Interactive Digital Entertainment Conference.
10/10, 10/12 No class. Spring Break.
10/17, 10/19 Continuing: Decision making: decision trees, state machines, behavior trees, goal- oriented behavior, scripting
10/22 Midterm
10/28, 10/31, 11/2, 11/7 Tactics and Strategy: waypoint tactics, tactical analyses, tactical pathfindin, coordinated action
11/7 Learning: decision tree learning
11/14, 11/16 Game Playing: game theory, minimax, transposition tables, opening books and set plays, turn-based strategy games
11/21, 11/23 No class. Instructor at Dagstuhl Workshop on Game AI. Thanksgiving Break.
11/28, 11/30 Continued: Game Playing: game theory, minimax, transposition tables, opening books and set plays, turn-based strategy games
12/5, 12/7 Project Presentations