2017 was an exciting year for artificial intelligence in games, seeing superhuman playing performance for Go, Chess, and Poker with clean and simple algorithms. However, playing-to-win is just one way AI can intersect with games. This graduate course explores a vastly broadened perspective on the use of AI in games and playable media: AI as adversary, actor, design assistant, designer, quality assurance tester, 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.
Class time will alternate between lecture and paper discussions while out-of-class time is split between reading and relevant AI programming exercises. During the last portion of the course, students will work in small teams to develop technical projects that either advance research or contribute to portfolios.
The course is open to all BSOE graduate students with previous algorithmic programming experience (e.g. you are able to implement Dijkstra’s algorithm). Previous exposure to Python programming will be beneficial but is not required. Previous exposure to academic AI (CMPS 140/240 or CMPM 146) is similarly beneficial but not required. CS graduate students may petition to use this course for Interactive Computing And Gaming breadth category.
Request a permission code via email or get one in person after lecture during the first week of class.
Adam M. Smith (firstname.lastname@example.org)
MWF 02:40PM-03:45PM, Soc Sci 1 145
Thursdays and Fridays from 1-2pm in E2-269 (office) or E2-256 (lab). We'll spill over from office to lab if the room fills up on a popular day, so you might have to check both locations.
Other times (possibly via videochat) available by appointment, email to ask.
30% Reading (written discussion response to papers, blog posts, talk videos, etc.)
30% Programming (pair programming with rotating partners)
40% Research Project (in teams of 1-3, grading emphasizes demo presentation)
Until finals week, late work is subject to a penalty of 10% per week applied to the maximum points available, not as a multiplier on the score. Additionally, there will be no late penalty for resubmissions of work that earned at least 20% of the available points by the original date. No late work will be accepted during finals week without prior arrangement.
[3 weeks] AI for playing games (searching for actions; policy representations; improvement by learning; modeling human players)
[3 weeks] AI for designing games (gameplay possibility analysis; content and rule synthesis; intelligent design support systems)
[2 weeks] Emerging opportunities for new applications (generative/adaptive game design; learning to test effectively; making AI/ML accessible to game design practitioners)
[2 weeks] Research project development and peer support
[1 week] Research project presentating and writeup
Detailed lecture plan TBA, publically-viewable slides will be linked below.
Monday, Jan 8 L01: Course Intro
Wednesday, Jan 10 L02: Programming Project Previews
Friday, Jan 12 L03: Industrial AI and Academic AI
Monday, Jan 15 (no class, MLK day)
Wednesday, Jan 17 L04: State and Action Graphs
Friday, Jan 19 L05: Discussion
Monday, Jan 22 L06: Inventing Tree Search
Wednesday, Jan 24 L07: Game AI Twitter / MCTS
Friday, Jan 26 L08: MCTS Discussion and P3 technical introduction
Monday, Jan 29 L09: Policy Representations
Wednesday, Jan 31 L10: Player Modeling
Friday, Feb 2 P4 technical introduction
Monday, Feb 5 L11: Guided Discussion
Wednesday, Feb 7 L12: Guest Lecture on MonsterCarlo
Friday, Feb 9 (cancelled, Adam sick)
Monday, Feb 12 Miscellaneous discussion and program grading
Wedesday, Feb 14 P5 technical introduction and Discussion
Friday, Feb 16 L13: Supporting Human Designers
Monday, Feb 19 (no class, President's Day)
Wednesday, Feb 21 Technical introduction to P6
Friday, Feb 23 L14: Final Project Introductions
Monday, Feb 26 Discussion
Wednesday, Feb 28 Discussion
Friday, Mar 2 Brainstorming for visitor
Monday, Mar 5 Fireside Chat with Harold Chaput (Electronic Arts)
Wednesday, Mar 7 Progress Presentation Format
Friday, Mar 9 First Progress Presentations
Monday, Mar 12 L15: Search in Continuous Spaces and First Progress Presentations
Wednesday, Mar 14 Second Progress Presentations
Friday, Mar 16 Second Progress Presentations
Tuesday, Mar 20 Final Presentations
The syllabus page shows a table-oriented view of the course schedule, and the basics of course grading. You can add any other comments, notes, or thoughts you have about the course structure, course policies or anything else.
To add some comments, click the "Edit" link at the top.