CSE 348 - AI Game Programming
Spring 2010
Announcements
** Hall of Fame
- Project # 1. Robocode (arcade tank simulation)
Tournament winner
- 2012 Winner: Phang, Daniel W., Teoh, Sui Ying ("Teenage Mutant Ninja Turtles")
- 2012 Innovation Winner: Phang, Daniel W., Teoh, Sui Ying ("Teenage Mutant Ninja Turtles"). Compute minimum risk by taking into account distance from other bots and line of fire. As a result tanks have "emergent"behaviour rather than hard-coded one.
- 2010 Winner: Chris Boston, Kipp Hickmann, Michael Pollock
"The Enraged Armored Mob" (TEAM). Surround and destroy one enemy at the time. Detects classes of enemy bots and prioritize which to kills first. Sophisticated targeting algorithm.
- 2010 Innovation winner: Elizabeth Carter. Libby: uses Reinforcement Learning to learn best actionto choose among 12 different combinations of behaviors
- 2008 winner: Aperture Science (Hinkey, Christopher M.; Karneeb, Justin T.;
Gillespie, Kellen J).
- Project # 2. Pathfinding techniques
2012 Tournament winner: Mitchell, Matthew M., Pennenga, David J., Formica, John M.: implemented a heuristic metric combines Manhattan distance estimate to closest food source and the distance to the four corners of the map.
- Project # 3. Space flight simmulation
2012 Winner: Mitchell, Matthew M., Pennenga, David J., Formica, John M.: (again!) Bypassed all way points and went straight to the mothership. It came very close to docking with it.
- Project # 4. Wargus (real-time strategy game similar to Warcraft)
Tournament winner:
- 2012 Tournament winner: Mitchell, Matthew M., Pennenga, David J., Formica, John M.: Use farms to create choke points, advance resource collection, set patrols as resource gathering units move forward, build advance units: griphons and Mages
- 2010 Innovation winner: Zubair R. Chaudary, Kenneth H. Rentschler, Constantin A. Savtchenko, (sophisticated, automated map analysis)
- 2008 Tournament winner: Gryphon Society (Moukhine, N., Brander, G., and Wojciechowski, C.).
Description
Over the past 20 years computer games have gone through a remarkable
evolution in areas such as graphics and multi-player gaming. Another area where
some evolution has been made is in the quality of the computer opponent. Despite
this evolution, there is a big mismatch between what people in the game industry
refer to as the "AI" (roughly, the program controlling the computer opponent)
and what AI
actually is ("...technology can be controlled especially if it is
saturated with intelligence to watch over how it goes, to keep accounts, to
prevent errors, and to provide wisdom to each decision"- Allen
Newell, 1992). In this course, we will look at contemporary computer games,
explore techniques for implementing the AI (from the perspective of the game
industry) and study opportunities to use AI (from the
research perspective) to enhance the gaming experience. Here are some
of the topics that will be covered in the course:
* Pathfinding and Navigation Systems
* Group Movement, Tactics,
and Planning
* Applying Action Planning into Games
* Adaptive
Games
* FPS, Team-based RTS, and Turn-based games
* Machine
Scripting Language for Game Designers
* Player
Modeling
Prerequisites: CSE 327 or CSE 109.
Notes:
- It is strongly recommended that you take (before, at the same time, or at least afterwards)
CSE 327 (AI)
because some concepts learned in the AI course are closely related to topics
covered in this course.
- PROGRAMMING PROFICIENCY is required
because there are 4 programming projects in the course. If you do not
like to "hack" into some else's code, you should consider dropping this course.
Attendance
Attendance to class is required. I will initiate procedures to drop any student from class should he/she miss 3 classes (i.e., Section 3)
Trivia about Game AI
There is a technique for programming Game AI used in the game industry called "Kung-Fu Attack". It is
used not only in many combat games but also in FPS and RTS games.
Hint: check this clip from the immortal
Bruce Lee. Specifically the part where he fights the 20 or more opponents at the same time.
How is he able to beat so many opponents? (note: "because he is Bruce Lee!" is a plausible
answer but not the one I am looking for).
If you think you know the answer e-mail the instructor with subject "Kung-Fu Attack"
(e-mail must come from a Lehigh e-mail account, otherwise it will be ignored).
Reading Material
- Book: (recommended)
- Title: AI Game Programming
Wisdom series
- Author: Steve Rabin (Editor)
- Publisher: Charles River
Media
Communication
All written reports can be downloaded HERE
Topics
- Tuesday, January 17: Introduction
- Thursday, January 19: Finite State Machines
- Tuesday January 24: Robocode project presentation
- Thursday January 26: A star
- Tuesday January 31:
- Thursday February 2: Pathfinding in games
- Tuesday February 7: Due date Robocode project
- Thursday February 9: Presentation pathfinding project
- Tuesday February 14:
- Thursday February 16: Planning and games
- Tuesday February 21: HTN Planning and games
- Thursday February 23: First Person Shooters (Michael Caffrey, Shamus Field, Jon Hardy)
- Tuesday February 28: Reinforcement learning and FPS games
- Thursday March 1: Due date pathfinding project
- Spring Break: March 5-9
- Tuesday, March 13: Presentation Space Flight Simulation project
- Thursday March 15: Presentation by Large Animal Games
- Tuesday March 20: Individual NPC behavior (Daniel Phang, Sui Ying Teoh)
- Thursday March 22:
- Tuesday, March 27: Due date Space Flight Simmulation project; Turn-based games
- Tuesday, March 29: Presentation Wargus project
- Tuesday, April 3:
Squad tactics (John Formica, Matt Mitchell, David Pennenga)
- Thursday, April 5:
- Tuesday, April 10: Real-Time Strategy games (Luis Villegas, Dulmovits, Alexander J.)
- Thursday, April 12: Sports Games (Daniel Phillips, Dan Ruthrauff)
- Tuesday, April 17: Role Playing Games (Josh Westbrook, Ethan Harman)
- Thursday, April 19: Other potential applications of machine learning
- Tuesday, April 24: Due date Wargus project
- Thursday, April 26: Recap
Student's Work
This is a work-heavy course. The following activities will be performed by the students taking this
course:
- Oral presentations. Groups of 1 to 3 students will prepare and present in
class sections from the book series AI Game Programming
Wisdom. Guidelines:
- The students are required to meet with the instructor 1 week before
the day of the presentation. For
this meeting, the student must have completed his/her presentation using MS
Powerpoint. I expect to see around 40 slides per presentation.
- The presentation should go beyond the assigned readings. It should include other sources.
Consult the references that are cited in the chapter(s). Find your own sources.
- If possible, it will include demo software (the CDs that come with the book are a good starting
point)
- Prepare for a whole class presentation. Presentations not well prepared are easy to spot. Start
going through the material sooner rather than later.
- Written report. Each group will prepare a written report (around 15 pages) about the topics covered in their class presentation. This report will be distributed
electronically among classmates for reference material for the final exam together with the powerpoint
presentations (including the instructor).
Guidelines:
- Use own words. Do not copy-paste from sources
- due: the second class after your presentation
- be as clear as possible. This will be the main source for preparing the exam
- Class participation. Attendance to class is
required.
- Final exam. There will be a written exam about the topics
covered in the course. The exam will not be a problem solving
exam (e.g., write an algorithm to accomplish a certain task). Rather, the exam
will test the overall knowledge from the topics covered in the course (e.g.,
open questions about the material).
- Programming projects. We will implement four programing projects in groups of 2-3 as follows:
- Project 1: Robocode (arcade tank simulation) (teams). Here are the slides of the project, and here is the
web site.
- Project 2: Pathfinding techniques. Here is the description and here are the slides.
- Project 3: Space flight simmulation. Here is the software (rar compressed) and here are the slides.
- Project 4: Wargus (real-time strategy game similar to Warcraft)
- Here are the slides and a file
- Your task is to build the AI to defeat an opponent in two maps. The first map is called GoW-small2 (available in the distribution) and the second one will be a mistery map but not too different from GoW-small2.
- Here are descriptions for units, buildings and strategies.
Guidelines:
- Students will form groups of 2-3 persons. We will try to
maintain the groups throughout the semester.
- Projects should be e-mailed to the
assigned person the day before
the competition is held in class (11:59PM EST).
- Presentation: In class I will select randomly one member of each
group to make the presentation of the project.
Bring powerpoint slides and if possible install them before the class starts. Do not explain
what is the project about. Explain your solution.
- A printout of the code, together with a 5-page report must be turned
in at the beginning of the competition.
Percentage distribution: presentation (10%), Written report (5%),
4 programming projects (Projects 1 and 2: 15% each. Project 3: 10%. Project 4: 20%. Total: 60%), Final Exam (25%)
Last update: Tue. May 1, 17:00:33 EST 2012