Algorithms for Game Development
Students attending this course will study some of the core algorithms and systems related to game development.
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, touching upon topics such as:
- Entity-component systems
- Game development tools
- Debugging and profiling
- Hardware acceleration and SIMD
- Data-oriented design
- Building and deployment
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
- Analyze, implement and explain a topic of their choice. The topic must be related to the core content of the course
- Evaluate game engine technologies and critically assess their application in different development contexts
- Classify and compare different software architectures and relate them to their appropriate application
Ordinary examExam type:
D: Submission of written work with following oral, External (7-point scale)
D2G: Submission for groups with following oral exam supplemented by the submission. Shared responsibility for the report.