INDICATIVE CONTENT
Platform-specific hardware / application programming interfaces (APIs).
Game engine architecture and requirements.
Continuous integration and delivery (CI/CD) through developer operations (DevOps).
Memory management and allocation.
Parallel processing and communication.
Cache-friendly programming techniques.
Collaborative project management.
Modern programming techniques.
Navigating platform documentation.
Memory safety and correctness.
Knowledge specialisation through code ownership.
ADDITIONAL ASSESSMENT DETAILS
Assessment Component 1 - Group Cross-Platform Game Engine [Learning Outcomes 2, 3 and 4] 60%
In groups, students will produce a game engine and accompanying demo application that can be compiled on multiple different target hardware platforms. As part of the large collaborative effort, a large-scale codebase will be developed. Features will include:
Real-time physics simulation
Rendering pipelines
Artificial intelligence
Data serialisation
Audio handling
Memory management
Assessment Component 2 - Independent Technical Review [Learning Outcomes 1] 40%
Students will analyse the work they undertook throughout assessment 1 in an area of code they took responsibility over (code ownership) and critique it from a technical and performance perspective, considering the kinds of optimisations made during development and further avenues for improvement. Areas of interest include time-spreading through parallel processing, cache-friendly logic, memory safety, and improvements to memory allocation speed through custom allocators.
LEARNING STRATEGIES
Students will engage in tutor-led lectures, technical workshops and collaborative pair / singular programming efforts. Lecture sessions will focus on a variety of areas across the spectrum of programming for games, with a focus on real-time performance considerations against memory safety.
Workshop sessions provide hands-on guidance with implementation, debugging and optimisation, allowing students to apply theoretical concepts directly to practical coding challenges. Students are expected to undertake independent development between sessions.
LEARNING OUTCOMES
1. Reflect on produced technical systems critically and identify the strengths and weaknesses with specific reference to performance, safety, and programmer ergonomics.
Reflection
Personal Development & Entrepreneurship
2. Use project management methodologies and applied technical skills to deliver bespoke solutions.
Application & Problem Solving
3. Collaborate in groups and identify the strengths and weaknesses of a team to build a project.
Communication
Critical Reasoning & Collaboration
4. Use third-party libraries and platform-specific documentation to develop low-level understanding and deepen already-established technical knowledge.
Knowledge & Understanding
RESOURCES
Appropriate IDE or text editor with separate build system
Games lab PC.
Office 365
Version Control
Source hosting with integrated CI/CD and project management tools
VLE
Office 365
Staffordshire University Library
Internet Access
Digital Academy Forum
Digital Academy Upload
Game Lab
TEXTS
Fabian, R. (2018) Data-Oriented Design. ISBN: 978-1916478701
Nystrom, R (2014) Game Programming Patterns. ISBN: 978-0990582908
Gregory, J (2018) Game Engine Architecture 3rd Edition. ISBN 978-1138035454
Andrist, B and Sehr, V (2020) C++ High Performance 2nd Edition. ISBN 978-1839216541
Roy, P (2025) C++ Memory Management. ISBN 978-1805129806
Williams, A (2019) C++ Concurrency in Action 2nd Edition. ISBN 978-1617294693
WEB DESCRIPTOR
While working in a group, you will design and develop a game engine that will be able to deploy to different platforms. This module has you apply all the skills learned as part of your degree, as well as further refine your knowledge of platform-specific behaviours and optimise for them within a large-scale codebase.