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 starting in 2023 are primarily delivered via on-campus face to face learning but may include elements of online learning. We continue to monitor government and local authority guidance in relation to Covid-19 and we are ready and able to flex accordingly to ensure the health and safety of our students and staff.

Contact time is subject to increase or decrease in line with additional restrictions imposed by the government or the University in the interest of maintaining the health and safety and wellbeing of students, staff, and visitors, potentially to a full online offer, should further restrictions be deemed necessary in future. Our online activity will be delivered through Blackboard Ultra, enabling collaboration, connection and engagement with materials and people.

 

Current, Relevant and Inspiring

We continuously review and improve course content in consultation with our students and employers. To make sure we can inform you of any changes to your course register for updates on the course page.


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