PhysX or Havok

Started by
13 comments, last by mikfig 15 years, 5 months ago
I am planning on making a game with some friends of mine, and I want to use either PhysX or Havok. However, I'm not sure which one to use. Havok provides Havok Animation and according to my understanding of it, it will handle all the animation code for you. However, PhysX provides Cloth simulation, fluid simulation which is not free with Havok. If it is possible to combine PhysX with Havok's Havok Animation then that is way I think I would go if it wasn't bad for performance. Also I'm not sure if PhysX is better designed to run on multiple cores or if it truly runs on the GPU. Can someone help me decide which is best, I want to have physics simulation in our game but I want to focus on the graphics and gameplay code. Don't worry, I have already heard the "start small and work up" and I have also just recently read http://scientificninja.com/advice/write-games-not-engines. Thanks, Mikfig
"WARNING: Excessive exposure to politicians and other bureaucrats has been linked to aggressive behavior." - Henk Hopla
Advertisement
Havok comes with the same tools companies like Bungie or Valve use. Ageia has just some open source project. If you want to make a game I would go with Havok. The cloth is Ageia is nothing special. You can simply code it yourself. Maybe 200 lines of code to write a Jacobsen cloth solver.

HTH,
-Dirk
Havok tools aren't that great, neither are PhysX though. The fact that PhysX tools are open source is a huge plus, nvidia still have staff working on them, so I don't see how one can rank that as a bad thing. As it currently is Havoks Maya pipeline is more robust, but PhysX is more feature rich but buggy as shit. From a programming view they both have a visual debugger, the difference here is that PhysX visual debugger is A LOT better than Havok, mainly because Havoks doesn't have an object inspector.

In terms of API, Havok is a lot better designed and overall more robust. Once again I'd say that PhysX have more features though. The largest problem with PhysX I think is that most of their engineers most likely weren't top notch programmers, even if they were kick ass at physics, but that's just a hunch :P

One can simulate cloth by using springs with some success, but PhysX cloth solver is no 200 lines of code which someone whips up in an evening. Check out http://www.matthiasmueller.info/publications/hpbd.pdf .

If I didn't need the features of PhysX I would go for Havok, it overall feels better and they have a lot better support ( nvidia provides really shit support for PhysX at least if you're not a serious developer which forks up a shitton of cash ). If I recall correctly the PhysX license is a lot cheaper and overall better for hobby developers.

Quote:
One can simulate cloth by using springs with some success, but PhysX cloth solver is no 200 lines of code which someone whips up in an evening. Check out http://www.matthiasmueller.info/publications/hpbd.pdf .


A cloth solver is indeed implemented in an evening. You don't need a multigrid approach to get the cloth stable. There are much better and simpler ways. I even doubt that this is already implemented in the latest SDK.

Quote:
If I didn't need the features of PhysX I would go for Havok, it overall feels better and they have a lot better support ( nvidia provides really shit support for PhysX at least if you're not a serious developer which forks up a shitton of cash ). If I recall correctly the PhysX license is a lot cheaper and overall better for hobby developers.


To my knowledge both are free on the PC.



Quote:Original post by DonDickieD
Havok comes with the same tools companies like Bungie or Valve use. Ageia has just some open source project. If you want to make a game I would go with Havok. The cloth is Ageia is nothing special. You can simply code it yourself. Maybe 200 lines of code to write a Jacobsen cloth solver.

HTH,
-Dirk


Actually, Ageia PhysX (now nVIDIA PhysX) is not open source, and never was.
Graham Rhodes Moderator, Math & Physics forum @ gamedev.net
Quote:Original post by DonDickieD
To my knowledge both are free on the PC.


Yes, though Havok may require license fees if you wish to sell or distribute your application. Read the EULA carefully!
Graham Rhodes Moderator, Math & Physics forum @ gamedev.net
I was not talking about the engine, but the source for the Maya plug-in which is indeed open source now. See Nima in the Bullet forums
With respect to GPU and multicore, some portions of PhysX can be GPU accelerated (e.g., I think the broad phase stage of collision detection), on some (not all) GPU's. Havok doesn't use the GPU for anything currently, though there used to be a "Havok FX" module that could run some physics-based effects on the GPU. PhysX and Havok both can split some tasks among multiple CPU cores.

Both are excellent physics engines. I personally do like the character animation+physics integration stuff that Havok provides. And the new Havok Behavior module (included as an evaluation license with the free download) makes it nicer still for games that have animated characters (though you'd ultimately have to pay for Behavior if you used that module). The cloth module also appears to be be a for-pay add-on to Havok, so you won't have that with the free download. Now, as for cloth, I kind of like the PhysX cloth, which is pretty robust and supports tearing.
Graham Rhodes Moderator, Math & Physics forum @ gamedev.net
Quote:Original post by DonDickieD

Quote:
One can simulate cloth by using springs with some success, but PhysX cloth solver is no 200 lines of code which someone whips up in an evening. Check out http://www.matthiasmueller.info/publications/hpbd.pdf .


A cloth solver is indeed implemented in an evening...


Probably true if:

1. you've written one before, or know exactly what documents to look at. If not it will likely take much longer to iron out the crinkles

2. you don't need interaction with rigid bodies.

3. you're not worried about performance

Same is true for fluids etc.

The OP is talking about writing a game, not a tech demo...
Quote:Original post by DonDickieD
I was not talking about the engine, but the source for the Maya plug-in which is indeed open source now. See Nima in the Bullet forums


Oh, cool. That was unclear in your original message. But, for the sake of clarity, Nima was originally a third party plug-in, developed by Feeling Software and not Ageia or nVIDIA.
Graham Rhodes Moderator, Math & Physics forum @ gamedev.net

This topic is closed to new replies.

Advertisement