Official course description, subject to change:
Preliminary info last published 15/05-23
Game Programming
Course info
Language:
English
ECTS points:
7.5
Course code:
KGGAPRO1KU
Participants max:
60
Offered to guest students:
yes
Offered to exchange students:
yes
Offered as a single subject:
yes
Price for EU/EEA citizens (Single Subject):
10625 DKK
Programme
Level:
MSc. Master
Programme:
MSc in Games
Staff
Course semester
Semester
Efterår 2024
Start
26 August 2024
End
27 December 2024
Exam
Exam type
ordinær
Internal/External
ekstern censur
Grade Scale
7-trinsskala
Exam Language
GB
Abstract
This course teaches fundamental techniques for using C++ efficiently to implement 2D and 3D games.Description
Students learn the basics of game programming using both 2D and 3D graphics. They learn to integrate a physics engine and how game loops and time steps work.
After the course students are familiar with component architectures and other game programming patterns.
This course covers the following topics:
- Understanding the design and architecture of existing game engines
- Design and implementation of game engine components
- Efficient programming in C++
- Best practices for game programming from software engineering and system architecture
Formal prerequisites
The essential skills and requirements are:- Good programming ability, since the course will involve several programming exercises and a final projects.
- Basic mathematics understanding. Geometry, matrix algebra, etc.
Intended learning outcomes
After the course, the student should be able to:
- Design and implement components for a modern game engine using best practices of software engineering.
- Manage resources and memory in C++ efficiently.
- Integrate game engine modules with high cohesion and low coupling.
- Optimize memory access and identify performance bottlenecks on the CPU
- Generalize about the structure of, and similarities and differences between, modern 3D game engines.
- List, describe, use and modify basic components of a game engine.
- Describe why system programming languages, such as C++, is needed in the games industry.
- Describe the tradeoffs involved in setting up a game loop and the initialization order of engine subsystems.
- Explain foundational aspects of game-engine technology, such as graphic rendering, game physics, player input, and system architecture.
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.