Interesting, bit outdated Physics Engine comparison paper

Please don't post Bullet support questions here, use the above forums instead.
KenB
Posts: 49
Joined: Sun Dec 03, 2006 12:40 am

Post by KenB »

To start with, the main interest of mine and my colleagues is not game physics, but simulator physics (medical, vehicle, robotic, VR, etc) and
here the requirements are not the same as in games.
For these areas, there still aren't many alternatives to Bullet, ODE, Havok, Newton and Ageia. The one and only alternative is Vortex from CMLabs which is superior to all the other in e.g. precision of constraints, friction model etc. but it doesn't scale well at all, and the direct solver is not great at handling ill-conditioned problems that often occur in interactive simulations. OpenTissue is also an alternative, but very slow if you go for precision and in addition you need to be very keen on templates to use it.

My interest in validating physics engines by measuring residuals, unphysical damping, computational complexity, realism of friction model, etc. is based on exntensive experience from real-world examples (e.g. medical sims, vehicle sims, robotics) and insight into various classes of algorithms.
I most certainly think such tests can be of interest to game developers, and certainly to engine developers.

The reason I don't like "plausibility" is that it is very far from well defined. It never helps anyone to understand how to further improve a physics engine or the algorithms used - and STILL the details of such algorithms is exactly what is discussed in these fora all the time - but usually with no metrics whatsoever. You can say that something is plausible, but I have never heard anyone say that this is very plausible or not plausible enought - so the metric is useless when improving engines.

You say "plausibility, robustness and speed". Well - why not determine what these are in terms of what can be measured?

Speed is typically about measuring computational complexity and overhead of heterogeneous systems when growing from small size to large size. It is also about benchmarking standardized simulations with some constraints on precision.

Robustness (e.g. absence of blow-ups and jitter) is usually very closely coupled to e.g. energy/momentum conservation, dissipation and timestep - and therefore also couples to physical correctness. For example, a symplectic or variational integrator typically makes your simulation dramatically more stable than first order explicit Euler - and the reason is that it gives much smaller (bound) global errors in the physical conservation laws. Even Disney benefits from this...
Don't want "real physics" but "animation physics". Yes, but the point is
that this is still well defined, or at least it can be!
I say: It makes very much sense to understand animation physics in terms of physics, but I would never dream of asking a Disney animator to use "more realistic physics".

Plausibility is in the eye of the beholder and some try to define it in terms of psycho physics but more than anything it means very different things to different people and in different contexts. It is usually used as an excuse, and therefore I don't use it much...

Dirk Gregorius wrote:
for stress testing physics libraries beyond "plausibility" (still hate that term) of blow-em-up and debris.
I don't get this point. AGEIA, Havoc and also Bullet main purpose is physical simulation in games. You will sell no more licenses of your engine if it is more physical correct than another. The most important things that count are plausibilty, robustness, speed, and ease of use. If it is then physical correct this is nice if not it really doesn't matter.

I suggest reading: M. Blum: Using Dynamics in Disney?s Production Environment

A quote from the slides:
"Don't want "real" physics but "animation" physics."

You can find it in the Baraff rigid body Siggraph presentation from 1997.


I agree that well defined testbeds are a nice thing to have, but physical correctness is not the major criterium. This totally misses the point.
Etherton
Posts: 34
Joined: Thu Aug 18, 2005 6:27 pm

Post by Etherton »

KenB wrote:To start with, the main interest of mine and my colleagues is not game physics, but simulator physics (medical, vehicle, robotic, VR, etc) and
here the requirements are not the same as in games.
For these areas, there still aren't many alternatives to Bullet, ODE, Havok, Newton and Ageia. The one and only alternative is Vortex from CMLabs which is superior to all the other in e.g. precision of constraints, friction model etc. ....
Given that You and Claude Lacoursi?re's , (both with close tights to CMLAB) were the mentors who designed the tests, and you have such strong opinion on Vortex, don't you think that the paper would had more credibility if it also included an evaluation of Vortex along with the others? Or are we just suppose to take your word for it?

After all you say that your interest is in physical correctness, and the test are designed to measure physical correctness, yet the one engine you claim is the ?one and only alternative to realistic simulation? is the one that is not included in the evaluation.
Doesn't Vortex have an evaluation version that you could get for these students?
KenB
Posts: 49
Joined: Sun Dec 03, 2006 12:40 am

Post by KenB »

That's the thing - Vortex was never considered for that particular integration with Virtools, and we had no influence on that whatsoever.

This is in the way a MSc project is constructed.
Someone outside the university (the interactive institute) wanted to evaluate physics engines for Virtools (and this was not our initiative). The students always get a tutor/examinator at the department/university, but the role of this tutor is somewhat passive. However, we suggested they at least use a set of test cases to measure some of the parameters that can be measured. This was not even part of the original plan. The II just wanted a rough evaluation of physics engines and an integration with Virtools (Havok was considered too expensive and too hard to distribute/sublicense).

Had I controlled the project fully, it would have been designed somewhat differently (definately with open source test scenes - and severa iterations with the engine developers), and the ambition is most certainly to carry that out in a not too distant future. This doesn't at all mean that the diploma project wasn't carried out well - the people at the Interactive Institute were happy enough and got their integration - but the project was incomplete and non-conclusive when it comes to the test battery - really just a first step.

I must stress that I have no affiliation whatsoever with CMlabs, but I do know them all well enough and I have been a mostly happy user of Vortex and before that also a (not so happy) user of the Mathengine library... Had I just had the time I would have run the tests with Vortex too, but time, time, time - too little of it...
To do it is in the pipeline and don't you think I will hold back the results. I love finding problems in physics libraries....
Dirk Gregorius
Posts: 861
Joined: Sun Jul 03, 2005 4:06 pm
Location: Kirkland, WA

Post by Dirk Gregorius »

Ken,

you really made some good points here. But maybe we can agree that physical correctness is only one side of the medal. Let me give another example. Lately we tested some stuff with some artists where a pile of objects flew around after being hit by something. Everythin behaved physical correct, but the artists didn't like it. It was not "spectactular" enough. I would argue that gameplay rules, so it is my job to make the simulation look as expected even when it is not correct anymore, but only plausible and maybe looking cool.

Personally I am glad when you share insights from other fields than game physics here.


Cheers,
-Dirk
juanpi
Posts: 1
Joined: Sun Oct 21, 2007 6:59 pm

Re: Interesting, bit outdated Physics Engine comparison paper

Post by juanpi »

Hello,
I find this discussion very interesting because I am right now looking for a physics library or engine that allows the user to define the level of correctness in the sense of the physical laws accepted at the present time.
I understand that the objectives of game industry and science are not fully overlapping but there are a lot of synergies.

The questions are the following: Do you know if there is any project or engine outside there with this properties?
Is there any engine with high order (at least 2 or 3) symplectic algorithms?

For the moment I am interested in basic physics in 3D: kinematics, constraints and some dynamics (motros and springs).


Thank you for your help
aboeing
Posts: 33
Joined: Tue Jul 26, 2005 2:28 pm
Contact:

Re: Interesting, bit outdated Physics Engine comparison paper

Post by aboeing »

Not that I know of, but you might wish to look at The Physics Abstraction Layer (PAL):
http://pal.sourceforge.net/

It contains a new set of benchmarks similar to those discussed here. If you wish to construct a system the accepts a certain level of correctness you will first need to do the hard job of figuring out what exactly is correct anyway.
Post Reply