Skip to main content Skip to navigation

WM9M4-15 Games Engineering

Department
WMG
Level
Taught Postgraduate Level
Module leader
Kurt Debattista
Credit value
15
Module duration
4 weeks
Assessment
100% coursework
Study location
University of Warwick main campus, Coventry

Introductory description

Video game development is one of the most complex software engineering processes, requiring development in a number of wide ranging areas, including but not limited to computer graphics, physics, acoustics, AI, and networking. These typically take the form of sub-systems which can be programmed independently but with a firm understanding of the required specifications and always with sound engineering principles and high performance in mind. This module will provide students with the required set of tools to be able to develop all such subsystems and the right set of engineering practices to be able to integrate them into a coherent whole.

Module aims

This module aims to provide students with the fundamental algorithmic, mathematical and programming skills not related to computer graphics that are required to develop high-end video games. In particular it will focus on the software skills required to integrate many gaming sub systems.

Outline syllabus

This is an indicative module outline only to give an indication of the sort of topics that may be covered. Actual sessions held may differ.

Games loop

Games software development - patterns etc.

AI for games - Pathfinding, Behaviour trees, Directors

Acoustics

UI

Multithreading

Events/messaging

Game Databases

Game networking

Current C++ standards as required in industry

Learning outcomes

By the end of the module, students should be able to:

  • Have a comprehensive understanding of the critical components that make up modern video games
  • Have the specialist knowledge required to design and develop multiple sub systems used in games
  • Efficiently integrate multiple sub systems into a games engine

Indicative reading list

Nystrom, R. (2014). Game programming patterns. Genever Benning.

Gamma, E., Helm, R., Johnson, R., Johnson, R. E., & Vlissides, J. (1995). Design patterns: elements of reusable object-oriented software. Pearson Deutschland GmbH.

Herlihy, M., Shavit, N., Luchangco, V., & Spear, M. (2020). The art of multiprocessor programming. Newnes.

View reading list on Talis Aspire

Interdisciplinary

The skills developed here can find application in a number of different fields in computing such as AI, networking, data bases, programming embedded systems etc.

Subject specific skills

Mathematical skills and programming skills.

Transferable skills

Technology literacy, adaptability.

Study time

Type Required
Lectures 10 sessions of 1 hour 30 minutes (10%)
Seminars 1 session of 1 hour 30 minutes (1%)
Tutorials 9 sessions of 1 hour 30 minutes (9%)
Online learning (scheduled sessions) 7 sessions of 1 hour 30 minutes (7%)
Other activity 29 hours 30 minutes (19%)
Assessment 80 hours (53%)
Total 150 hours

Private study description

No private study requirements defined for this module.

Other activity description

29.5 hours of student self directed study in preperation for in class work. Guidance on self directed study will be provided in class.

Costs

No further costs have been identified for this module.

You must pass all assessment components to pass the module.

Assessment group A
Weighting Study time Eligible for self-certification
PMA Project 100% 80 hours Yes (extension)

Write a small game engine in C++ and DirectX / OpenGL / Vulkan.
Ensure all core features and sub-systems are implemented and integrated.
Develop a small game with the engine.

Feedback on assessment

Written feedback.

Pre-requisites

To take this module, you must have passed:

Post-requisite modules

If you pass this module, you can take:

  • WM9M5-15 Games Engine Design and Development

Courses

This module is Core for:

  • MSc in Games Engineering