Register Today for Game Career Seminar

Get Your Digital Subscription to Game Career Guide

media partners
 
all partners




Get the latest Education e-News    
  • Academic Paper: Tweaking ODE for Variable Time Steps

    [01.07.08]
    - Rasmus Barringer
  •  This summer, I submitted a game demo called Burning Tires to the Intel Game Demo Contest 2007. My work, which made heavy use of rigid body physics using the popular library ODE, took second place for Best Threaded Game.

    One of the problems I encountered during development was to make ODE work for variable time steps in order to maximize the frame rate and CPU usage without rendering (more or less) pointless blends between physical states (as is common with fixed time step physics combined with variable frame rate rendering).

    In my opinion, having variable time step physics is as important as having variable frame rate rendering, if the major mechanics of the game depend on the physics simulation. As far as I'm concerned this problem is, until now, unsolved for ODE.

    The following is an excerpt from ODE's manual:

    Variable Step Size: Don't!

    Stepsize should be constant in your application. A variable stepsize is a one-way trip to a headache. For example, think of an object ‘resting' on the ground. It'll actually stabilize at a small depth into the ground. When step sizes vary, the ideal stable position will change at each step, and thus the object will jitter (and may very well gain energy!)

    ODE was designed with fixed step-sizes in mind. It is possible to use variable step-sizes in ODE, but it isn't easy -- and this editor can't help you.

    My article explains the method I used to make it work and why it works.

    Download the PDF "Tweaking ODE for Variable Time Steps" (4 pages).

    See the game Burning Tires here.