Ventures of an indie game developer

Network physics

I just added a required, but nonetheless groovy, feature. When the client vehicle touches any other object, physics simulation breaks down because network latency (or even localhost latency) causes the objects' positions, velocities and accelerations to diverge from what the remote end thinks is going on. This pretty soon evolves to deep penetration of the solid bodies within ODE (the physics engine I'm using), which yields a jerky look-and-feel. I used this man's grand ideas on how to resolve the issue: the client temporarily gets simulation ownership from the server of objects that it collides with.

Every time the clients transmits its vehicle state it also needs to transmit all objects that it has simulation ownership for, otherwise the inconsistencies cause penetration. And there are of course a number of such boundary conditions which cause ulcer and headache and probably bad teeth too. Surely bad breath. Loss of sleep, you name it.

This is the third out of four nights that I spend programming instead of the standard behavior. The dizziness is getting better; perhaps I could become some kind of expert on how to resist torture! I'd get a job training SAS special forces or perhaps some executive duty within the Pentagon. What to do with all that dough? Nah, I probably would just spend it on worldly things.

About the author

Mitt foto
Gothenburg, Sweden