Game Physics

Hi, I’m Glenn Fiedler and welcome to my series of articles on game physics.

In this series you’ll find information about RK4 integration, the best way to time-step your simulation, rigid body simulation in 3D, spring physics and how to network a physics simulation.

If you find these articles useful, please consider making a small donation to support my writing and help cover hosting costs. Every few years I take time off between game projects to write these articles for you, and that means I don’t get paid to do it!

Thanks!

Glenn Fiedler
gaffer@gaffer.org


Integration Basics

Integration is used to determine the motion of an object over time. In this article I show how to correctly integrate the equations of motion using an RK4 integrator instead of starting off on the wrong foot with a stupid Euler integrator.

Fix Your Timestep!

Even an RK4 integrator is sensitive to the amount of time you step when integrating. Decouple your physics timestep from the display framerate so that your simulation behaves exactly the same way each time it is run.

Physics in 3D

Leap ahead from integrating single values to integrating the entire physics state for a cube in three dimensions. Introduces rotational physics concepts including orientation in 3D, angular velocity and momentum, inertia and torque.

Spring Physics

Explains the physics of springs and how to apply them to control physics simulations. Learn how to implement joints, constraints, motors and basic collision response.

Networked Physics

How do network games synchronize physics over the network? This article explains the core techniques used in today’s first person shooters and shows how you can apply these techniques to network your own physics simulations.

10 Responses leave one →
  1. 2008 April 4
    Chaz permalink

    This articles are insightful. Very recommended.

  2. 2008 July 11
    Michael Krause permalink

    These articles have been extremely helpful. Thank you very much!

  3. 2008 August 22
    DaveC permalink

    These articles are very useful but I can’t find any way to navigate to them from your homepage, none of the links lead to these.

  4. 2008 August 22

    Fixed!

  5. 2008 October 15
    Mikhail permalink

    Hello Glenn,
    Greetings on that series of articles.
    Any idea how to integrate Coulomb contact friction in
    particle – mesh or particle – particle interaction?

  6. 2008 October 15

    hey mikhail, i don’t know how to do that yet – sorry!

  7. 2008 October 24
    Martin permalink

    Great articles. Really helped me out. I find that alot of the documentation for this kind of material is generally written in a style suited to mathematicians which I find difficult to interpret. Thanks!

  8. 2008 October 24

    yeah you and me both, its like they actively try to make it hard to read :)

  9. 2009 February 27
    giggo permalink

    Hey glenn I was wondering, do you know a lot of calculus ? Do you study daily ? I’ve seen most people pick the formulas and general algorithms to make their physics but they usually don’t know what exactly the formulas mean.

    • 2009 February 27

      i’m a self taught programmer, i have no degree but i’ve gone to a few university courses to brush up on some more mathematics – and i did advanced math in highschool, so i have decent background, but really *nothing* on somebody who went through actual physics or electrical engineering maths

      in otherwords, i have “programmer mathematics”, meaning i learn what i need to do what i want to do, and not much more

      so i don’t do calculus daily, just when i need it. and usually, it’s very VERY slow :)

      but a key thing is that i always try to understand, as deep as i can what i am working on… so I do know the taylor’s theorem basis for RK4 and understand it, and i can derive it if necessary. the only thing i’m a bit fuzzy on in the whole physics articles is how to calculate the spin quaternion to integrate the orientation from angular velocity. i don’t fully understand the mathematics behind that, but the rest i’m pretty solid on.

      if you want to study something to get a deeper meaning of the physics equations, i highly recommend taking a look at baraff’s siggraph courses on physics simulation (google for it) – this is a good place to get a good understanding of the mathematics and ideas behind physics simulation

      in fact really, you could just look at my articles as a poor man’s version of his papers, covering much the same material, but with a programmer focus instead of a mathematics focus

      cheers

Leave a Reply

Note: You can use basic XHTML in your comments. Your email address will never be published.

Subscribe to this comment feed via RSS