Help with my thesis - Problems in implementing physics

Please don't post Bullet support questions here, use the above forums instead.
Untamo
Posts: 1
Joined: Fri Jan 04, 2008 9:02 pm

Help with my thesis - Problems in implementing physics

Post by Untamo »

Full topic: "Help me with my masters thesis - The biggest pittfalls in implementing physics to your game?"

Hi. I'm not sure if this is the right category to post this message, but here goes:

I'm doing my masters thesis(or "Pro Gradu") in the Department of Information Processing Science in the University of Oulu, Finland and I need some empirical data... and it seems data gathered from forums is valid for this kind of research .. Any answers will be processed anonymously (I'm not interested in you, just your answers, no offence intended) ;)


So, my first question is:

What are the biggest pittfalls/problems you have run into when implementing physics into your game(s)/application(s)? (let's say the 10 biggest problems per person, though even one is appreciated) :)


And the second question:

What is your recommended solution to these problems? (if you have any)


Clarification: I need YOUR problems (and possible solutions to them) to present them in my thesis.


Thanks in beforehand to any who have time to answer my silly questions :)
User avatar
projectileman
Posts: 109
Joined: Thu Dec 14, 2006 4:27 pm
Location: Colombia

Re: Help with my thesis - Problems in implementing physics

Post by projectileman »

Hi.

I've been working with Physics engines for a while, and I've found a serious problem which is not addressable by the current physics Engines ( except Havok). The biggest problem is:
- Physics on Multi-player simulation games.
This is the situation: When running the same simulation in different machines, you will get different results, despite you've entered the same parameters. That's because game physics has Floating Math intensive routines, and those routines usually have rounding errors.

Additionally, engines like ODE and Bullet apply random parameters for solving constraints, so you may get slightly different results in every machine. This problem affects specially racing games where distances are large.

A common solution for this is syncronizing game clients by transmiting every body position from server, which could be very band-width consuming. That's the reason why many games usually disable physics effects on multi-player games (Take a look to Cell-Factor and Quake4 shooters).

I hope that the last Havok has a solution for this, but this engine is too expensive for indie companies.

- Collision at high velocities. This problem is solved by many engines by calculating the Time Of Impact for every fast moving body. But putting this on practice is not so easy. Actually Bullet has an implementation for TOI, but it needs more testing, improvements and optimizations.