Opinions on ODE or other open source physics engine?

Started by
18 comments, last by grhodes_at_work 18 years, 3 months ago
I've recently downloaded and starting using ODE for physics in the project we're working on and I have found it to be less than pleasant to get up and running, and many of the samples error out constantly. I want to get some opinions about it, and any other open source physics library that would be worth taking a look at. Thank you
Advertisement
Quote:Original post by cvg_james
I've recently downloaded and starting using ODE for physics in the project we're working on and I have found it to be less than pleasant to get up and running, and many of the samples error out constantly. I want to get some opinions about it, and any other open source physics library that would be worth taking a look at.

Thank you


ODE is probably the best bet for free.

If you are looking for zero-cost (but fairly restrictive) you might look at tokomak, but it really isn't better overall.

If you are willing to spend money, you might look at Havok or Critical Mass (Vortex).

You are right that moving to a full physics engine can be "less than pleasant" since it requires extensive work with creating physics models, proxies for your geometry, and can bring up design concerns all over existing applications.

A good physics engine isn't a trivial tool to use, especially in homebrew games. But the results are certainly worth the effort.

frob.
If you are looking for open source solution I am afraid you are stuck with ODE.
If you accept a free engine then integration is quite easy with any of the free solutions and they all are far superior to ODE.

Comparing Havok to Vortex is like comparing water to oil and concluding they are the same because they are liquids.

Havok as well as all of the commercial physics engines are made to run with a very high degree of inaccuracy using iterative formulation that generates solutions that looks pleasant enough for game purposes but are far from correct physical behavior.

Vortex is a heavy-duty realistic engine designed to generate physical results that are good enough to implement prototypes and prove of concept designs, speed is not the main goal, realism is.

They do not target the same market.
I'm not so sure that Vortex is significantly more accurate than Havok or PhysX or ODE or the rest. It is true that Vortex is marketed for a different use than the so-called "game physics" engines. And it surely has a few supporting tools that aren't really meant for games. And CM-Labs offers custom integration/custom application development services that probably go far beyond what the game physics companies offer. This is the added value of CM-Labs for people who need an engineering solution. But, at its core it most likely isn't all that different or special or more accurate. You may not know this, but CM-Labs (who produce Vortex) were once part of MathEngine, a game-specific physics engine company. I doubt that Vortex was developed without heavy influence from the MathEngine days. MathEngine updated their engine and called it Karma (used in Unreal 2 I think, among others), and was eventually purchased by Criterion to become Renderware Physics, and then Criterion was purchased by EA. On the other side, Havok began life as an "industrial strength" physics engine by the company, Telekinesys, and (as I understand the history) the Havok division was later created to go after the games industry. To complicate the Vortex/MathEngine issue further, Russ Smith, who authored ODE, once worked as a developer for MathEngine. So Vortex and ODE have common ancestry! And Havok was "industrial strength" before Vortex was developed by the ex-Math-Engine folks. It is interesting to have seen all this evolve over the course of the past 5 or 6 years.

All these engines, used correctly, can produce good, engineering-quality, non-real-time results in addition to fast, game-like, real-time results. They are all based on small variations of the same governing equations and slightly larger variations in numerical techniques. Some do certainly produce better results when objects have generalized constraints or experience lots of collisions. But it is difficult to say that one is more accurate than the other when they are used correctly and with a good understanding of how to properly formulate a simulation. In the engineering world, people make careers out of how to use the software, how to formulate the simulation. It is often the subtleties of problem setup that make the difference between an engineering solution and a game solution, rather than the tool.

MathEngine press release when spinning off CM-Labs
Graham Rhodes Moderator, Math & Physics forum @ gamedev.net
ODE has some idiosynchrasies that you need to learn. Make sure to READ the ENTIRE manual -- cover to cover -- before writing a single line of code. It'll help enormously. If you don't understand things in that manual, you are likely missing important supporting skills that are not ODE-specific, but rather general game physics, math or language skills.

If you want a high quality physics engine with possible hardware acceleration, and download and write code with it for free, you can't beat Novodex; available for download from Ageia, the makers of the PhysX physics accelerator chip. If you actually want to ship a game based on it, there are some conditions you have to adhere to, but for development in your own garage, it's a really great package!
enum Bool { True, False, FileNotFound };
You can also look at ageia (www.ageia.com) . They have a very complete API with a really great set of tutorials.
@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?
I 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.

I have been playing with ODE for years, and I also played with Havok mods (HL2) for comparison. I found that Havok is perhaps more polished library but it suffer from the weakness that I’d seen with ODE and the Quick step solver. So I assume it is because they are taking similar short cuts.

You 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.

Please help me.


Quote:Original post by hplus0603
If you want a high quality physics engine with possible hardware acceleration, and download and write code with it for free, you can't beat Novodex; available for download from Ageia, the makers of the PhysX physics accelerator chip. If you actually want to ship a game based on it, there are some conditions you have to adhere to, but for development in your own garage, it's a really great package!

Is Novodex Open Source?
My impression was that is was about Open source engines.
The only one that qualifies as engine is ODE.
Maybe you can check Open Tissues, and now Bullet (maybe future ODE 2) but those are not full-integrated engines yet, more a collection of loose physics tools.

Quote:Original post by Anonymous Poster
Quote:Original post by hplus0603
If you want a high quality physics engine with possible hardware acceleration, and download and write code with it for free, you can't beat Novodex; available for download from Ageia, the makers of the PhysX physics accelerator chip. If you actually want to ship a game based on it, there are some conditions you have to adhere to, but for development in your own garage, it's a really great package!

Is Novodex Open Source?
My impression was that is was about Open source engines.
The only one that qualifies as engine is ODE.
Maybe you can check Open Tissues, and now Bullet (maybe future ODE 2) but those are not full-integrated engines yet, more a collection of loose physics tools.


NovodeX (now called Ageia PhysX SDK) is not open source. But, in some circumstances it appears that you can use it for free, possibly even in commercial products that support Ageia hardware. Read the license agreement carefully, and make sure you fully understand what the conditions are before beginning to use this in a commercial product.

I am wary of Open Tissue. I agree with your assessment that it appears to be a loose collection of tools. It may be fine, but in my brief look at the website it appears to be more of a researchy tool than a production tool. I took a look at the book associated with it, "Physics-Based Animation," a while back, and just did not find that I liked the book at all. To me, it looks like a compilation of notes rather than a well-thought-out book. I don't really see any documentation on the website. My concerns may be unfounded, and I admit that I have not really explored the toolkit at all....but, I remain very wary!
Graham Rhodes Moderator, Math & Physics forum @ gamedev.net
If you're just looking for a zero cost physics SDK, I believe Newton is now freely available even for commercial use. The license was recently changed.

Please feel free to correct me if I'm wrong

This topic is closed to new replies.

Advertisement