Game AI

Course introduces a newly broadened perspective on the use of artificial intelligence (AI) in games and playable media. The course explores a number of distinct "AI as ..." roles: AI as adversary, actor, design assistant, designer, data analyst, player, tutor, etc. Combining elements from academic AI and machine learning with industry Game AI techniques, students will develop systems that control non-player characters (NPCs), assist designers in analyzing existing level designs and synthesizing new ones, and statistically model player behavior in a visually comprehensible way.

Students will respond to technical readings (occasionally in the form of videos and playable software), work in pairs to develop AI systems in the Python language, and present a final creative project that demonstrates a new instance of one of the "AI as ..." roles.

Prerequisite: CMPS 101. Previous experience with Python preferred but not required.

Forum: Piazza 

Textbook: No textbook is assigned.

Time and Place

Lecture: Merrill Acad 102 MWF 02:00PM-03:10PM

Lab Hours: BE-105 MW 11:00AM-12:00PM

Instructor Office Hours: E2-481 MW 12:30PM-01:30PM

TA Office Hours: E2-393 Tuesday 10:30AM-11:30AM; Thursday 02:00PM-03:00PM

Schedule

Week 1

Course administration and Overview (Lecture 1)

R1: Can you read me? [Assigned 3/30/2015]

R1/R2/P1 Discussion (Lecture 2)

P1: Dijkstra’s in a Dungeon [Assigned 4/1/2015]

R2: Turing Tantrums [Assigned 4/1/2015]

Game AI, Academic AI, and AI in Games (Lecture 3)

R3: Amit Patel's Introduction to A* [Assigned 4/3/2015]

Week 2

Tree Search (Lecture 4)

R4: MCTS [Assigned 4/6/2015]

P2: Dots and Boxes Bots [Assigned 4/6/2015]

General Game Playing (Lecture 5)

R5: GGP Competition [Assigned 4/8/2015]

Constraint Solving (Lecture 6)

R6: Dungeon Feng Shui [Assigned 4/10/2015]

Week 3

Revisiting the Photoshop of AI Debate (Lecture 7)

R7: Players Want Smart AI [Assigned 4/13/2015]

World Representations 1 (Lecture 8)

P3: Navmesh Pathfinding [Assigned 4/15/2015]

R8: Fixing Pathfinding once and For All (orly?) [Assigned 4/15/2015]

Believable Robot Characters - Talk by Reid Simmons Thusday 4/16/2015 3:00 pm - Simularium, Room 180, E2

World Representations 2 (Lecture 9)

R9: JPS+ and Goal Bounding [Assigned 4/18/2015]

Week 4

Reactive Control with Behavior Trees (Lecture 10)

R10: The nature of autonomous agents [Assigned 4/20/2015]

Reactive Control with Finite State Machines (Lecture 11)

P4: Micro-RTS unit controller [Assigned 4/22/2015]

R11 skipped, but please enjoy Playing to Lose

A Behavior Language (Lecture 12)

R12: Domain Specific Languages in the Time of FSMs [Assigned 4/24/2015]

Week 5

Goal Oriented Action Planning (GOAP) (Lecture 13)

R13: GOAP [Assigned 4/27/2015]

Planning with a Declarative Knowledge Representation (Lecture 14)

P5: Mini-Minecraft crafting NPC controller [Assigned 4/29/2015]

Advanced Planning (Lecture 15)

R15: Playtesting Without Players [Assigned 5/1/2015]

Week 6

R16: BIPED [Assigned 5/4/2015]

AI as Design Assistant (Lecture 16)

Analysis via Simulating Restricted Play (Lecture 17)

R17: Early Warning Design [Assigned 5/6/2015]

P6: Reachability Analysis Visualization [Assigned 5/8/2015]

Mixed-Initiative Design Tools (Lecture 18)

Week 7

R19: Quantifying Over Play [Assigned 5/11/2015]

AI-based Content Generation (Lecture 19)

R20: Progression Generation [Assigned 5/13/2015]

More PCG (Lecture 20)

P7: Constraint-based Level Generation [Assigned 5/15/2015]

R21: ASP4PCG [Assigned 5/15/2015]

Week 8

Class cancelled (Lecture 22)

R22: EMPath [Assigned 5/18/2015]

Creative Projects (Lecture 23)

R23: AI-Based Game Design Patterns [Assigned 5/22/2015]

Creative Project Proposals Assigned [Due 5/27/2015]

Inventing Games (Lecture 24)

Week 9

Prototyping Creative Projects (Lecture 25)

Player Modeling (Lecture 26)

Creative: project proposals checked off

R24: An Inclusive Taxonomy of Player Modeling [Assigned 5/29/2015]

Week 10

Recognition (Lecture 27)

Creative Project Project Previews

Whole-Class Recap (Lecture 28)

Creative: continuing work

Finals

Closing Words Presentation

Project Description Submission Form

Teamwork Survey

DRC Statement

If you qualify for classroom accommodations because of a disability, please get an Accommodation Authorization from the Disability Resource Center (DRC) and submit it to the instructor in person outside of class (e.g., office hours) within the first two weeks of the quarter. Contact DRC at 459-2089 (voice), 459-4806 (TTY), or http://drc.ucsc.edu for more information on the requirements and/or process. 

Instructors and Assistants