Game Physics


SS 2023







Note: This page is for a course from a previous semester.
Find a list of current courses on the Teaching page.
Course Dates:




Course Thu, 16:30 – 18:00, starting April 06 Room 5054 (2356|054), Building E2

Modern video games continually push the boundaries of interactive entertainment. The ever-growing need for increased immersion and realism demands that the simulation of physics in the game world delivers predictable, realistic results in a very short amount of time. Whether responsive ragdoll physics, destructible environments or fluid simulation, sophisticated algorithms and careful trade-offs enable unprecedented interactive experiences.

Interactive physics simulation is not limited only to games, however. Largely the same kind of algorithms and techniques are employed in numerous industrial projects, such as training simulators and virtual prototyping applications, or even in the movie industry in the form of special effects and animated movies.

In this software pro-practical, students will work in teams to build a simple game built on top of an established game development framework. Students will learn the basics of game physics first by working with the game physics provided by the framework, then later through their own implementation of the physics necessary for the game they will develop. While the focus of the course is on the game physics, students are also responsible for leveraging the framework to handle mouse/keyboard input, a minimal user interface and the rendering of the game.

Throughout the course, students will learn to collaborate on a software project together using version control software. The students must also prepare presentations in which they at regular intervals showcase their progress. By defining and planning subgoals that should be met, the students will gradually build their game. At the end of the course, each group will present their final product, along with a report discussing the techniques used in the course of the project.

Organizational Details

  • Meetings: In every meeting each group has to present their implementation and results of the current topic and should discuss their problems and insights. Attending these meetings is mandatory.
  • Groups: Students will work in groups of 2-3. Each group is collectively responsible for the project.
  • Report: At the end of the course, students must submit a report detailing their work.
  • Implementation: The implementation should only consist of original code written by the group members, unless approval for using third party code has been obtained from supervisors. However, we would like to encourage the groups to discuss problems and to exchange information about their solutions with other groups.


  • Experience with object-oriented programming
  • Basic knowledge of numerics, algorithms and data-structures
  • Basic knowledge of graphics programming recommended


Will be announced in the introductory meeting.

Disclaimer Home Visual Computing institute RWTH Aachen University