Home

Mathematical foundations of game development

• Class 15
• Practice 30
• Independent work 105
Total 150

Course title

Mathematical foundations of game development

Elective

23-02-564

1

5

Course overview

This module introduces students to the mathematical foundations of game development and their applications in writing program code.

This module is not core to Game Development subspecialisation, but is a part of an optional module group that specializes in providing deeper programming knowledge and skills. Five more modules in the same group follow this module. Skills learned in this module will contribute significantly to being able to follow subsequent modules.

Students will learn:
• About different coordinate systems and vector spaces.
• How to use parametric equations and reparametrization.
• About motion and kinematic equations.
• About homogenous coordinates and projective space.
• How to detect collisions efficiently.

The module is taught in C
programming language and Unity and Visual Studio software development tools. The module assessment is based on solving a series of smaller practical tasks in the defined programming language and software development tool and on solving theoretical problems.

Literature

1. Lengyel, E. (2016) Foundations of Game Engine Development, Part 1. Lincoln: Terathon Software LLC.

1. Axler, S. (2004) Linear Algebra Done Right. New York City: Springer.

Minimal learning outcomes

• Construct bases and manipulate vectors across different coordinate systems.
• Parameterize curves and surfaces for the purposes of modelling and interpolation.
• Apply the fundamentals of calculus to problems in game development.
• Construct, modify and interpret matrices as linear maps across different bases.
• Construct, modify and interpret points and transformations in affine space, in the context of game development.
• Apply and interpret the dot, cross and triple products to problems in game development.
• Implement and understand basic collision detection algorithms.

Preferred learning outcomes

• Construct bases and manipulate vectors across different coordinate systems, including vector spaces other than Rn.
• Parameterize complex curves and surfaces for the purposes of modelling and interpolation.
• Apply more sophisticated methods from calculus to problems in game development.
• Construct, modify and interpret matrices as linear maps across different bases and understand the connection between multilinear maps and tensor products.
• Construct, modify and interpret points and transformations in affine and projective space, in the context of game development.
• Apply and interpret the dot, cross, outer, wedge and triple products to problems in game development.
• Implement and understand complex collision detection algorithms.