Opinions on ODE or other open source physics engine?

Started by
18 comments, last by grhodes_at_work 18 years, 3 months ago
Quote:Original post by jovani
@grhodes_at_work
This is real good news. So what you are saying is that ODE is just as good as Vortex if used properly?


"Just as good" in some ways. For many classes of problems, you should be able to produce equivalently good/accurate results. Commercial libraries such as Vortex will often have fewer constraints or limitations than the freeware libraries, so in this way Vortex would be much better.

Quote:Original post by jovaniI believe you are right when you say that the game engines are solving the same equation vortex is solving. It is also a documented fact that game engines are using algorithms that lead to approximated solutions; therefore they cannot be equally accurate.
But I maybe wrong you seems to be well versed on these subject.


All of the physics engines use numerical algorithms and produce approximated solutions, not just the "game" physics engines and not just the "real-time" physics engines. It is true that they are not all equally accurate, e.g., they all produce different error. But when used properly, all can produce solutions that have bounded and controllable error of similar magnitude. ODE and Vortex might not produce the exact same numerical result, but both results could still be, say, first-order accurate in time and space. Non-real-time engines can afford to take more time to resolve contact manifolds for stacking and collision, and in this way they probably sometimes produce better results in this area. ODE might not have an implicit solver, and so definitely will have limits on the physical stiffness it can handle. The same can be said of Vortex and the rest.

Quote:Original post by jovaniYou say that all of these engines, used correctly, can produce engineering quality for non real-time solutions. I had been trying so many times without success. Each time I use the non-iterative solver I get inexplicable explosions, unless I use high CFM in which case it is almost as having the same Quickstep but a lot slower.

Perhaps you can give me some pointes of what kind of engineering expertise is required to make ODE as accurate as Vortex is.


These physics engines are all capable of producing equivalently good results for the type of problems that they all support. I stand by that statement. There can be a problem, however, in measuring and proving the quality of results. The engines might not all produce the particular statistics needed to numerically judge the results. And, so your only judgement might be that the solution looks basically right, or that the objects do appear to behave in a realistic manner, or that certain boundary conditions are satisfied. This type of judgement isn't necessarily sufficient to really say that a result is "engineering quality." But, I am certain that these engines can produce engineering quality results, even if it can't always be proven numerically. It is always possible to keep track of things that should be conserved, such as total energy, and momentum. And by tracking these, you can have a measurement of goodness.

It would actually help me to understand what you, yourself, mean by engineering quality? How exactly have you been measuring this? And are you qualified to judge, e.g., do you have an engineering degree and do you work professionally as an engineer? I will note that "engineering quality" is not the same thing as "stable." Just because one engine doesn't explode doesn't mean its solution is better quality in general. Are you hacking your simulations? Or are you making educated choices, based on numerical analysis, about how to configure the various engines?
Graham Rhodes Moderator, Math & Physics forum @ gamedev.net
Advertisement
I don't mean to hijack this thread, but I've been wondering for a while, has anyone attempted to use ODE in modelling molecular dynamics? For example, protiens consist of discrete units (100's to 1000's amino acids) linked together to form a really long chain that folds around itself under the influence of charges in the surround water and hydrophobic attraction of the subunits.

All the shape predicting I've seen is really high precision non real time software (for example tinker). Does anyone know if ODE has been used to do this in real time? I'm sure I haven't given a good overview of the problem, but on this limited information, would ode be suitable for this type task?
------------------<a href="http://jsgc.sourceforge.net>jsgc
The forces holding molecules together are extremely stiff (Requiring lots of energy in general to break them apart). Because of this, molecular dynamics is an area where a general-purpose physics engine probably will not perform well, and where specialized codes with specialized solvers would be needed. It might be possible if you model the connection between atoms as rigid-body constraints, but when you have 100's or 1000's or dependent constraints, the simulation will run slower---likely not real-time even with a "real-time" engine---just because of the time required to resolve the simultaneous constraints for each frame. Are traditional structural finite element codes ever used to model molecular dynamics? If so, something like ODE could be used in a similar manner, with similar performance. In any case, you'd have to write custom code to model the molecular forces.
Graham Rhodes Moderator, Math & Physics forum @ gamedev.net
I think that ODE is good and it's free engine. Some commercial games were made with it (like Xpand Rally) too. Probably you need some tweaks to get less errors.
Sebastian Kowalczyk / ViToPeople Can Flyhttp://www.skowalczyk.com
just a FYI,

I noticed "Myst IV: End of Ages" used ODE.


I've been using ODE for about a year now on my C# app... It takes some getting used to but well worth the trouble.
Quote:Original post by grhodes_at_work
These physics engines are all capable of producing equivalently good results for the type of problems that they all support. I stand by that statement


Again how can you be so certain of that? Do you have a technical paper that explain the internal of these engine and also the internal of Vortex?

Having a common root with Math Engine is not more different than 3d studio max and Autocad being made by Autodesk. The only thing they have in common I that they are graphic packages, but not architectural company uses Max the same way that not game company used Autocad.

The list of client for vortex suggests it has been licensed for prototyping Engineering projects. I assume these companies expect realistic result in their prototypes without too much hacks. I have not seen any industrial project using a game engines, nor I had seen any game company using vortex.
Quote:Original post by Anonymous Poster
Again how can you be so certain of that? Do you have a technical paper that explain the internal of these engine and also the internal of Vortex?

Having a common root with Math Engine is not more different than 3d studio max and Autocad being made by Autodesk. The only thing they have in common I that they are graphic packages, but not architectural company uses Max the same way that not game company used Autocad.

The list of client for vortex suggests it has been licensed for prototyping Engineering projects. I assume these companies expect realistic result in their prototypes without too much hacks. I have not seen any industrial project using a game engines, nor I had seen any game company using vortex.


jovani, I don't think we need to continue this discussion much further. This forum is not one in which to debate things to death. That becomes unproductive fast, as I'm sure you'll agree. If you want a very current, engineering comparison of various physics engines, and you want it sooner rather than later, then I can generate one for you through my company as a consultant for hire, as can many other engineering simulation firms. Or, you can patiently wait until someone produces and publishes the evidence you seek for free.

To partially answer your latest questions and conclude this discussion here @ gamedev, I will offer two documents of interest, with my comments.

First, ODE's documentation states that it uses a first-order integrator, and that it shouldn't be used for quantitative engineering analysis. Yeah, that means something. But don't assume that other engines provide better than first-order. They might, but don't count on it. I offer the following circumstantial evidence. There is no proof that the statement at the link below (made by the author of ODE) is true, though I believe that it was probably true at the time the post was written. Both engines have improved since the posting, but there is no public info I'm aware of that makes this statement incorrect today:

Comment in ODE forum on accuracy of Vortex vs. ODE

The underlying message in that statement is true. It is the exact same thing I hinted at in a prior post. To achieve an accurate, "engineering" simulation result, you must prepare your model correctly. You must model everything well before sending it to the simulator. And, then you must choose the proper simulator settings for your problem. The accuracy of the simulator is at the mercy of your model! So you if you want engineering results you better damned well know how to build a proper model, no matter which engine you choose. Even if an engine has a better than first-order accurate integrator, and provides an implicit or semi-implicit integrator, results will still be poor with a bad model. Integrators deterioriate rapidly from their theoretical accuracy when a model is bad. And its far easier to produce a bad model than a good one.

The following document is more what you were looking for, an engineering evaluation of different physics engines, including Vortex and ODE. Yeah, it doesn't give any numerical results, and it isn't rigorous or peer-reviewed. But it is something. Their verdict? Vortex and ODE are roughly equivalent, but neither provides the accuracy they needed! For accuracy, they prefered a package called ADAMS, which is very high end and measurably "engineering quality."

Comparison of simulation engines

Oh, here's the product page for ADAMS

MSC.ADAMS

To be clear, there can be significant added value when you license a commercial engine and use their support services. With a commercial engine targeted at engineering firms, the added value is that the engine developer will consult with you to help you to formulate your problems in an engineering-consistent way, if you need such help.

[Edited by - grhodes_at_work on January 9, 2006 10:56:46 PM]
Graham Rhodes Moderator, Math & Physics forum @ gamedev.net
I offer my apologies to cvg_james for letting this thread get so far off topic. I take responsibility, and will try to be more careful about being drawn in by troll posts in the future, even if they are borderline on topic as the ones here were.

My hope is that some of the information (e.g., anything not posted by myself or jovani) has been helpful in some way.
Graham Rhodes Moderator, Math & Physics forum @ gamedev.net
I've working with ODE, and it's good enough for rigid bodies.
But it seems that there aren't engines that support deformable bodies.
Is there any physic engine that supports particle systems and deformable bodies?
Just for simulating fleshing bodies, and shock deformations.
"Technocracy Rules With Supremacy" visit: http://gimpact.sourceforge.net
leoptimus, please start a new thread for your new topic.
Graham Rhodes Moderator, Math & Physics forum @ gamedev.net

This topic is closed to new replies.

Advertisement