Newton or ODE?
-
- Posts: 70
- Joined: Sat Dec 17, 2005 4:43 pm
- Location: licata (AG) italy
- Contact:
Newton or ODE?
Newton or ODE?
-
- Posts: 377
- Joined: Fri Oct 28, 2005 10:28 am
- Contact:
-
- Posts: 313
- Joined: Tue Nov 01, 2005 5:01 am
-
- Posts: 377
- Joined: Fri Oct 28, 2005 10:28 am
- Contact:
Some differences between the engines:
- License, already mentioned. Both are free to use for any application, but Newton is closed source, while ODE is at your choice BSD or LGPL.
- Collision primitives. ODE has very few collision primitives (Box, Sphere, Capsule, TriMesh). Newton has all these and some more primitives and a convex hull collision body. This is, because in Newton all collision primitives are convex hulls basically, making it easy to add new ones.
- Joints. Both have big variety of joints, but Newton has the, IMHO, better interface to them and it is easier to create custom joints with arbitrary properties. And, important for games, Newton has an UpVector-joint, holding an object upright, for instance the player.
- Newton has a generic material system, where you can assign physical attributes to material pairs, that control the behavior if two bodies of those materials have contact. So you don't need to define those parameters per individual contact, yourself.
- ODE has collision spaces. A way, to get only certain collisions and a way to organise the objects in an efficient way.
- Newton has built-in rag-doll support and built-in buoyancy support. Though both APIs can be implemented easily with just the core API.
- Newton has a continuous collision mode. This prevents fast objects to justtunnel through walls or penetrate other bodies to deep.
- Newton has a callback-driven design, easing the integration into applications like games and help to synchronise graphics with physics.
- ODE has the better documentation, but Newton the better support by its community, IMHO.
if adding new functions to ODE were that easy it already would be a much better product don't you think? but it isn't easy. very few people really understand the inner workings of physics engines and if you don't want to change something in the core you can add stuff to closed source engines too.The Anaconda wrote:I go with ODE as well. The licence, and since its open source I can change things or add onto them more functions that I need.
-
- Posts: 313
- Joined: Tue Nov 01, 2005 5:01 am
Not to be a pain, but Anaconda didn't say it was "easy" to add functions to ODE. He just mentioned it was "possible".
Personally, one of the advantages I have found with ODE is the ability to dig deeper into the "core" to allow for more "game friendly" physics. Hell, most of them I found in the ODE mailing list.
I am not dissing Newton (I have heard it is a great engine). I am simply pointing out that just because something isn't "easy" doesn't mean there is no benefit in having access to it.
A recent example of the benefits in being able to alter the underlying code is where a user altered an existing "joint" to allow for better simulation of a character on a tri-mesh terrain...
http://q12.org/pipermail/ode/2006-January/017515.html
--EK
Personally, one of the advantages I have found with ODE is the ability to dig deeper into the "core" to allow for more "game friendly" physics. Hell, most of them I found in the ODE mailing list.
I am not dissing Newton (I have heard it is a great engine). I am simply pointing out that just because something isn't "easy" doesn't mean there is no benefit in having access to it.
A recent example of the benefits in being able to alter the underlying code is where a user altered an existing "joint" to allow for better simulation of a character on a tri-mesh terrain...
http://q12.org/pipermail/ode/2006-January/017515.html
--EK
sorry, i didn't want to diss ode either. of course open source is nice but for most people messing with ode's source just won't be an advantage. personally i hope erwin coumans' work on bullet will help to spice up ode a bit. it looks promising.
btw. all newton joints come with source code. newton exposes a very flexible and easy to use joint api.
btw. all newton joints come with source code. newton exposes a very flexible and easy to use joint api.
In my opinion, I would go with Tokamak; my main reasoning behind this is I have had far more experiance with it then ODE, Newton or any other physics engine. Tokamak has worked just fine for all of my needs and in the process ran at a high speed with everything else. With that said, I would, if lisences aren't an issue; take a look at all the potential physics engines then pick the best one to suit your needs. Jus' my two cents
I do not think this is totally the truth; you have a point on the license.Eternl Knight wrote:Basically due to the whole licensing thing - I prefer ODE. Aside from licensing however, I believe that there really isn't THAT much difference.
--EK
However I do not know what good the licensee does if nobody can do anything useful.
Here are some differences:
The more important is that Newton stable, ODE is not.
ODE is fast but that only apply to demos, for real game situations Newton is way faster with the automatic auto sleep.
Newton can be used as pure and powerful collision system, ODE cannot
Newton has lots more collision primitive. (I thought cylinder and cone where just special convex shapes wrapped with convex hulls but if you look carefully they are perfect smooth surfaces, so they are different from polygonal solid)
Newton has a powerful user defined joint interface that made I possible to have any feature any other engine has. So it is the ultimate engine in flexibility.
Newton also has continue collision.
Newton lacks good documentation but since physic engine are so similar the documentation of any engine help when using any other engine so that was not a big issue for me.
All in all there is not comparison IMO Newton is far superior, actually Newton rival many of the commercial engine in quality.
Making a joint because it was possible to change the source code does not make ODE a better engine, to me that is a sign of a bad design.Eternl Knight wrote:A recent example of the benefits in being able to alter the underlying code is where a user altered an existing "joint" to allow for better simulation of a character on a tri-mesh terrain...
http://q12.org/pipermail/ode/2006-January/017515.html
--EK
I do not think you are given the proper credit to the Newton engine. It has had that kind of joints for almost a year now.
The new version comes with the source code of a large set of joint that can be used for customizing new variations. Check the 1.5 release so you understand how powerful it really is.
-
- Posts: 313
- Joined: Tue Nov 01, 2005 5:01 am
OK, I think there are two things here that need to be cleared up.
Firstly, ODE is a simulation engine first whereas Newton is a game-engine first. As such, there are features which are not included "by default" in ODE that are included in Newton. However, a very quick search on Google shows that all the features touted by the Newton engine can be done within ODE with comparable (and often better) stability. The "auto-sleep" feature has been described & improved on many times in the ODE user list, and has been used in several games (the most recent of which, in my memory, was BloodRayne 2).
Secondly, I did not say that ODE was the BETTER engine because of the license, hell I even mentioned that aside from the licensing issue - both engines are pretty similiar. What I did say is that I PREFER ODE because of the license. The license allows for ODE to remain available to & (be supported by) the community regardless of any parent company's financial status.
ODE vs Newton - Pure Collision System: I fail to see how this makes one a better PHYSICS engine than the other. Collision engines are a dime a dozen, alot of them licensed under lenient terms (such as the MIT & BSD licenses). And to be honest, I cannot see the NEED for a cone primitive, though if it were necessary - it would be a half a days work to implement. It is (after all) a quadratic just like cylinders & spheres - which makes them simple mathematically speaking.
ODE vs Newton - 'Ultimate Flexibility': I'm not sure where this comes from, but being able to change anything in the source code makes ODE the "ultimate in flexibility" from my point of view. While Newton allows me to create new joint types - ODE allows me to tweak the underpinning mathematics. While I don't think doing so is a good idea for the average game developer - the ability to do so offers more flexibility than Newton can. The example of being able to write your own joint types has already been shown to be possible with ODE (in my last post no less *laugh*)
As for the comment on ODE being badly designed because it allows someone to implement a new joint type - I REALLY cannot understand that. Being able to implement & extend a library without problems is generally a sign of GOOD design. I would love to hear why you classify it as bad...
Note that I'm not saying Newton is an inferior physics engine. My experience has led me to believe they are relatively on par, with Newton having implemented a few of the tricks needed for nice game physics (as opposed to proper simulation physics). However, those tricks are well documented and can be applied to ODE-based games with less than a couple of days effort (as evidenced by the fact that ODE is still quite popular with commercial game developers). Both of them pale in comparison to the Havok (& similiar) engines for game simulation, but that is expected. You get what you pay for.
--EK
Firstly, ODE is a simulation engine first whereas Newton is a game-engine first. As such, there are features which are not included "by default" in ODE that are included in Newton. However, a very quick search on Google shows that all the features touted by the Newton engine can be done within ODE with comparable (and often better) stability. The "auto-sleep" feature has been described & improved on many times in the ODE user list, and has been used in several games (the most recent of which, in my memory, was BloodRayne 2).
Secondly, I did not say that ODE was the BETTER engine because of the license, hell I even mentioned that aside from the licensing issue - both engines are pretty similiar. What I did say is that I PREFER ODE because of the license. The license allows for ODE to remain available to & (be supported by) the community regardless of any parent company's financial status.
ODE vs Newton - Pure Collision System: I fail to see how this makes one a better PHYSICS engine than the other. Collision engines are a dime a dozen, alot of them licensed under lenient terms (such as the MIT & BSD licenses). And to be honest, I cannot see the NEED for a cone primitive, though if it were necessary - it would be a half a days work to implement. It is (after all) a quadratic just like cylinders & spheres - which makes them simple mathematically speaking.
ODE vs Newton - 'Ultimate Flexibility': I'm not sure where this comes from, but being able to change anything in the source code makes ODE the "ultimate in flexibility" from my point of view. While Newton allows me to create new joint types - ODE allows me to tweak the underpinning mathematics. While I don't think doing so is a good idea for the average game developer - the ability to do so offers more flexibility than Newton can. The example of being able to write your own joint types has already been shown to be possible with ODE (in my last post no less *laugh*)
As for the comment on ODE being badly designed because it allows someone to implement a new joint type - I REALLY cannot understand that. Being able to implement & extend a library without problems is generally a sign of GOOD design. I would love to hear why you classify it as bad...
Note that I'm not saying Newton is an inferior physics engine. My experience has led me to believe they are relatively on par, with Newton having implemented a few of the tricks needed for nice game physics (as opposed to proper simulation physics). However, those tricks are well documented and can be applied to ODE-based games with less than a couple of days effort (as evidenced by the fact that ODE is still quite popular with commercial game developers). Both of them pale in comparison to the Havok (& similiar) engines for game simulation, but that is expected. You get what you pay for.
--EK
Well maybe ODE is better and more stable engine for you; it has not been the case for me. Also you indicate as a fact that ODE is a simulation engine and Newton is a Game engine but that is not what I see. My experience is that Newton engine worked better when realistic values are used where ODE and other engine do not.Eternl Knight wrote:OK, I think there are two things here that need to be cleared up.
Firstly, ODE is a simulation engine first whereas Newton is a game-engine first. As such, there are features which are not included "by default" in ODE that are included in Newton. However, a very quick search on Google shows that all the features touted by the Newton engine can be done within ODE with comparable (and often better) stability. The "auto-sleep" feature has been described & improved on many times in the ODE user list, and has been used in several games (the most recent of which, in my memory, was BloodRayne 2).--EK
Forgive me I am skeptical but I had not seen these places in Google saying that the features touted in Newton can be done better and with better stability with ODE, can you show a sample of that?
You seem to have a high opinion on ODE and a very poor on Newton, when you say twice in the same post that ODE is a "Simulation Engine" and Newton a "Game engine with a pile of tricks" than can be accomplished in ODE in a couple of days. Do you have documentation on that or perhaps you can add those “tricks” to ODE and make them available to the community so you can finish the controversy once and for all with facts.Eternl Knight wrote:My experience has led me to believe they are relatively on par, with Newton having implemented a few of the tricks needed for nice game physics (as opposed to proper simulation physics). However, those tricks are well documented and can be applied to ODE-based games with less than a couple of days effort (as evidenced by the fact that ODE is still quite popular with commercial game developers). Both of them pale in comparison to the Havok (& similiar) engines for game simulation, but that is expected. You get what you pay for.
--EK
Let us just say you are a proud ODE user and I am a proud Newton User.
About he Havok remark I cannot say anything as I had never tried. You seem to be an expert on it though so I trust your judgment.
-
- Posts: 313
- Joined: Tue Nov 01, 2005 5:01 am
Have at look at the actual NAME of the Newton Engine... "Newton Game Dynamics". Whether you like it or not - itHave at look at the actual NAME of the Newton Engine... "Newton Game Dynamics". Whether you like it or not - it is (at the very least) marketted as a game engine. ODE is simply "Open Dynamics Engine" with the first line of intro text being "ODE is an open source, high performance library for simulating rigid body dynamics".
Then take a look at the projects both sites show as using their engine. Newton's contains ONLY games. ODE contains games, physics simulators, and character animation research. Last time I read the Newton forums the only projects & uses being discussed were games. ODE on the other hand has users from the engineering & manufacturing fields, along with academics and game developers. Like it or not - the general impression I get from those facts are that Newton is a "game engine" and ODE is more generic "simulation engine" *shrug*
As for my "poor opinion" on Newton - I have NO idea where you get that from. I have repeatedly remarked that Newton & ODE are comparable in terms of performance & stability. My preference is in terms of source availability & (more importantly) licensing.
Havok is the engine used in Half Life 2 (among various other games). Play the game to see what I mean about it's superiority. Unfortunately - it is incredibly expensive to license.
--EK
Then take a look at the projects both sites show as using their engine. Newton's contains ONLY games. ODE contains games, physics simulators, and character animation research. Last time I read the Newton forums the only projects & uses being discussed were games. ODE on the other hand has users from the engineering & manufacturing fields, along with academics and game developers. Like it or not - the general impression I get from those facts are that Newton is a "game engine" and ODE is more generic "simulation engine" *shrug*
As for my "poor opinion" on Newton - I have NO idea where you get that from. I have repeatedly remarked that Newton & ODE are comparable in terms of performance & stability. My preference is in terms of source availability & (more importantly) licensing.
Havok is the engine used in Half Life 2 (among various other games). Play the game to see what I mean about it's superiority. Unfortunately - it is incredibly expensive to license.
--EK