I have been using the Open Dynamics Engine (ODE) for the last few weeks with great success. It has a very simple API and its simulations at least look realistic. (I sometimes wonder about my collision joint parameters, but whatever.)
My only complaint is that it is sometimes a dog. If I naively simulate 1000s of interacting bodies, then my performance starts to dive.
I know I can spend time with their spatial grids to reduce the load of the collision system, but before I go through the effort of tuning my code to work with ODE, I wonder if there are any other Open Source/Free physics engines worth looking at. This will be for a commercial app, so I am looking for something more solid and more battle tested than some college student's weekend project.
Announced today at GDC 2019, the new default Unity physics system will be open-source and available to all, while Unity's freshly-added Havok physics system will be proprietary and available to devs willing to pay for the privilege, though how much you'll pay is yet unclear.
Havok is a product you need to purchase.
Havok is a middleware software suite developed by the Irish company Havok. Havok provides a physics engine component and related functions to video games.
Building a fast, accurate, and stable solver is extremely tricky, and people like Havok are understandably protective of the technology. That said, the free systems I'm aware of are:
I'm a huge fan of Bullet myself, but I've heard some misc complaints about it. Most of them seem to center around poor documentation, or occasional problems on some of the secondary platforms like Mac. It'd still be my pick after the "Big 2", Havok and PhysX.
Bullet is awesome, and had been used commercially (eg: in the production of Bolt, and several PS3/Wii games) has support for many platforma and even nVidia's CUDA.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With