City University of Hong Kong
Information on a Course
offered by Department of Computer Science with effect from Semester A in 2014 / 2015
Course Title: AI Game Programming Course Code: CS4386
Course Duration: One Semester No. of Credit Units: 3
Medium of Instruction: English Prerequisites: (Course Code and Title)
CS2310 Computer Programming or CS2311 Computer Programming or
CS2312 Problem Solving and Programming or CS2313 Computer Programming or
CS2331 Problem Solving and Programming or CS2332 Object-Oriented Programming or
CS2333 Object-Oriented Programming for Media Precursors: (Course Code and Title)
Equivalent Courses: (Course Code and Title)
Exclusive Courses: (Course Code and Title)
1. Course Aims:
This aim of this course is to provide an in-depth coverage Artificial Intelligence (AI) and how AI techniques can be applied to modern computer game programming. A collection of AI techniques relevant to computer games, known as Game AI, will be covered. The main objective is to ensure students have a firm
and clear understanding of the common AI techniques that are applicable to computer game development. In particular, a main emphasis of this course is to equip students with hands-on practical AI skills to use when students design and develop advanced computer games, including internet web-based multi-player games.
2. Course Intended Learning Outcomes (CILOs)
(state what the student is expected to be able to do at the end of the course according to a given standard of performance)
Upon successful completion of this course, students should be able to:
No. CILOs Weighting
1. Identify, explore and describe the key technologies and development environments of game programming;
2. demonstrate working knowledge of common AI techniques;
3. adopt and implement different AI algorithms in computer games;
4. compare different Game AI approaches and justify their applications under different scenarios;
5. develop comprehensive and robust computer games with sophisticated Game AIs.
3. Teaching and learning Activities (TLAs)
(designed to facilitate students’ achievement of the CILOs) Teaching pattern:
Suggested lecture/laboratory mix: 2 hrs. lecture; 1 hr. tutorial.
TLA Remarks ILOs to be
Readings Selected chapters from text / reference books on the topics to be taught will be stated before each lecture. It helps students understand the lecture and raise questions on time.
Lectures Concept and general knowledge of Game AI and game programming are explained and discussed.
Tutorials Designed cases /questions are discussed with students so that the taught material could be recalled and applied.
Open-ended questions will be also presented during tutorial that encourages students to have critical thinking on a designed problem and pursue its solution.
In addition, students will also have hand-on practices on AI and game programming to deepen their understanding on the related subjects.
Quiz A quiz will be held in the middle of the semester to check the students’ understanding of the material covered in the lectures. This is also an opportunity to provide timely feedback to the students about their learning progress.
Assignments Students are required to develop an application for computer game. Throughout this exercise, students will be encouraged to discover the AI technologies used in computer game and develop their own application for the game.
The objective of the assignments is to provide hand-on practices to students on game AIs and game programming.
2, 3, 4, 5
4. Assessment Tasks/Activities
(designed to assess how well the students achieve the CILOs)
ILO No Type of assessment tasks/activities Remarks
CILO 1 Quiz/ Examination
Clarity and correctness in describing and identifying the given technologies will be the measurement of this CILO.
The ability of students to discover new technologies/approaches in game AI will be another measurement of this CILO.
CILO 2 Quiz/ Examination
Students are expected to solve designed problems with various AI approaches. Clarity and correctness of the solutions are the primary measurement of this CILO.
Students are expected to demonstrate the working knowledge of the Game AI used in their assignments. CILO 3 Quiz/ Examination
Questions are designed to assess students’ abilities in adopting an existing Game AI to a new scenarios or implementing an existing Game AI in programming level. Effectiveness and correctness are the primary measurement of this CILO.
Students are expected to apply / adopt appropriate Game AI in their assignments.
CILO 4 Quiz/ Examination
The ability to compare different Game AI approaches and provide justification on their usage based on different scenarios will be the preliminary assessments of this CILO. Students are expected to demonstrate a thorough understanding on the characteristics, strength and weakness of various AI technologies, as well as their implementation trade-offs.
Students are expected to select and implement appropriate Game AIs in their assignment and provide justification on the choice.
CILO 5 Assignments
The ability of student writing a comprehensive and robust code in their assignment will be the primary assessment of this CILO. Since robustness is critical to a computer game, students are expected to guarantee their works will keep performing well in the long run.
Furthermore, the quality of the game and the innovation of the AI approach will be another measurement of this CILO.
5. Grading of Student Achievement:
Examination duration: 2 hours
Percentage of coursework, examination, etc.: 50% CW; 50% Exam Grading pattern: Standard (A+AA-…F)
For a student to pass the course, at least 30% of the maximum mark for the examination must be obtained.
This is a CEF approved course, students who want to apply for CEF claims must achieve at least 70% minimum attendance and obtain at least 50% passing mark for the assessment of the course.
Tactics, and Planning; Applying Action Planning into Games; Adaptive Games; Interactive Strategy, First-Person Shooter (FPS), Team-based Real Time Strategy (RTS), and Turn-based games; Tactical Reasoning; Artificial Life; Machine Scripting Language for Game Designers; Player Modelling; Simulation Games; Learning. Syllabus
1. Overview of AI Techniques
Overview of basic AI techniques and algorithms such as A* path finding/navigation, fuzzy logic, artificial neural networks, genetic algorithms, natural language processing, etc.
2. Overview of State-of-the-art Game Engines
Overview of 2D and 3D game engines, FPS/RTS game engines, such as Doom, Half-Life, Quake, Unreal, etc.
3. First Person Shooter Games
Strategy, Tactical, Coordinated Movement, Cooperation, Scripted and Emergent Behaviour, Collision Detection, Finite State Machines (FSMs), Goals, Runtime Spatial Analysis, Character Behaviour, Coordinated Behaviour, AI Team Mates, Goal-Oriented Action Planning, Hierarchical Planning, Terrain Reasoning, Bot Navigation.
4. Real-time Strategy Games
Wall Building, Qualitative Terrain, Random Map Generation, Strategic Decision-Making with ANN/Influence Maps, Game Trees, etc.
Recommended Reading: Text(s):
David M. Bourg, Glenn Seemann, AI for Game Developers, O'Reilly, 2004 Supplementary Reading
Steve Rabin, AI Game Programming Wisdom, Charles River Media, 2002 Steve Rabin, AI Game Programming Wisdom 2, Charles River Media, 2003 David M. Bourg, Physics for Game Developers, O'Reilly, 2001
Mat Buckland, Programming Game AI By Example, Wordware Publishing, 2004 Brian Schwab, AI Game Engine Programming, Charles River Media, 2008
Alex J. Champandard, AI Game Development: Synthetic Creatures with Learning and Reactive Behaviors, New Riders, 2003
Mat Buckland, AI Techniques for Game Programming, Muska & Lipman/Premier-Trade, 2002