
Networked Artificial Intelligence - CSCI 524 (3 Units)
Objective - This course covers the design and implementation of artificial intelligence systems deployed as integral parts of networked games. The objective of the course is to prepare the student for research and development of AI technologies for interacting with and playing against large-scale, networked games.
Concepts - Topics include networked game communication architectures, protocol development, architecting networked game AI clients and services, various AI techniques including character following, knowledge representation and reasoning, dynamic play strategies, search, learning, and planning.
Prerequisite - CS-480 or CS-580 or equivalent introduction to computer graphics. It is assumed that the student is a strong programmer.
Lecture - 3hrs/week
Lab - 1hrs/week
Location - GamePipe Lab Tutor 321, 10am to noon Tuesdays and Thursdays
Textbooks
Steve Rabin “AI Game Programming Wisdom 2 (Game Development Series),” Charles River Media; 1 edition (December 9, 2003), ISBN 1584502894.
Steve Rabin “AI Game Programming Wisdom (with CD-ROM) (Game Development Series)”, Charles River Media; 1 edition (March 12, 2002), ISBN 1584500778.
Grading - The lectures in this course will discuss AI techniques that can be deployed real-time in networked games. Each student is expected to develop AI clients/services that interact with a networked game chosen in consultation with the instructor. That project runs continuously all semester, the code testing the student’s knowledge of the in-class lectures and reading material. The student’s networked game AI client work will be presented in class weekly the entire semester.
Course Outline
Week 1 Networked Game Communication Architectures
Project 1: Select a networked game your group will use all semester as the object of AI client developments and explorations.
Week 2 Communications Protocol Interoperability & Design
Project 2: Examine the communications protocol developed for the selected networked game and plan on how to extend that protocol for the additional messages that will come from the semesters’ AI clients.
Week 3 Initial Steps Character Following, Flocking, Formations & Coordinated Movement
Project 3: Develop a simple AI client that selects a character in the game and begins to follow and taunt that character. Add in a flock of characters that follow and taunt the live player.
Reading: http://www.aiwisdom.com/bytopic_flocking.html
Week 4 Knowledge Representation & Architectures
Project 4: Build an AI client that listens to game play for a networked game and have that client build an internal representation of the game world and game play. See if you can determine what is happening in the game purely from the packets, e.g. fighting is going on, character is hiding, character is laying in wait. Issue simple reports on game action.
Reading: http://www.aiwisdom.com/bytopic_architecture.html
Week 5 Autonomous Game Play & Interaction
Project 5: Develop an AI client that fights/plays against the live players in the networked game using the internal representation of the state of the game built for project 4. Use a finite state machine architecture for this.
Reading: http://www.aiwisdom.com/bytopic_statemachines.html
Week 6 Genetic Algorithms & Evolutionary Behaviors
Project 6: Continue developing the fight/play behavior of your AI client. Consider how to develop clients that can dynamically evolve and develop new tactics and behaviors. Consider developing an entire evolving architecture of characters that fight/play against the live characters in the networked game.
Reading: http://www.aiwisdom.com/bytopic_genetic.html
Week 7 Genetic Algorithms & Evolutionary Behaviors II
Project 7: Continue developing the fight/play behavior of your AI client system.
Week 8 Strategy/Tactical AI
Project 8: Pick one or more of the following and add into your AI client system - coordinated behavior, strategic decision-making, goal-directed behavior, pathfinding, engaging the enemy, terrain reasoning.
Reading:
http://www.aiwisdom.com/bytopic_strategy.html
http://www.aiwisdom.com/bytopic_astar.html
http://www.aiwisdom.com/bytopic_pathfinding.html
Week 9 Strategy/Tactical AI II
Project 9: Continue working on your AI client project.
Week 10 Learning
Project 10: Add learning into your networked game. Use the internal knowledge representation you constructed for the knowledge representation project.
Reading: http://www.aiwisdom.com/bytopic_learning.html
Week 11 Knowledge Representation & Architectures II
Project 11: Further develop the internal representation of game play and issue better analyses/reports of game action.
Week 12 Strategy/Tactical AI III & Knowledge Representation & Architectures
Project 12: Modify your AI client to search for enemy/other players in your internal game representation and issues reports on their activities.
Week 13 Planning
Project 13: Build on your previous work and utilize the internal representation of state of the game gleaned from the network to plan attacks/actions against the live players in the networked game. Suggest plans and ask the live player of your AI clients if they should be launched.
Reading: http://www.aiwisdom.com/bytopic_strategy.html
Week 14 Sensors
Project 14: Modify your client to simulate various real-world sensors in your AI clients so that your AI system can reason using imperfect information rather than perfect, complete models of the world.
Week 15 Advanced Topics - Highlights from recent papers on AI and Networked Games
Project 15: Continue development of your AI clients.
Week 16 - Final Presentations
Final Project Demo & Writeup
Grading
Each project (projects 1 15) is worth 5% of the class grade. The grading of each project will be on whether the project fulfills the requirements for that project. The grading will be either “fulfills the goals” or “does not fulfill the goals”. Students in this class will build and maintain a web site describing their group’s work, and a personal web site describing their work in particular, and each project will be accompanied by a live in-class demo. That web site must be maintained weekly to advise the professor on group and individual status. The Final Project Demo & Writeup is 25% of the class grade. The student will demonstrate their final networked game and provide a short write-up on it. The final source code and write-up will be provided to the instructor on CD-ROM and on the group web site. Daily class and lab attendance is required for full participation and for full credit for this course.