Game Physics

Lecturer: Amir Vaxman

Utrecht University - Game and Media Technology Master Program

Academic year 2016/17

Official Department page

Course Overview

Bullet Example

General Note: The course will be considerably different from previous years, mostly in the practical side. this page is liable to change much until the actual time of the course, so stay tuned.

Background: Game physics deals with the introductory knowledge to making objects in games and media move, deform, collide, break, unite, and fly. The course equips the student with the relevant mathemetical and physical background to understand the rules which govern such actions in nature. Moreover, it teaches the essence of stable, convergent, and realistic simulation of these actions.

The course will have two interleaved narratives: the continuous and the discrete. In the continuous, we will learn the essential physics that governs the interactions of objects in the worlds. In the discrete, we will learn who to quantify and simulate objects with a computer, concerning space and time.

Specifically, the following subjects will be taught:

  • Classican Newtonian physics: Newton laws, friction, rigid body physics, dynamics, and kinematics.
  • Discretization of space and time.
  • Soft body physics, stress & strain, body deformation.
  • Collision detection & resolution.
  • Constraints & controllers.

Structure: The course will comprise the following parts:

  • Lectures (Hoorcollege): 13-14 frontal lectures.
  • Home Exams: The students will receive two theoretical exercise sheets throughout the course. The first will deal with continuous theory, and the second with discretization.
  • Practicals: The students will do 3 mandatory programming exercises, each building a modest game or simulation. The exercises will be checked in person with the lecturer in dedicated sessions during hoorcollege time. The project will be done in pairs. A matching board for your comfort is set here. Please do not abuse it.
  • Final Mini-Project: The students will perform a small freeform project and present it in class in the last session. The best three projects (peer-reviewed!) will be presented in a hall of fame on the website.

Grading: the grading will be as follows:

  • Home exams: 20%
  • Practical exerises: 60%
  • Mini-project: 20%+10% (1st place), 5% (2nd place) and 3% (3rd place) bonus points!
Note: the course does not contain a written examination! the official date is used for the project presentation instead.

Grades: the grades will be updated in the full document here.

Hall of Fame for projects from all years

The entire course (including student submissions and presentations) will be conducted in English.


18/Apr/2017: The grades sheet has been updated with the grades of the second practical.

24/Mar/2017: The solution to the first home exam is posted (by the exam itself below).

24/Mar/2017: The second home exam has been released!

23/Mar/2017: The grades for the first home exam and the first practical can be found in the grading section above.

21/Mar/2017: The second practical has been released!

1/Mar/2017: Please sign up for the slots for the practical exercise submissions here. (this is totally public, so do not abuse. Also, preferrably only write names and not student numbers). See the rules of submission below.

24/Feb/2017: The home exam is corrected, and two days are added to the deadline. In addition, the project description has been released.

23/Feb/2017: The practical has been released!

7/Feb/2017: The first home exam has been released!

6/Feb/2017: Welcome to the new semester and the course! the schedule is below in the google calendar (which you can embed in your own systems), and the lectures will be updated sequentially.

20/Aug/2016: Welcome to the new website for game physics! note that this year the course will have a totally different structure. Follow the course overview above for (continuously updating) details.

Lecture Slides

Below is a list of all lectures. The lecture slides will be updated during the course. This list is always provisional, and liable to change! note the update dates on each set of lecture slides.
The introductory lecture (Last update: 06/Feb/2017 12:30).

Lecture 1
Basic Physics


Lecture 1 - Basic Physics (Last update: 6/Feb/2016 14:30)

Lecture 2
Basic and Vector Calculus


Lecture 2 - Calculus (Last update:9/Feb/2017 15:30)

Lecture 3
Rigid-Body Physics


Lecture 3 - Rigid-Body Physics (Last update:14/Feb/2017 17:30)

Lecture 4


Lecture 4 - Collisions (Last update:13/Mar/2017 13:00)

Lecture 5
The game-engine loop and Time Integration


Lecture 5 - Integration (Last update:23/Feb/2017 09:00)

Lecture 6
Constraints and Controllers


Lecture 6 - Constraints and Controllers (Last update:26/Feb/2017 16:00)

Lecture 7
Position-Based Dynamics


Lecture 7 - Position-Based Dynamics (Last update:2/Mar/2017 16:30)

Lecture 8
Soft-Body Physics


Lecture 8 - Soft-body Physics (Last update:7/Mar/2017 14:00)

Lecture 9
Space Discretization


Lecture 9 - Space Discretization (Last update:24/Mar/2017 12:00)

Lecture 10
Fluid Physics


Lecture 10 - Fluid Physics (Last update:23/Mar/2017 11:00)

Lecture 11
Fluid Simulation


Lecture 11 - Fluid Simulation (Last update:26/Mar/2017 22:00)

Lecture 12


Home exams

There are two exercise sets that address theoretical material, and should be submitted Individually. Submission of both exercises is mandatory to pass the course, and there will be 10 points penalty for every unjustifiable late day. The exercises are:

Exam 1: Continuous physics (handout day: 07/Feb/2017. Deadline: 2/Mar/2017 23:59) (Note update: 24/Feb/2017 12:00). Solution.

Exam 2: Discretization (handout day: 24/Mar/2017. Deadline: 18/Apr/2017)

Reference Exercises and exams are given for your comfort and understanding.

Practical Exercises

There are 3 practical exercises to be submitted in pairs. The practical exercises each create a small simulation that revolves around one of the topics taught in class. The exercises will be checked in dedicated sessions of the students with the lectures (about 10 minutes each), and questions will be asked during the session. If any mistakes were found, the students will get a chance to fix and resubmit a week later. The exercises will be accompanied with a solved solution for reference. The practical exercises are:

Practical 1: Rigid bodies and collision (handout day: 23/Feb/2017. Deadline: 14/Mar/2017)
Submission slots registration sheet.
Important Note: In case the students cannot make the slots with good justification, notify the lecturer in advance and set a meeting with him ASAP.
Submission is in the department server under "Game Physics - Practical 1".
The code will be checked from the submission server directly to ensure fairness.

Practical 2: Position-based constraints (handout day: 21/Mar/2017. Deadline: 4/Apr/2017).

Submission slots registration sheet.
Submission This time, send the modified code files and modified scenes by E-mail to the lecturer. Do not send any executables.

Practical 3: Soft-body deformation. (handout day: 4/Apr/2017. Deadline: 11/Apr/2017)

Presentation session: 13/Apr/2017 13:30-16:30 (original exam date)
Project Description (Last update: 24/Feb/2017 13:00). Submission Slots

Course Schedule back to navigation