   ODE, Bullet, or PhysX? Which one
  I am looking at picking a physics lib to use with my game engine, and not sure which one is the easiest to get working and only needs to do simple physics for car acceleration, deceleration, ect... I guess it could do some collision detection, I already have a simple AABB/Sphere collisions working. Also looking towards particle engine later if that matters?Thanks   
  Well you ask "ODE, Bullet or PhysX ?"Well I'm going to answer with TrueAxis http://trueaxis.com/ It's really easy to set up and get going and if you're wanting to simulate a car it even comes with a basic car system.  Or you can write your own.   ;  as was suggested, trueaxis is a nice library and even has CCD for all its objects, which is a nice feature. I would not recoment ODE really, since its just too slow compared to the others and is unstable alot of the time. Bullet also features CCD and is quite fast, however in my opinion the API is kindof messy and not as simple to use (again, only my opinion). PhysX is in my opinion one of the best choices because its inarguably very very fast, supports tearable cloth, soft bodies, fluid, and also has a CCD system.If nothing else, you could always try to write your own physics library. A great place to start is with Erin Catto's Box2d which is at gphysics.com i believe. He also has slides that talk about the algorithms and everything   ;  I actually found Newton to fit my needs the best (partly because of convex hull support, honestly) after trying a few of them.  They're all going to have their quirks, so I'd just look at the feature sets and give one a shot.  If your structuring is good, it shouldn't be very difficult to switch between them if you decide to change.   ;  WOw thanks for the replies so far. I will take a look at each one you guys recommended. ;  I haven't used the PhysX API directly, but have worked with it via a wrapper around it. I can say the performance and results were really great. I've always considered PhysX to be one of the most mature Physics engine, but then again, I haven't used anything else, only just looking at their API, and feature set.I wouldn't rule out PhysX.   ;Quote:Original post by bronxbomber92I wouldn't rule out PhysX.Unless you're developing for XNA. If you're on any other platform I fully suggest physX. You are unlikely to see that product die off anytime soon, and it indeed has amazing performance. I am so fairly partial to ODE, but this is because I have been using it since it was conceived and I love its interface. I've never had a problem with it's speed or stability.My ODE based project: OGP;Quote:Original post by coderchrisBullet also features CCD and is quite fast, however in my opinion the API is kindof messy and not as simple to use (again, only my opinion).I'm one of the Bullet developers (many contributions come from game companies using it), so my biased recommendation would be to try it out because it is fully Open Source and you can customize it any way you want. There is built-in simple vehicle support, convex hull shapes, CCD etc.Chris, could you give me some feedback on the Bullet API, so it can be improved? The API has improved a lot, perhaps you used an older version?Thanks,Erwinhttp://bulletphysics.com;Quote:Original post by erwincoumansQuote:Original post by coderchrisBullet also features CCD and is quite fast, however in my opinion the API is kindof messy and not as simple to use (again, only my opinion).I'm one of the Bullet developers (many contributions come from game companies using it), so my biased recommendation would be to try it out because it is fully Open Source and you can customize it any way you want. There is built-in simple vehicle support, convex hull shapes, CCD etc.Chris, could you give me some feedback on the Bullet API, so it can be improved? The API has improved a lot, perhaps you used an older version?Thanks,Erwinhttp://bulletphysics.comI also think that while Bullet is fairly advanced in the techniques it uses, it still suffers from horribly messy code with almost no comments. I haven't actually used it in a project, but I've definitely gone through the source code as a reference for my engine and I can say that it's not a pleasant experience.Nomenclature is terrible with hard to decipher abreviations and there is no explanation of what each class's purpose is. For instance, btManifoldResult is vague unless one is very familiar with collision detection terminology. btCollisionManifoldResult or btContactManifold would be better, something that indicates it's application. Likewise, btManifoldPoint would be better named as btContactPoint, which decouples it from the concept of a contact manifold.Just some examples of how the library could be improved.   ;  i love physx but after that bullet is the best to me   