What physics engine do you prefer and why?

Post your questions, suggestions and experiences regarding game design, integration of external libraries here. For irrEdit, irrXML and irrKlang, see the
ambiera forums
Max Power
Posts: 98
Joined: Wed Mar 14, 2012 10:09 am

What physics engine do you prefer and why?

Post by Max Power »

Myself, I have been using NVidia PhysX for many years. Mostly because I had read that it was the fastest at that time. Haven't really looked into Havoc, Bullet, ODE(?), Newton etc. since then and I'm wondering what people think today and what may have happened in the area. Which offers the best features (CCD, particles, non-rigid body types...) and performance?

Some things that bug me about PhysX is that it's not open-source and it's next to impossible to get some help with the engine. The forums are mostly dead and the few people who may give you answers are mostly overwhelmed with anything that's not basics.
CuteAlien
Admin
Posts: 9734
Joined: Mon Mar 06, 2006 2:25 pm
Location: Tübingen, Germany
Contact:

Re: What physics engine do you prefer and why?

Post by CuteAlien »

Bullet is getting extremely popular in the last years. OpenSource with nice license, lots of support, lots of features and used by many games.
IRC: #irrlicht on irc.libera.chat
Code snippet repository: https://github.com/mzeilfelder/irr-playground-micha
Free racer made with Irrlicht: http://www.irrgheist.com/hcraftsource.htm
luthyr
Posts: 69
Joined: Wed Dec 30, 2009 5:47 pm

Re: What physics engine do you prefer and why?

Post by luthyr »

We used PhysX for Octodad and have found it okay to work with, but it can be difficult figuring things out. We also ran into a fair amount of engine bugs that required different workarounds/hacks, since updating versions is often a pain. PhysX makes lots of API changes between versions.

I used Havok a bit before that and really enjoyed using it. The API felt cleaner, but we chose PhysX since it had a comparatively better license and more platform support (for indies at least).
kklouzal
Posts: 343
Joined: Sun Mar 28, 2010 8:14 pm
Location: USA - Arizona

Re: What physics engine do you prefer and why?

Post by kklouzal »

Bullet all the way! Very good license, features, and support. Once Bullet 3.0 is released it will imho by far be the best physics engine available!
Dream Big Or Go Home.
Help Me Help You.
hendu
Posts: 2600
Joined: Sat Dec 18, 2010 12:53 pm

Re: What physics engine do you prefer and why?

Post by hendu »

I've only used Bullet, but it's worked quite fine and fast.
Max Power
Posts: 98
Joined: Wed Mar 14, 2012 10:09 am

Re: What physics engine do you prefer and why?

Post by Max Power »

luthyr wrote:We used PhysX for Octodad and have found it okay to work with, but it can be difficult figuring things out. We also ran into a fair amount of engine bugs that required different workarounds/hacks, since updating versions is often a pain. PhysX makes lots of API changes between versions.

I used Havok a bit before that and really enjoyed using it. The API felt cleaner, but we chose PhysX since it had a comparatively better license and more platform support (for indies at least).

Absolutely. I think I started with version 2.7.something. Adjusting my code to every new release was a pain, especially when it comes to CCD - still haven't re-enabled it in my project since the last update. It's like they pointlessly keep renaming and restructuring things just to annoy people...


I will definitely take a look at bullet then. Is it strongly performance-oriented? I think it was Newton that was all about precision, iirc... Putting performance first was probably the main reason I went with PhysX at the time.
Max Power
Posts: 98
Joined: Wed Mar 14, 2012 10:09 am

Re: What physics engine do you prefer and why?

Post by Max Power »

Meh, I can't compile the demos from the bullet sdk because of "conversion to coff" linker error. Switching off incremental linking doesn't help either this time :(
REDDemon
Developer
Posts: 1044
Joined: Tue Aug 31, 2010 8:06 pm
Location: Genova (Italy)

Re: What physics engine do you prefer and why?

Post by REDDemon »

physx is no no for me : not very optimized for CPU (does not use SSE, you see benefits only with NVIDIA cards XD.), and very limited (only 65 k colliders). also each version has breaking changes and they still have to make a spec for a serializable mesh collider format (it always generates mesh collider on the fly wich is very slow process that could affect loading time and prevent streaming colliders: you can serialize a mesh collider, but it is basically a memory dump, you have no guarantee the file will work on a different platform or with a different PhysX version)

bullet is really good, if you have troubles compiling it then use ODE, but keep in mind ODE will works for very simple games (no soft bodies, no threading, and I doubt it support SSE4 or AVX)

never tried Havok, but its authors claims it is deterministic :)
Junior Irrlicht Developer.
Real value in social networks is not about "increasing" number of followers, but about getting in touch with Amazing people.
- by Me
devsh
Competition winner
Posts: 2057
Joined: Tue Dec 09, 2008 6:00 pm
Location: UK
Contact:

Re: What physics engine do you prefer and why?

Post by devsh »

Its pretty much a contest between Bullet and Havok

for our purposes we need something that we can smash open (imagine doing collision on 1-8 billion voxels in realtime) so we're going with Bullet
Cube_
Posts: 1010
Joined: Mon Oct 24, 2011 10:03 pm
Location: 0x45 61 72 74 68 2c 20 69 6e 20 74 68 65 20 73 6f 6c 20 73 79 73 74 65 6d

Re: What physics engine do you prefer and why?

Post by Cube_ »

bullet, same reason as CuteAlian for why.
"this is not the bottleneck you are looking for"
Virion
Competition winner
Posts: 2148
Joined: Mon Dec 18, 2006 5:04 am

Re: What physics engine do you prefer and why?

Post by Virion »

Anyone still remember Newton Dynamics? http://newtondynamics.com/forum/newton.php
Never personally used it though, but it was quite popular few years back.
Nadro
Posts: 1648
Joined: Sun Feb 19, 2006 9:08 am
Location: Warsaw, Poland

Re: What physics engine do you prefer and why?

Post by Nadro »

I also use Bullet in my projects. Good license, performance and support for a wide range of platforms eg. Windows, Linux, OSX, iOS, Android etc.
Library helping with network requests, tasks management, logger etc in desktop and mobile apps: https://github.com/GrupaPracuj/hermes
Julio Jerez
Posts: 4
Joined: Tue Jul 09, 2013 9:14 am

Re: What physics engine do you prefer and why?

Post by Julio Jerez »

Hi,
This is probably late but since someone made a post over the form I decide to check this forum out again.
When browsing the forum I see that there is a great deal of misinformation spread all over the forum.
Max Power wrote:Myself, I have been using NVidia PhysX for many years. Mostly because I had read that it was the fastest at that time. Haven't really looked into Havoc, Bullet, ODE(?), Newton etc. since then and I'm wondering what people think today and what may have happened in the area. Which offers the best features (CCD, particles, non-rigid body types...) and performance?
kklouzal wrote:Bullet all the way! Very good license, features, and support. Once Bullet 3.0 is released it will imho by far be the best physics engine available!
Max Power wrote:I will definitely take a look at bullet then. Is it strongly performance-oriented? I think it was Newton that was all about precision, iirc... Putting performance first was probably the main reason I went with PhysX at the time.
This misinformation seems to have being originated by some individuals like Mr Kenneth Bodin and Mr. Adrian Boing.
For years the falsehood that Newton engine is slower that PhysX, Bullet, ODE or Havok has being uncontested and there was very little I could do to change that knowing myself that that was a lie.
well that's not longer the case, now there is a way to objectively compared these engines side by side and doing the same things.
Take a look at this Nvidia tool. http://newtondynamics.com/forum/viewtop ... f=9&t=8836

you can also check the nvidia version in GitHub which has a very poor Newton integration just the same way Mr Adrian Boing did 9 year ago and refuse to correct the mistakes. I hope NVidia does not do the same thing that Mr Adrian Boeing did 9 year ago.

To summarize:
The newton engine all versions since 2.00 is, faster, more stable, more accurate and more feature rich than Physx 3.3.x, Bullet all versions, and ODE all versions.
In the case of Physx 3.4 their latest version, Newton In more than half of a demos is faster the Phys 3.3.4 and more accurate. And on the case of the very complex test Physx is faster but no more accurate, when adjusted to match the same stability note engine run at similar speed, with newton being more accurate in all counts.
CuteAlien
Admin
Posts: 9734
Joined: Mon Mar 06, 2006 2:25 pm
Location: Tübingen, Germany
Contact:

Re: What physics engine do you prefer and why?

Post by CuteAlien »

Nice to see a Newton author in our forum :-) I'm glad to see that Newton engine is also using a zlib license now.
IRC: #irrlicht on irc.libera.chat
Code snippet repository: https://github.com/mzeilfelder/irr-playground-micha
Free racer made with Irrlicht: http://www.irrgheist.com/hcraftsource.htm
REDDemon
Developer
Posts: 1044
Joined: Tue Aug 31, 2010 8:06 pm
Location: Genova (Italy)

Re: What physics engine do you prefer and why?

Post by REDDemon »

Newton is immediate star on github
Junior Irrlicht Developer.
Real value in social networks is not about "increasing" number of followers, but about getting in touch with Amazing people.
- by Me
Post Reply