KF6017 - Software Architecture for Games

What will I learn on this module?

You will learn about the structure of games software. Games engines are complex pieces of software that are worked on by a number of people, with different talents. To manage this complexity, programmers use a number of design patterns to decouple the code and make it more flexible and reusable. You will see how object-oriented principles such as generalisation and encapsulation can be used to achieve this.

Game engines are split into separate components, such as the gameplay component, graphics component, AI component, network component, etc. You will study common approaches used to design and implement a number of these components.

You will also learn to understand and communicate complex designs using diagrams and explanations. You will develop your programming skills to implement more complex object-oriented structures.

How will I learn on this module?

Theories and key concepts will be presented in lectures. These lectures will often include interactive elements to allow you to practise and apply new concepts before moving onwards.

In seminars and workshops, you will develop a game engine by adding a number of components, and produce design documentation. At first, these components will be relatively simple and used to explore the methods used to improve software quality and the thinking behind design patterns used by games developers. Once you have understood these principles, you will develop the engine more independently. You can choose which components to develop further and will select which techniques to use, making use of appropriate literature.

How will I be supported academically on this module?

Tutors will present lectures and lead discussions on game software design. They will examine your software and design documentation during workshop sessions and will make suggestions for further improvements or correct any misunderstanding. Tutors will be available for all timetabled sessions and can also answer questions by using email or appointments outside formal scheduled sessions.

Teaching material will be available via the University’s e-learning portal, including lecture slides, practical tasks and links to suggested literature.

What will I be expected to read on this module?

All modules at Northumbria include a range of reading materials that students are expected to engage with. The reading list for this module can be found at: http://readinglists.northumbria.ac.uk
(Reading List service online guide for academic staff this containing contact details for the Reading List team – http://library.northumbria.ac.uk/readinglists)

What will I be expected to achieve?

Knowledge & Understanding:
1. Demonstrate a critical understanding of the use of abstraction, encapsulation and generalisation to design high quality games software, including security and decoupling
2. Demonstrate a systematic understanding of current directions in game engine development.
Intellectual / Professional skills & abilities:
3. Analyse game problems and design and implement complex game engine components for their solution, applying appropriate methods and tools.

Personal Values Attributes
4. Communicating and explaining complex game designs.

How will I be assessed?

Over the course of the module, you will develop a game engine. To begin with, you will add new elements as directed by the modules tutors. As the module progresses, you will be given more freedom in developing your engine, using techniques you have selected and deciding which elements to implement.

For formative feedback, the early stages of your engine will be inspected and suggestions will be made. Usually this will be done verbally in person, but your tutors may also use email.

For summative assessment, you will submit your final engine, including design documentation and a short written report to justify the approaches you have taken to address software quality factors such as security, efficiency and maintainability. This will assess all module learning outcomes: 1 2, 3 and 4.

Pre-requisite(s)

None

Co-requisite(s)

None

Module abstract

You will learn about the structure of games software. Games engines are complex pieces of software that are worked on by a number of people, with different talents. To manage this complexity, programmers use a number of design patterns to decouple the code and make it more flexible and reusable. You will see how object-oriented principles such as generalisation and encapsulation can be used to achieve this.

Course info

UCAS Code G405

Credits 20

Level of Study Undergraduate

Mode of Study 3 years full-time or 4 years with a placement (sandwich)/study abroad

Department Computer and Information Sciences

Location City Campus, Northumbria University

City Newcastle

Fee Information

Module Information

All information is accurate at the time of sharing. 

Full time Courses are primarily delivered via on-campus face to face learning but could include elements of online learning. Most courses run as planned and as promoted on our website and via our marketing materials, but if there are any substantial changes (as determined by the Competition and Markets Authority) to a course or there is the potential that course may be withdrawn, we will notify all affected applicants as soon as possible with advice and guidance regarding their options. It is also important to be aware that optional modules listed on course pages may be subject to change depending on uptake numbers each year.  

Contact time is subject to increase or decrease in line with possible restrictions imposed by the government or the University in the interest of maintaining the health and safety and wellbeing of students, staff, and visitors if this is deemed necessary in future.

 

Your Learning Experience

Find out about our distinctive approach at 
www.northumbria.ac.uk/exp

Admissions Terms and Conditions
northumbria.ac.uk/terms

Fees and Funding
northumbria.ac.uk/fees

Admissions Policy
northumbria.ac.uk/adpolicy

Admissions Complaints Policy
northumbria.ac.uk/complaints