ICS 462, Artificial Intelligence for Games

Course Information

Instructor information


David N. Chin
POST 317
Office Hours:
Tuesdays 10:00-11:30 and Thursdays 10:00-11:30 and by appointment
Office Phone:


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 15% on assignments, 5% on quizzes, 10% on the Midterm exam, 20% on the Final exam, 40% on oral presentations (see the Oral-Focus section below for breakdown) and 10% on the final game AI Shootout. There will be 6 assignments, 3 short programming assignments and 3 writing assignments (see the Writing-Intensive section below for details). The 3 programming assignments will build toward the Shootout. ICS 462 is writing intensive, so the 3 writing assignments will each be 5-6 pages each with revisions required based on my feedback. The midterm and final will also require some short essay responses. Students must adequately complete all writing assignments to pass the course with a D grade or better. Students who do not complete all writing assignments will get a D- or an F and will not earn W Focus credit. Completing writing assignments satisfactorily includes satisfying the minimum page requirements and submitting revisions following feedback. The grading will be on an absolute scale; if you get 60% or better, then you will get at least a C (unless you do not complete all of your writing assignments satisfactorily, in which case you will get an F regardless of your point average). 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=45-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 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. Every team that has a running implementation will get at least 5 points (0 points for non-running implementations). The top team will get 15 points, which is 5 points extra credit. The remaining teams will be linearly scaled down from 15 to 5 points based on their BZFlag score in the Shootout game.


This is an Oral-focus class, so students will give short presentations to the class worth 40% of your total grade. There will be 4 presentations: 2 individual and 2 small group. The first presentation (5% grade) will be to persuade your classmates, who will play the part of fellow developers in a Game Studio, to select your choice of a game feature to implement in the game that is being implemented by the Game Studio. The second presentation (5% grade) will be a code review of one of your programming assignments. The third presentation (20%) will be with your group presenting the AI techniques that you used for your Shootout. The fourth presentation (10%) will be a post-mortem analysis of what worked and what didn't work in the Shootout.


This is a Writing-Intensive class, so students will write at least 16 pages (4,000 words) and revise all writing following my feedback. Each writing assignment will be 5-6 pages. The first writing assignment will be to critique a game of your choice on its AI. The second writing assignment will be to compare and contrast two or more different AI techniques for a particular game purpose. The third writing assignment will be a report on what you did for your AI implementation for the final game AI Shootout.

David N. Chin / Chin@Hawaii.Edu