Just some info about each (from various sources), since I had no clue about them:

PhysX:
 Quote:
PhysX can refer either to a proprietary realtime physics engine middleware SDK developed by AGEIA (formerly known as the NovodeX SDK) or their PPU expansion card designed to accelerate that SDK. Only games that use the PhysX SDK can benefit from the presence of a PhysX card. Games using the PhysX SDK can be accelerated by either a PhysX PPU or a CUDA enabled GeForce GPU.

Sony has licensed the PhysX SDK for their PlayStation 3 video game console.

The PhysX engine and SDK is freely available for Windows and Linux systems, but hardware acceleration only currently works on Windows.

In February 2008, nVidia bought AGEIA and the PhysX engine and is integrating it into its CUDA framework, which already has multiple drivers for Linux. With Intel's cancellation of Havok FX, PhysX on CUDA is currently the only available solution for effect physics processing on a GPU.

Newton 2:
 Quote:
Newton Game Dynamics is a free, but closed source physics engine for realistically simulating rigid bodies in games and other real-time applications. In contrast to most other real-time physics engines it goes for accuracy over speed. Its solver is deterministic and not based on traditional LCP or iterative methods. The advantages are that it can handle higher mass ratios (up to 400:1) and the simulation is very robust and easy to tune. The disadvantage is that it is a bit slower than physics engines with an iterative solver.

Many non-commercial, commercial and academic projects use Newton Game Dynamics. It is a popular choice in the Irrlicht and OGRE communities.

Bullet:
 Quote:
Bullet is a professional open source multi-threaded 3D Collision Detection and Rigid Body Dynamics Library. It is free for commercial use under the ZLib license.

The library is being used by several professional game developers on PC, PlayStation 3, XBox 360 and Nintendo Wii.

Sony Computer Entertainment provides a parallel SPU optimized version, and collaborations with IBM, Intel, AMD and NVidia to exploit their parallel hardware.

Bullet is native part of Blender 3D modeler and it supports COLLADA Physics file format.

Given that nVidia is now tossing mad money at Physx development, I think that'd be the way to go. They're integrating it into their PPUs (and, should it become a de facto standard, it'll ultimately work well with other PPUs). It's also being used in a number of high-profile titles such as Medal of Honor: Airborne, Unreal Tournament 3, GRAW, etc.

But the three engines are all probably pretty decent for general purpose.


Dejobaan Games - Bringing you quality video games for over 75 years.