ICS logo

ICS 462, Artificial Intelligence for Games

Course Information

Instructor information


David N. Chin
Office Hours:
Tuesdays 2:30-4:30 pm and Fridays 9:00-11:00 am and by appointment
Office Phone:

Teaching Assistant

Simon Engler
POST 303-4
Office Hours:
Thursdays 2:30-4:30 pm and by appointment


Artificial Intelligence is essential to the suspension of belief in a good video game. For example, the GameSpot review of Crysis 2 said, "Poor AI detracts from the excitement" and the IGN review of Vampire: The Masquerade said, "Unfortunately, the AI has the intelligence of a doorknob sometimes, which keeps the shine off an otherwise delightful and multilayered experience." This course will introduce students to the specific techniques used to simulate artificial intelligence in computer and video games.

From the catalog: Techniques to stimulate intelligence in video games: movement, pathfinding with A* search, decision/ behavior trees, state machines, machine learning, tactics. Extend games with your own AI implementations; experience "shootout" contests for the best AI algorithm/implementation.


212 and (314 or 361) and (PHYS 151 or PHYS 170).

Student Learning Objectives

  1. be able to extend an existing game program by adding AI code
  2. be able to program goal-oriented movement of non-player characters
  3. be able to write code to find near-optimal paths using A* search and other techniques
  4. be able to write decision making code utilizing decision trees, state machines, fuzzy logic, production systems, and/or scripts
  5. understand and apply machine learning algorithms to games
  6. experience AI program competitions
  7. Students can apply knowledge of computing and mathematics appropriate to the discipline
  8. Students can analyze a problem and identify and define the computing requirements appropriate to its solution
  9. Students can design, implement, and evaluate a computer-based system, process, component, or program to meet desired needs
  10. Students can function effectively on teams to accomplish a common goal
  11. Students can communicate effectively with a range of audiences
  12. Students can use current techniques, skills, and tools necessary for computing practice


Grading Policy

The course grade will be based 25% on assignments, 5% on quizzes, 15% on the Midterm exam, 25% on the Final exam, 20% on the Final Project AI Shootout scores (team score), and 10% on the Final Project report (each team member writes his/her own report, no sharing). There will be 5 programming assignments, which will build toward the Shootout. The grading will be on an absolute scale; if you get 60% or better, then you will get at least a C. Above passing, the following scale will be used. This scale may be adjusted so that thresholds are lowered, but I will never raise the thresholds (not even if it means the whole class will get As, which would make me very happy as it would mean that every student has mastered the material).

As=85-100%, Bs=70-85%, Cs=55-70% (60% for C), Ds=40-55%.


The take-home quizzes will be graded as pass (100% credit) or fail (0 credit) with a pass given if you show a reasonable effort toward the solution (so you do not have to get the correct solution for a pass). Quizzes can be turned in either electronically by uploading them to Laulima (preferred - scans and photos are fine) before the start of class or on paper at the very start of class. Quiz questions will reappear in the Midterm and Final exams with very slight modifications (e.g. changing the numbers of the question parameters), so it will be wothwhile spending the time to work out the quiz problems.


The Midterm exam will cover all material prior to the Midterm date and the Final exam will be comprehensive. Only modified quiz questions will appear on the Midterm and Final exams, so everyone should ace the exams!

Final AI Shootout

ICS 462 will include a final game AI Shootout. Small (3-5 students) teams will implement AI for the open source BZFlag Multiplayer 3D Tank Game and all teams will compete in a Shootout. There will be 2 preliminary rounds with 4 different teams in each round and a finals with the top 2 teams from each round competing for the top team. Every team that has a running implementation will get at least 10 points (0 points for non-running implementations). The top team will get 25 points, which is 5 points extra credit. The remaining teams with running implementations will be linearly scaled down from 25 to 10 points based on their BZFlag score in the Shootout games.

David N. Chin / Chin@Hawaii.Edu