Kent:
> Fixed physics rate is definitely the way to go. Consider what happens
> when you pause the game, or run it in slow motion, or the user switches
> to a different app for a while and your frame rate goes wacky because
> another process needed attention. In all those cases, you accumulate
> error and things explode.
O_o
Alternatively you handle those cases by either pausing the gameplay, using
a better integrator, or just clamping obscene time steps. We have variable
step physics in God of War, and we play with the time step just for visual
effect. Plus we occasionally drop frames because the artists & designers
have decided to push the envelope a little too far (or our visibility
solution let us down, or we loaded a particularly large chunk of data).
The elephant in the corner with fixed step physics, is running out of time
to calculate the step, and having the game actually sloooowwww doowwwwnnnn.
Which, as a player, is bang out of order (*). Twice I've started engines
with fixed step physics, and twice they've become variable step by the time
we've shipped a title with the thing.
Both approaches have their drawbacks. Which one you choose will depend on
the nature of game you're trying to make.
Cheers,
Phil
(*) Certain scrolly shootes seem to revel in their fixed stepness. Massive
slow-down during massive multi-layer explosions are an accepted, and
expected part of the scene.
|