Computer Science 380:
Artificial Intelligence and Computer Games
Spring 2009Mon/Wed, 10:00-11:25pm in Searles 224
In the same way that robotic soccer has become a popular test-bed for robotics research, computer games are becoming an increasingly utilized test-bed for the development of new techniques in certain areas of artificial intelligence (AI) research (e.g. knowledge representation; search; planning, reasoning, and learning under uncertainty). At the same time, AI techniques are becoming increasingly necessary in commercial computer games to provide interesting, realistic synthetic characters (entities, human or otherwise, that assist or oppose the game player). This course will explore that symbiosis by studying a subset of AI techniques that are relevant to the creation of synthetic characters in computer games, using these techniques to create AI-endowed synthetic characters (e.g. characters that can learn from their experience and thus not become predictable), and testing them in actual computer games.
Instructor: Stephen Majercik, 222 Searles, 725-3106, email@example.com
Office Hours: Mon, 1:00-2:00 pm; Thur, 1:30-2:30 pm, or by appointment
Class E-mail: firstname.lastname@example.org
Ahlquist Jr., J. B. and Novak, J., Game Development Essentials: Game Artificial Intelligence, Thomson/Delmar Learning, 2008.
Millington, I., Artificial Intelligence For Games, Elsevier/Morgan-Kaufmann, 2006.
Rabin, S., ed., AI Game Programming Wisdom 1, Charles River Media, 2002.
Rabin, S., ed., AI Game Programming Wisdom 2, Charles River Media, 2004.
Rabin, S., ed., AI Game Programming Wisdom 3, Charles River Media, 2006.
Rabin, S., ed., AI Game Programming Wisdom 4, Charles River Media, 2008.
Strong programming skills will be critical.
|Projects 1|| 80%
|Final Report and Presentation 2 || 10%
Class Contributions 3||10%|
1 For some of the projects I will meet with the individual or team who developed the project to discuss their submission and have them demonstrate its excellence.
2 Each BattleCode team will write a final report and make a presentation explaining the design of their team.
3 This includes the usual class participation, discussion of papers we will read, posts to the Blackboard Discussion Board, and bringing relevant articles, demos, web pages, news events, etc. to the
attention of the class.
Students are expected to follow Bowdoin's Computer Use Policy and its Academic Honor Code. In particular: All submitted materials must be original and may not be derived from other sources. It is permissible to use software and materials available from other sources (understanding that you get no credit for those sections where you have used the work of others) if: 1) You indicate explicitly which aspects of your assignment were taken from other sources and what those sources are. 2) The materials are freely and legally available. 3) The material was not created by a student at Bowdoin this year or in prior years.
Since this is an upper-level, project-based course with a significant group-work component, a higher degree of collaboration will be allowed. I will define this more specifically as the course unfolds, but, for example, giving code to or receiving code from someone not in your group is prohibited. Also, note that once you have finished the course, sharing your code with other students is prohibited. Any violation is grounds for me to initiate an action that would be filed with the Dean's office and come before the Judicial Board. If you have any questions about this policy, PLEASE do not hesitate to contact me. This is a zero-tolerance policy.
TENTATIVE COURSE OUTLINE:
||Introduction to Game AI||TBA
|2 and 3
||Get up to speed with BattleCode||TBA
|4, 5, 6, and 7
||Small BattleCode Projects||TBA
|8, 9, and 10||Intermediate BattleCode Projects||TBA|
|11, 12, and 13||Final Team Work ||TBA|
|Exam Week||Final Project Presentations and Competition||TBA|