CS3S665 - Game Engine Design 01 Jul 2022 - 31 Aug 2028 | Version 3

Associated Module Information

Module Code: CS3S665
Module Title: Game Engine Design
Faculty: Faculty of Computing, Engineering and Science
Faculty Group: Computing and Mathematical Sciences
Faculty Sub Group: Computer Science
Module Leader: Alun King
Module Team: Christopher Tubb
First Intended Intake: SEP 2017 Final Year of Intake:
Date Closed:
Credit Value: 20 Credit Level: 6
Language: English
Percentage of Module Taught in Welsh: 0
Equivalent Module:
HECOS codes: 101020 - computer games programming
HECOS Code Weighting: 100

Document Version Information

Version 3
Valid From 01 Jul 2022
Valid To 31 Aug 2028

Module Aims

To develop the students' knowledge of the state-of-the-art techniques used in modern game engine design.

To understand of the role of modern game engines, how they are structured and the technology that underpins them.

Content Summary

Modern game engines are complex systems that support a game environment and interaction within the environment. There are many facets to a game engine, including graphics, animation, physics and simulation, collision detection, audio, interaction and scripting. This module will focus on the architecture of a game engine, the benefits game engines bring and the tradeoffs such as generic gameplay characteristics. The module will focus on a number of key areas:

Architecture of a game engine

The history of the development of games machine architectures and how these ‘novel’ architectures have developed

Advantages and disadvantages of adopting a game engine or developing a new game engine from scratch

Integrating existing components and libraries to create a base-line game engine

The source code to an industrial standard game engine will be analysed and modified

Appropriate tools and libraries necessary for the development and debugging of a complex game engine will be studied

Advanced C programming and debugging techniques. The module will look at how shared libraries are built and debugged

Data-Oriented approaches to game engine design

Scripting - Lua and Python for example and their application to game engines

Networked game design

Networked games – considerations and impact on games code

Client-server programming in game engine design

Learning and Teaching Methods

Activity Type Hours
Lecture 24
Practical classes and workshops 24
Independent Study 80
Directed Study 72
Total Hours Selected 200

Learning Outcomes

# Learning Outcome
LO1 To critically evaluate the techniques that underpin modern game engines
LO2 To be able to justify techniques used in the design, development and evaluation of game engine and gameplay code

Module Requisites

N/A

Assessment Criteria

Assessment Category Assessment Type Description Duration Word Count Weight (%) Best of? Pass Mark
Asynchronous Assessment Practical Written Work 2 A practical exercise involving modifying the internals of a game engine. 0 2000 50 No 40
Asynchronous Assessment Practical Written Work 1 A practical exercise involving modifying a game engine external API. 0 2000 50 No 40

Assessment Matrix

Assessment Type Learning Outcomes
LO1 LO2
Practical Written Work 2
Practical Written Work 1

Reading List

Gregory, J., “Game Engine Architecture”. 2nd Edition. CRC Pres. 2014. ISBN-10: 1466560010; ISBN-13: 978-1466560017

Sherrod, A., “Ultimate 3D Game Engine Design and Architecture”. 1st Edition. Charles River Media. 2009. ISBN-10: 1111055661; ISBN-13: 978-1111055660

Kasuba, M., “Lua Game Development Cookbook”. 1st Edition. Packt Publishing. 2015. ISBN-10: 1849515506; ISBN-13: 978-1849515504

GDB: The GNU Project Debugger. The Free Software Foundation, 2016. http://sourceware.org/gdb/current/onlinedocs/gdb

Python Documentation, http://docs.python.org/library/struct.html

Tanenbaum, A., \\\"Modern Operating Systems\\\", 3rd Edition. Pearson. 2007. ISBN-13: 978-013813459

Downey, A. B., \\\"Think Python\\\", 1st Edition. O'Reilly Media. 2012. ISBN-13: 860-1234620983