F20GP Computer Games Programming

Dr Mohammad HamdanBen Kenwright

Course co-ordinator(s): Dr Stefano Padilla (Edinburgh), Dr Mohammad Hamdan (Dubai), Ben Kenwright (Edinburgh).


To develop programming skills and techniques specific to the area of 2D and 3D computer game.

Detailed Information

Course Description: Link to Official Course Descriptor.

Pre-requisites: C++ programming skills.

Location: Dubai, Edinburgh.

Semester: 2.


  • Computer Games Design Concepts (Genres, Narrative and Fun).
  • Elements of Game Design (Formal, Dramatic and System Dynamics).
  • Character and World Design.
  • Design Programming Patterns (Input, loops, structures, objects and optimisation).
  • Games Creation Concepts (Conceptualisation, Prototyping, Playtesting).
  • Game-state, simulator, renderer, (hierarchical) controllers.
  • Tools, environments and coding practices– e.g. graphics, C++ and engines.
  • 2D and 3D game programming techniques.
  • Physically-based modelling, particle systems, flocking.
  • Obstacle avoidance and path planning.
  • Group movement.
  • Learning and adaptation in games.
  • Action and behaviour selection.
  • Procedural Generation.
  • Course summary and review.

Learning Outcomes: Subject Mastery

Understanding, Knowledge and Cognitive Skills Scholarship, Enquiry and Research (Research-Informed Learning)

  • Understanding of game theory and computer game history, genres and impact
  • Understanding of game design concepts, elements and characters.
  • Understanding of available tools and their application
  • Knowledge of algorithms for path planning and navigation
  • Knowledge of physically-based modelling in games and selection of techniques
  • Knowledge of AI techniques in games and selection of techniques
  • Ability to understand, design and implement a small-scale game using 2D and 3D tools
  • Practical skills in graphics and AI programming in the computer games context

Learning Outcomes: Personal Abilities

Industrial, Commercial & Professional Practice Autonomy, Accountability & Working with Others Communication, Numeracy & ICT

  • Representation of, planning for, and solution of problems.
  • Ability to plan, design, prototype and communicate a game.
  • Ability to think and plan in three dimensions.
  • Team working skills.

Assessment Methods:

Assessment: Examination: (weighting – 50%) Coursework: (weighting – 50%)
Re-assessment: None

SCQF Level: 10.

Credits: 15.