Game Physics

Lecturer: Amir Vaxman

Utrecht University - Game and Media Technology Master Program

Academic year 2018/19

Official Department page

Course Overview

Bullet Example

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 Exam: The students will receive one theoretical exercise sheet that will excercise theoretical questions in basic physics.
  • Practicals: The students will do 3 mandatory programming exercises, each building a modest 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 exam: 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!

Grades: the grades appear here, encoded by anonymized numbers that are only distributed by personal E-mails.

Hall of Fame for projects from all years

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

Anouncements

3/Apr/2019: the course grade sheet is available here. The numbers correspond to personal IDs given by individual E-mails.

23/Mar/2019: The third practical has been released.

17/Mar/2019: Note correction in home exam (section "Errata" inside). Next week (18-24) there will not be any lectures.

6/Mar/2019: The second practical has been published!

19/Feb/2019: The first practical has been published!

14/Feb/2019: Calculus lecture notes are provided along the relevant lecture slides. Please alert me of any errors or unclear issues you find.

8/Feb/2019: The first home exam has been published.

28/Jan/2019: Welcome to the new website for game physics!

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/2019 11:30).

Lecture 1
Basic Physics

Slides:

Lecture 1 - Basic Physics (Last update: 13/Feb/2019 18:00)

 
Lecture 2
Basic and Vector Calculus

Slides:

Lecture 2 - Calculus (Last update:13/Feb/2019 18:00)

Calculus - Lecture Notes (Last update:14/Feb/2019 17:30)

 
Lecture 3
Rigid-Body Physics

Slides:

Lecture 3 - Rigid-Body Physics (Last update:18/Feb/2019 15:00)

Rigid Body Physics - Lecture Notes (Last update:23/Feb/2018 23:00)

 
Lecture 4
Collisions

Slides:

Lecture 4 - Collisions (Last update:18/Feb/2019 15:00)

 
Lecture 5
The game-engine loop and Time Integration

Slides:

Lecture 5 - Integration (Last update:26/Feb/2018 16:00)

 
Lecture 6
Constraints and Controllers

Slides:

Lecture 6 - Constraints and Controllers (Last update:1/Mar/2018 15:30)

Constraints - Lecture Notes (Last update:13/Mar/2019 20:00)

 
Lecture 7
Soft-Body Physics

Slides:

Lecture 7 - Soft-Body Physics (Last update:7/Mar/2019 12:00)

 
Lecture 8
Finite-Element Simulation

Slides:

Lecture 8 - Finite-Element Simulation (Last update:19/Mar/2018 11:30)

Soft Body Simulation - Lecture Notes (Last update:1/Apr/2019 15:00)

 
Lecture 9
Mass-Spring Systems and Position-Based Dynamics

Slides:

Lecture 9 - Mass-Spring Systems and Position-Based Dynamics (Last update:19/Mar/2018 15:30)

 
Lecture 10
Fluid Physics

Slides:

Lecture 10 - Fluid Physics (Last update:22/Mar/2018 11:00)

 
Lecture 11
Fluid Simulation

Slides:

Lecture 11 - Fluid Simulation (Last update:3/Apr/2018 08:30)

Lecture notes and course page by Robert Bridson

 
Lecture 12

Slides:


 
   
Home Exam

There will be an exercise set that addresses theoretical material, and should be submitted Individually. Submission of this home exam is mandatory to pass the course.

Home Exam (handout day: 8/Feb/2019. Deadline: 22/Mar/2019 23:59).

Reference Exercises and exams are given for your insight 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 1st and 3rd practicals 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 public sheet for time slots for all practicals, and match-making for pairs is here.

The practical exercises are:

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.

Practical 1: Rigid bodies and collision (handout day:19/Feb/2019. Deadline: 5/Mar/2019).

Practical 2: Constraints (handout day: 5/Mar/2019. Deadline: 15/Mar/2019). Note: no frontal submission.

Practical 3: Soft-Body Simulation. (handout day: 23/Mar/2019. Deadline: 4/Apr/2019)

Mini-Project
Presentation session: 11/Apr/2019 13:15-17:00
Project Description (Last update: 6/Feb/2019 13:50).

Course Schedule back to navigation

Resources
Physics for Game Developers, 2nd Edition, By David Bourg, Bryan Bywalec
Physically Based Modeling: Principles and Practice (Online Siggraph '97 Course notes)
Game Physics Engine Development by Ian Millington.
Game Physics by David H. Eberly.
Fluid Simulation for Computer Graphics, 2nd edition, by Robert Bridson.