High-Performance Game Programming
Course info
Programme
Staff
Course semester
Exam
Abstract
Students attending this course will study how to design game code that is scalable and takes into account hardware and software resources.
Description
This course will approach some of the algorithms and ideas that are at the core of the development of modern game engines and expand on technical subjects that were seen in the course "Game Programming".
The student will learn the inner workings of game engines both from a technical and algorithmic perspective and learn how to write high-performance scalable code.
The course will include topics such as:
- Entity-component systems
- Game development tools
- Debugging and profiling
- Multi-processing
- Hardware acceleration and SIMD
- Data-oriented design
Programming is an essential part of the course and the main engine adopted in the course will be Unity for the practical activities and the examples. However, the concepts and principles covered are applicable to any engine and the students are free to choose another technology to work with if they wish, as long as it supports the learning activities.
Formal prerequisites
The essential skills and requirements are:
- Good programming skill, since the course will propose programming exercises and will require a final project.
- Knowledge of basic data structures, e.g. linked lists and dictionaries.
- Foundational understanding of discrete mathematics and linear algebra.
Optimally the student has completed the course "Game Programming".
Intended learning outcomes
After the course, the student should be able to:
- Use profiling tools to measure code performance
- Implement systems covered during the course in the context of a game engine
- Analyse, implement and explain algorithms covered in the course
- Evaluate code design patterns and critically assess their application in different development contexts
- Analyse and implement code refactoring to optimise scalability and performance
- Describe the interplay between code structure and hardware architecture and their impact on performance
Ordinary exam
Exam type:D: Submission of written work with following oral, External (7-point scale)
Exam variation:
D2G: Submission for groups with following oral exam supplemented by the submission. Shared responsibility for the report.