CSE 497 - Topics on AI and Computer Game Programming
** Announcements will be made here
** Hall of Fame
- Winners Project 1:
- Tournament: Adam Balgach, Tom Gianos. Bot: Yankees
- Innovation: Tom Shaible, Don Delorenzo. For: "meta-level" FSM design of code.
- Winners Project 2:
- Tournament: Adam Balgach, Tom Gianos. Team: Yankees (continuing champions!)
- Innovation: Swan, Brigette L, Vasta, Megan E., and Khouri, Rami H. For:
a number of interesting ideas:
predicting next place for firing, distributing
battlefield, training examples.
- Winners Project 3:
- Project # 3 was no tournament. Therefore no awards were given.
So the team of Adam Balgach, Tom Gianos continue reining for
2 more weeks.
- Winners Project 4:
- Tournament: Adam Balgach, Tom Gianos. Team: Yankees (unbeatable!)
- Winners Project 5:
- Tournament: Tom Schaible, Don Delorenzo. Team: DDTS (new champions!)
- Winners Project 6:
- Tournament: Owen Cummings, Dayne Mickelson Team: Tony Wonder (new champions!)
- Innovation: Tom Shaible, Don Delorenzo. For: decision trees and reinforcement learning
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,
* Applying Action Planning into Games
* FPS, Team-based RTS, and Turn-based games
Scripting Language for Game Designers
This is an experimental course that will require a substantial effort
from the students (see Student's Work below).
Topics covered so far/to be covered
- Aug. 29: short intro, course mechanics
- Aug. 31: Game AI versus AI
- Sept. 2: State Machines Ch. 5.1 and 5.2
- Sept. 5: Project 1 presentation (Robocode)
- Sept. 7: History of Computer Games
- Sept. 9: AI Planning
- Sept. 12: Research on AI & Games at Lehigh and
HTN Planning for controlling team of FPS bots
- Sept. 14: Reinforcement Learning and RTS games
- Sept. 16: Project 1 due
- Sept. 19: Group movement, tactics and planning Ch. 3.3, 3.4 (Lease, Eric C.)
- Sept. 21: Scripting Ch. 9.1, 9.2, 9.3 (Haines, Nicholas B)
- Sept. 23: Group movement, tactics and planning
and part 2 Ch. 3.1, 3.2 (Martin, Jonathan E.)
- Sept. 26: FPS, RTS and Strategy.
and part 2. Ch. 7.1, 7.2 (Shipper, Jay M)
- Sept. 28: FPS, RTS and Strategy Ch. 7.4, 7.5 (Kuchar, Russell P)
- Sept. 30: Project 2 due (Robocode - teams)
- Oct. 3: Project 3 presentation,
scripts and History of RTS games
- Oct. 5: FPS, RTS and Strategy. Ch. 7.6, 7.8 (Khouri, Rami H.)
- Oct. 7: Neural networks and RTS games: Ch. 7.7 (Vasta, Megan E)
- Oct 10: Pacing break.
- Oct. 12: A* algorithm (Hector Munoz-Avila)
- Oct. 14: Project 3 due. Presentation Project 4. (Wargus - tournament)
- Oct. 21: Pathfinding Ch. 2.1 (Bader, Daniel A.)
- Oct. 24: Pathfinding Ch. 2.2 (Gianos, Thomas J.)
- Oct. 26: Pathfinding Ch. 2.3, 2.4 (Cummings, Owen P.)
- Oct. 27: Pathfinding Ch. 2.5, 2.6 (Schaible, Thomas A)
- Oct. 28: Project 4 due
- Oct. 31: Project 5 presentation (Unreal tournament)
- Nov. 2: Pathfinding part 1 and part 2 Ch. 2.7, 2.8(DeLorenzo, Donald P.)
- Nov. 4: Racing and Sports. Ch. 8.1, 8.2, 8.3 (Balgach, Adam S.)
- Nov. 7: Racing and Sports. Ch. 8.4, 8.5 (Mickelson, Dayne T)
- Nov. 9: Machine Learning: a quick look (Hector Munoz-Avila)
- Nov. 11: Learning and user modeling Ch. 10.1 (Swan, Brigette L.)
- Nov. 14: Turn-based games (Hector Munoz-Avila)
- Nov. 16: Game Theory: deterministic games (Hector Munoz-Avila)
- Nov 18: Project 5 due
- Nov 21: Project 6 presentation (Poker Academy)
- Nov 23-25: Thanksgiving break
- Nov. 28: Game Theory: chance games (Hector Munoz-Avila)
- Nov. 30: Learning and decision trees Ch. 10.2 (Storey, Jeffrey A.)
- Dec. 2: lLearning and recognition Ch. 10.3 and 10.5 (Kramer, Christopher M.)
- Dec 5: Games Design (Shankar, Peter S.)
- Dec 7: Project 6 due
- **Dec. 9: Course recap
- Title: AI Game Programming
- Author: Steve Rabin (Editor)
- ISBN: 1584502894
- Publisher: Charles River
All announcements, handouts, etc. will be posted in this web site:
The following activities will be performed by the students taking this
- Oral presentations. Each student will prepare and present in
class sections from the book AI Game Programming
Wisdom 2. Depending on the course enrollment, this may involve one or
more class presentations. 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
- 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
- Prepare for a 50 minute presentation. Presentations not well prepared are easy to spot. Start
going through the material sooner rather than later.
- You must e-mail the instructor 5-6 questions about
the material covered in the presentation. Please e-mail these
questions before the presentation. If possible, the day before.
- Class participation. Attendance to class is
required. Homework assignments will be given on regular basis.
- 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). Here is the list of
current questions. I strongly suggets that
you take note of these questions shortly after the corresponding
class. We will not review these questions.
- Programming projects. We will implement various programing projects, as follows:
- Project 1: Robocode - Tournament.
- Project 2: Robocode (teams)
- Project 3: Wargus - versus Machine
- Project 4: Wargus - Tournament
- Project 5: Unreal Tournament - Tournament
- Project 6: Poker - Tournament
- The software and the documentation should be e-mailed to Jonathan E. Martin , the day before the due date (11:59PM EST)
at the latest.
- Presentation: In class I will select randomly one member of the 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.
- Questions about the projects can be made when the class starts.
Percentage distribution: presentation (15%), 5 first projects (10% each),
6th project (20%), Final Exam (15%)
Last update: Fri Dec 9 2:45:33 EST 2005