Algorithms in Games
AbstractStudents attending this course will be able to implement core algorithms and systems related to game development.
The course will approach algorithms that are core to the development of digital games as well as technical subjects that were only superficially addressed in the first semester course "Game Programming".The course will build on the following main topics:
- Foundational computational geometry algorithms
- Geometric transformations
- Collision detection
- 3D tracking and motion capture (for animation and spatial user interaction)
- Character animation
- Rigid body dynamics
- Animation blending
Formal prerequisitesThe 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, such as linked lists and dictionaries.
- Foundational understanding of discrete mathematics, especially vector and matrix operations.
Optimally the student has completed the course "Game Programming".
Intended learning outcomes
After the course, the student should be able to:
- Implement space partitioning and basic triangulation algorithms.
- Explain how geometric transformations are used to place and move elements in a scene.
- Use space partitioning algorithms to optimize collision computations.
- Implement basic spatial user interaction techniques to select, manipulate and animate virtual objects using motion controllers.
- Program a basic character animation system.
- Analyze, implement and explain a topic of their choice. The topic must be related to the core content of the course.
Ordinary examExam type:
D: Submission of written work with following oral, external (7-trinsskala)
D22: Submission of written work with following oral exam supplemented by the work submitted.