SHE Level 4
SCQF Credit Points 20.00
ECTS Credit Points 10.00
Module Code MHG721196
Module Leader David Moffat
School School of Computing, Engineering and Built Environment
Subject Applied Computer Games
  • B (January start)

Pre-Requisite Knowledge

Games Programming 1 (or Equivalent)

Summary of Content

The module presents classical AI topics, including "search" techniques, and their application in a game context, either for AI character path-planning or for adversarial strategies such as in two-player games. AI characters need to be able to make simple decisions, for which finite-state machine techniques are employed, or decision trees. Artificial Life is introduced as a new direction for imulating emergent behaviours, including flocking. The module also provides an overview of artificial neural networks, and genetic algorithms, for AI learning.


Overview and history of AI. Challenges for AI (and AI characters) in games. Search techniques - Depth-first and breadth-first search - Heuristic search - A* algorithms Application of search algorithms in game contexts - path-finding for AI characters - move-planning for adversarial games Finite state machines as simple models of AI characters' minds - extensions to fuzzy or probabilistic state machines Decision trees used to make AI characters react appropriately - Learning algorithms for decision trees (e.g. ID3) Artificial Life (overview and history; relation to computation theory) - New and potential applications in games - Flocking behaviours Learning techniques - Artificial neural networks (applications and limits) - Genetic algorithms (applications and limits) - Current research topics in the area may be selected to augment or replace one or two of the above, depending on recent events and the possibility of guest lectures.

Learning Outcomes

On completion of this module, students should be able to:-Examine and implement search algorithms in a game context-Design appropriate finite-state machine models for AI characters' behaviours-Appraise the possible role of Artificial-Life techniques in games-Scope the application range of AI learning techniques and select appropriate ones for different tasks within games or game development.

Teaching / Learning Strategy

The course material will be introduced through lectures, while practical exercises, based on the lecture material, will be given to students for their laboratory sessions. Tutorials will be used to help explain and elaborate on both the lecture material and the laboratory exercises.

Indicative Reading

-283 Bourg, D. M., & Seemann, G. (2004). AI for game developers. O'Reilly Media, Inc. Byl, P. B.-de. (2004). Programming believable characters for computer games. Charles River Media. Champandard, A. J. (2003). AI game development: synthetic creatures with learning and reactive behaviors. New Riders. Luger, G. F. (2009). Artificial intelligence: structures and strategies for complex problem solving. Pearson Addison-Wesley. Luger, George F. and Stubblefield, William A. (1993) Artificial Intelligence: Structures and Strategies. Benjamin Cummings Publishing. Millington, I. (2006). Artificial intelligence for games. Morgan Kaufmann. Russell, S. J., & Norvig, P. (2010). Artificial intelligence: a modern approach. Prentice Hall. Schwab, B. (2004). AI game engine programming. Charles River Media.

Transferrable Skills

D1 Time management: organising, prioritising and planning work D2 Independent working and self-reliance D3 Reviewing and evaluating own learning, strengths and weaknesses D4 Presentational Skills D6 Team working and Interpersonal skills

Module Structure

Activity Total Hours
Assessment (FT) 20.00
Lectures (FT) 24.00
Tutorials (FT) 12.00
Practicals (FT) 24.00
Independent Learning (FT) 120.00

Assessment Methods

Component Duration Weighting Threshold Description
Exam (Exams Office) 2.00 50.00 35% Official examination
Coursework 1 n/a 50.00 35% Written assignments