how does novodex compare?

Started by
10 comments, last by GameDev.net 19 years, 2 months ago
Basically the only nonportable part of my current game system is my physics library: tokamak. As it only has a windows binary available at the moment, I can not make use of the rest of my code being portable. I could have used Newton or ODE but I found them to be way too instable and slow compared to tokamak. Where newton would stagger after only 30 objects, tokamak seems to support up to 1000 with no apparent slow down. However I have recently heard of the novodex library which apparently was used in Unreal Tournament. In short I have two question: 1) I have heard that Novodex is very accurate physically which was a weakness in Tokamak, but I was wondering how it compared in terms of speed and the number of objects it can support at one time to Tokamak? 2) Is Novodex cross platform across windows, linux, and macintosh?
Advertisement
I have found novodex is the most accurate physically compared to all other physics libraries I've used. Newton is the only other that can be considered acceptable. (I have not used Havok or Vortex)
But keep in mind that unless you are actually trying to simulate the real world these inaccuracies are not too much of a problem.
Novodex actually copes quite well with large numbers of objects. It really depends on how your objects are interacting though.

Novodex is available on linux, and I assume other platforms. Its my understanding that you need to pay for this privilige though.
Well the inaccurracies from Tokamak that I dislike the most are the constant jiterring of objects that are supposed to be at rest. Also Tokamak has a hard time with collision detection at high velocities.

The main problem with Newton has been it staggers after seemingly few objects.
Novodex is superior to all 3 free libraries (except possible accuracy wise compared to Newton; i have yet to see convincing figures either way).

The only real problem with Novodex is that it's not free for commercial use. Also, only Windows is free; you have to pay for the other platforms.
SlimDX | Ventspace Blog | Twitter | Diverse teams make better games. I am currently hiring capable C++ engine developers in Baltimore, MD.
what about ode? (open dynamics engine) http://www.ode.org

How does it compare with other dynamic engines?
Quote:Original post by Promit
Novodex is superior to all 3 free libraries (except possible accuracy wise compared to Newton


I've seen a couple of the Newton demos blow up under fairly normal "use" - I don't know if that's because they're not set up correctly.
Quote:Original post by Ljilekor
what about ode? (open dynamics engine) http://www.ode.org

How does it compare with other dynamic engines?


We've been playing with different physics solutions at work; we used Karma (Renderware Physics) for one of our released titles, ODE for some commercial simulation work one of our guys did, and Novodex for an FPS pitch prototype.

Karma was (at least back in 2003) pretty badly integrated into RW, and the tools were quite flakey. There's no Linux version, which made running it against our Linux-based servers... interesting... I hear they've improved it's integration and tools, though. Apart from that, stability was rock-solid, and it's fast. Like all RW libs, it's really primarily optimized against the PS2, which is nice if that's where you're going.

ODE is the nicest of the 'free' versions.. it'll run on pretty much anything (one guy was porting it to fixed-point WinCE; God alone knows how that will work with numerical stability issues, but it shows how portable the core codebase is). With the new solver it's pretty fast, and the user community is extremely good (it's worth subscribing to the mailing list just for background info on the how's and why's of building a physics engine). Tools are so-so (but Juice is a pretty neat little app), and most commercial applications that use it end up having to re-write the trimesh collision system.

From looking into Novodex, it seems rock-solid, and fast as blazes. I've only tried it on Win32, though, so I can't speak for the console libs. I love the tools (both the in-house ones, and what Ratcliff has done with Novodex and Rocket). If I was going to use a rigid-body physics system for a commercial project right now, I'd probably go with Novodex again. I've also encouraged the students I mentor to look into using it for their projects.

Hope that answers your question;

Allan
------------------------------ BOOMZAPTry our latest game, Jewels of Cleopatra
thx odin.
So Novodex' trimesh support is seamless?
Quote:Original post by Ljilekor
thx odin.
So Novodex' trimesh support is seamless?


Yupp. The guy who wrote what became ODE's default trimesh system (OpCode), Pierre Terdiman, is one of the key guys behind Novodex. From what I understand, Novodex is using an optimized and improved codebase derived from OpCode. OpCode, btw, remains one of the best plug-and-play arbitary polygon cloud collision systems; it's just the bindings and contact generation between it and ODE that is a bit flakey.

One of the things Novodex does really well is convex hulls; normally Trimesh-Trimesh is a real pain (so unstable it's not even funny). Novodex, and the work Ratcliff did for Rocket, allows the programmer to turn arbitary polygon-meshes into simplified convex hulls, and for the collision between the hull and everything in the world (including C.H. vs TriMesh, and C.H. vs C.H.). As such you get close to Tri-Tri functionality at significantly better performance and stability.

I had hours of fun playing with the LUA script-files for Rocket, especially Siege. There's just something fundamentally disturbed about lobbing ragdolls from catapults to break down a giant Jenga tower :)

Allan
------------------------------ BOOMZAPTry our latest game, Jewels of Cleopatra
Is Novodex the only engine doing convex collisions?
I understand it standard for every other engine too (except for ODE)

This topic is closed to new replies.

Advertisement