Course numbers: CS 8803 / CS 4803 / LCC 8823 MR
Monday/Wednesday 3:05 - 4:25
Howey, room S204 (2nd floor, south side)
Instructor: Mark Riedl, email@example.com
234 Technology Square Research Building (TSRB)
Office Hours: Tuesday 1:00-5:00pm, and by appointment
The discipline of Game AI was launched with a justification of interactive entertainment (i.e., computer games) as a domain of study in AI when they posited that computer games could act as testbeds for achieving human-level intelligence in computers, leveraging the fidelity of their simulations of real world dynamics. There is an additional perspective on AI for games: increasing the engagement and enjoyment of the player. This perspective is consistent with the perspective of computer game developers. For them, AI is a tool in the arsenal of the game to be used in lieu of real people when no one is available for a given role.
Virtually all modern computer games make use of non-player characters--virtual avatars that are controlled by the computer instead of by human players. Examples of non-player characters (NPCs) include opponents, companions, shopkeepers, villains, and helpers. In most cases, the goal of the game developer is to create the "illusion of life", to instill enough emotion and personality into the characters to enable human players to suspend their disbelief in that NPC.
In this course we explore the use of sophisticated AI techniques to make NPCs more autonomous and believable. We will be exploring AI algorithms that have not necessarily been used in commercial games, but that inform the problem of character believability. These topics are also relevant to human-agent and human-robot interaction for domains in which the agent or robot must be more lifelike and personable.
The purpose of the course is to provide students with an in-depth understanding of the issues and principles underlying advanced AI techniques to be used in games. Topics of study may include:
- Autonomous behavior planning
- Computational models of emotion, personality, and culture
- Social simulation
- Natural language dialogue with virtual characters
- Procedural interactive story generation and improvisation
- Learning to imitate human actors
At the conclusion of this class, students should have an appreciation for the complexity of creating believable, lifelike characters in virtual worlds and the design considerations necessary to incorporate virtual agent technologies into computer game systems. Students should be proficient in the implementation of a number of artificial intelligence techniques that lend themselves to creating emotions, personality, natural language, and a host of other aspects of lifelike and believable virtual characters.
The course will be conducted in seminar format. Discussions will center on key AI research systems and publications. Students will lead discussions and lead discussions comparing and contrasting particular approaches as described in publications. Periodically, the instructor will lead in-class activities related to course material.
Course projects: A course project, broken into three phases, will require students to build a fully functional game system utilizing the knowledge from course material. The instructor will define the projects, but the students will have vast leeway in implementing the vision of the project. Students will be provided with a skeleton game engine. Students will work in small teams. Each phase of the project must be “defended” in class presentations and demos. At the end of the course, a complete working game must be demonstrated.
Presentation and discussion: Most classes will revolve around discussions of reading material, led by students assigned to cover the reading material. Students will present on the reading material and help lead the discussion. Students may be prompted to answer critical thinking questions about course materials.
Critical writing assignments: Students will write reports on each others' team projects, focusing on critical and constructive evaluation of the projects.
This term we will be using Piazza for class discussion. The system is highly catered to getting you help fast and efficiently from classmates, the TA, and myself. Rather than emailing questions to the teaching staff, I encourage you to post your questions on Piazza. If you have any problems or feedback for the developers, email firstname.lastname@example.org. Find our class page at: https://piazza.com/gatech/fall2012/cs8803aga
Coursework in artificial intelligence such as an introductory course in AI or a game AI course is required. System building, game development, or game design skills will be helpful but are not required. Students should be comfortable with building complete systems and working with unfamiliar codebases.
Grades will be determined by (1) class participation, (2) in-class presentations and discussion, (3) critical writing assignments, and (4) projects.
- Class participation: 10%
- Presentations and discussions: 20%
- Critical writing assignments: 20%
- Projects: 50%
All assignments and projects will be graded by letter grade.
I reserve the right to modify any of these plans as need be during the course of the class; however, I won't do anything too drastic, and you'll be informed as far in advance as possible.
I expect you to understand and follow the honor code.