Spring 2011 CAP 4053 AI for Game Programming: Syllabus

MW 9:00AM - 10:30AM in ENG2 room 205

Instructor: Dr. Kenneth Stanley

Email: kstanley@cs.ucf.edu
Website: http://www.cs.ucf.edu/~kstanley
EPlex Research Group: http://eplex.cs.ucf.edu
Office: Harris 332

Office Hours (starting 1/10/11): Mondays 10:30am-11:30am and Tuesdays 3-4pm

TA: Ryan Hall
TA Office: The Cave (HEC 308)
TA Office Hours: MW 1:30-2:30pm
Ryan's email: ryan.hall@knights.ucf.edu

Link to Homework Assignments and Lectures

Texts

Programming Game AI by Example by Mat Buckland, Wordware Publishing, Inc. (2004)

AI Techniques for Game Programming by Mat Buckland, Course Technology PTR (2002)

Software and Source Code

Demo code for Programming Game AI by Example is available at http://www.wordware.com/files/ai. The "Buckland" files contain the code.

Any version of NEAT can be used for the class homework assignmentsts. A number of versions are available here: http://www.cs.ucf.edu/~kstanley/#software

The latest clean version written by myself is available here. An earlier version, neatVS.zip, is refitted for easy compiling on some platforms by Jared Johnson.

Overview

The video game industry is a major consumer of artificial intelligence (AI) technology. It is one of the few areas of computer science wherein regular consumers routinely interact with cutting edge techniques. Video game consumers are demanding AI innovation to make games more interesting and fun. The course introduces a broad range of AI techniques for games, contrasting recent cutting-edge approaches with more traditional ones. Both video games and turn-based games (i.e. board games) are covered from a variety of perspectives. Topics range from standard techniques such as scripting and path-finding to recent innovations like reinforcement learning and real-time neuroevolution. Industry needs and priorities are also addressed. The course focuses on practical application and hands-on experience, culminating in a final project. Thus, students will leave equipped to apply the latest approaches to real games.

Grading Policy

Three project-based homework assignments (60% of grade)

Two exams testing comprehensive knowledge (40% of grade)

Late assignments lose 10% the first day late, 40% the second, and are not accepted after that.

Cheating

All of the work that you turn in or present must be your own. Cheating, plagiarism, and any other form of academic dishonesty will be penalized. The minimum penalty for cheating will include:

Plagiarism and paraphrasing are forms of cheating. Plagiarism is the presentation of others' ideas and writings as your own. Paraphrasing is taking someone else's sentence, changing a few words, and then presenting it as your own. Both are unacceptable in this class.

Important Students may not turn in code from either of Mat Buckland's book with the exception of Mat Buckland's NEAT, engine code (i.e. code not specifying AI algorithms), or otherwise specified by Dr. Stanley. Turning in book code will be penalized as plagiarism. If you would like to use code from the book in an assignment, please speak to Dr. Stanley first.


Schedule

January 10 Class introduction, AI & the Video Game Industry

January 12 Game Engines for AI

January 17 No class: Martin Luther King Jr. Day

January 19 Mathematical Foundations

January 24 The Perception and Action Loop

January 26 Sensor Computations

January 31 Internal State, Finite State Machines, and Scripting

February 2 Pathfinding and Search

February 7 Advanced Pathfinding, Board Games and Game Tree Search

February 9 Neural Networks and Backpropagation

February 14 Evolutionary Computation

February 16 Evolutionary Computation 2

February 21 Neuroevolution

February 23 Midterm

February 28 NeuroEvolution of Augmenting Topologies (NEAT)

March 2 Real-time Neuroevolution and NeuroEvolving Robotic Operatives (NERO)

March 7 No class: Spring break

March 9 No class: Spring break

March 14 More NERO

March 16 Coevolution and multiagent learning

March 21 Project Discussion and Game Design Issues

March 23 Coordinate Systems, Perspectives, and Control; Mitigating Computational Complexity

March 28 Game proposals 1

March 30 Game proposals 2

April 4 Interactive Evolution and AI for Content Generation, AI in Multiplayer Games and Massive Multiplayer Online Worlds

April 6 Game Industry Perspectives

April 11 Galactic Arms Race : Online Multiplayer Automated Content Evolution from UCF

April 13 Artificial Life

April 18 Final Exam in Class

April 20 TBD

April 25 Presentations

Final: April 27th
7am-9:50am - Presentations Continue Complete Finals Schedule