CMPM 146 (Game AI)
Summer 2025
COURSE INFORMATION
This class examines the use of Artificial Intelligence (AI) in games. It covers AI technologies for search, control, and learning, while exploring a wide variety of roles that AI has played and can play in games. We will examine the use of AI in multiple commercial games, while discussing the broader application of AI for character control, level design, difficulty adjustment, play testing, player tutorials, drama management, interactive narrative, novel experiences, and more.
The course requires 6 one-week long programming assignments (half done solo, half in teams of two), readings, a midterm, and a final project (done in teams of four). Through this work, students will gain familiarity with multiple AI paradigms and learn how selected AI techniques can be applied to improve game design, game development and game play.
My research focuses on the application of machine learning to build novel interactive experiences, like translating touch into lyric poetry, and on the creation of enabling technology, e.g., by extracting a rich model of affect from LLMs. I worked for 30 years in general theories of cognition, which was the original dream of AI; brain in a box, human level capabilities for planning, problem solving, and acting in a machine. I came to UCSC’s CM department because games are a natural customer for cognitive systems.
LEARNING OUTCOMES
By the end of this class students should be able to:
1. identify a core set ofAI techniques relevant to game development tasks,
2. implement and/or apply those techniques to address game development tasks,
3. creatively employ AI techniques to accomplish a novel purpose in games, and
4. explain how AI has been employed in a variety of existing games.
In addition, students will develop skills for:
5. remote collaboration on design and programming tasks,
6. defining a prototype that efficiently illustrates a novel purpose in games, and
7. reviewing and constructively commenting on projects pursued by other students.
More broadly, students will develop an appreciation for the breadth of possible AI applications in games, which will provide them with a novel, and valuable perspective on work in game studies and in the game industry.
PREREQUISITES/COREQUISITES
Students need a basic facility with programming and data structures to complete this class. As a result, we list Computer Science 101 (or equivalent) as a prerequisite.
Experience using Python is a plus, but not required. No prior exposure to AI is required.
Students with a design emphasis are welcome, and there will be opportunities to employ design skills in programming assignments and the final project.
REQUIRED MATERIALS, TEXTBOOKS AND TECHNOLOGY
This class has no textbook, but it makes extensive use of readings available on the web. The readings include blogs, videos of game play, conference talks, and primary research articles.
Students will need access to a computer capable of running a zoom session, ideally with a camera input to enhance interaction in the lab sessions.
COMMUNICATION
The course activities consist of lectures, a weekly 1-hour lab session attended by the instructor and TAs, office hours, a discussion forum, and homework assignments. All activities will be online.
Most lectures are asynchronous, some are synchronous. Students can absorb the asynchronous lectures at their own pace, but the content is necessary for completing the weekly assignments during the first half of the class. The introductory class, the midterm review session, the final project plan review session, guest lectures, and final project presentations are all synchronous.
The lab sessions are synchronous. They focus on:
• group discussion of topics suggested by class materials to deepen understanding of that content
• Q&A regarding readings and lecture content,
• assistance with weekly programming assignments, and
• collaboration and constructive review of work in progress
I will hold 4 office hours each week. I strongly encourage students to make use of office hours. It’s one of the things I enjoy most as a professor. Also, students who inhabit office hours routinely do better in the class.
The TAs are responsible for alternate programming assignments and will hold 9 office hours during “on” weeks (for assignments they grade), and 2 office hours on “off” weeks (while the other TA is “on”).
Students can contact me, or the TAs by email outside of office hours. It generally takes us a day to respond.
The class employs Canvas for course announcements and Q&A, and Discord as an unmonitored discussion forum.
ASSIGNMENTS & ASSESSMENT
Game AI is a project-oriented course. The class structure backchains from this goal. I introduce a variety of AI techniques in the first 6 weeks of the class (via lectures, readings, and programming assignments) so students can draw on that base to select and pursue a creative project in the last 3-4 weeks. The class requires:
• 6 one-week long programming assignments, half done solo and half in teams of two (30% of grade),
• ~ 14 readings with Q&A (10% of grade)
• a midterm (30% of grade),
• a final project done in teams of four (30% of grade)
Several programming assignments and additional readings offer opportunities for extra credit.
The asynchronous lectures present a great deal of information about AI paradigms, algorithms, and their use in games. Students will need to study this material to complete the weekly programming assignments.
The weekly programming assignments and final project are major course activities. The programming assignments are thought provoking, and require students to internalize, understand and implement/apply AI paradigms (addressing learning outcomes 1 and 2). The final project addresses the objective to creatively employ AI in games (learning outcome 6). The two-person programming assignments and the team project both develop collaboration skills (outcome 5).
The asynchronous lectures, synchronous lab sessions, and readings support this work. The lecture content and readings address the goals to communicate AI techniques and their use in existing games (outcomes 1 and 4). Lab discussions help students understand, implement, and creatively apply AI techniques in games (outcomes 2 and 3), hone their design/implementation prototype (outcome 6), and exercise constructive review and collaboration skills (outcome 7). The class emphases on teamwork, applications of AI, and remote interaction all mirror common game industry settings, and develop student skills requisite for job environments (learning outcome 5).
The programming assignments include a series of success tests and are graded against those standards. Program clarity (comments and style) play a role only when partial credit is required. The readings employ multiple choice and short answer questions.
Final project evaluation is based on a project plan, a short final writeup, and a c. 10-minute group presentation given in the final week of class. We provide a final project presentation template and urge students (strongly) to rehearse their talks. Chief evaluation criteria are the clarity of that presentation, the technical difficulty, and the technical achievement of the work. Peer assessments ofthose features contribute to a project’s score, as does its selection as a class top-3 favorite (and separately, a staff top-3 favorite). Student reviews of each other’s project plans and final presentations contribute to the reviewer’s final project grade.
Students will be able to look up their grade (in progress) on Canvas at any time. Students are welcome to discuss their grade and their work with the course staff at any time.
GRADING POLICY
The late policy for this class is designed to keep students (and their programming partners) from falling further behind as each weekly assignment is due and the next is released.
• Unexcused late work (any category of work) receives a 20% deduction, with an additional 20% deduction each week it is late
• No late work will be accepted in finals week
I will grant 1-day extensions only with prior discussion. Two-day extensions are exceedingly rare.
If you encounter health issues, emergencies, or similar difficulties, come talk to me. The late policy is there to prevent avoidable problems, not to create new ones.
We intend to provide one-week turnaround on programming assignments and two-week turn- around on the midterm so students will have up-to-date feedback on their work. We provide feedback on final project plans within one week.
STUDENT HOURS FOR COURSE
Students should be aware that Game AI is a hard course. The pace during the first 6 weeks is fast. The lectures communicate a great deal of material (augmented by the readings), while the programming assignments have taken c. 15 hours of work per student per week in the past. The lab sessions serve as a forum for discussing the current assignment and reducing that total. The pace decreases in the second half of the term to give students more time to collaborate on their final projects; the programming assignments end, the readings mostly end, and the lectures address topics of interest (mostly the AI in commercial games). A few synchronous lectures feature guest speakers. There is no final exam; that time is used for final project presentations.