Microsoft acquires Havok
blogs.microsoft.com
blogs.microsoft.com
That said, when I see a Havok splash screen when a game is launching, it means "prepare for unrealistic ragdolls" to me. I wish they would tone down how loose the physics on ragdolls are and end up with something more like this: https://www.youtube.com/watch?v=Qi5adyccoKI
I did those animations back in 1996-1997. Havok licensed the patent rights from me, but switched over to impulse-constraint because it was faster and could be done on the 32-bit FPUs of game consoles. Spring-damper simulation has a reputation for failing badly under high forces ("Trespasser", an early Jurassic Park game, was a disaster because of this), but I figured out how to fix that. (You have to use nonlinear simulated springs, and then, having created an insanely stiff system of differential equations, figure out how to integrate them. This can be done well, but it's hard to do it in fixed time, which is a problem for games.)
Havok didn't do too well in their first years. They overexpanded, more or less went broke, a new group of investors and management took over and downsized, and a few years later the new investors exited by selling the company to Intel. The founders didn't come out of it very well.
[1] https://www.youtube.com/watch?v=5lHqEwk7YHs [2] https://www.youtube.com/watch?v=-DaWIHc1VLY
I have fond memories of Trespasser. :-)
Why is that the case? If I recall Erwin Coumans now has generalized coordinate articulated bodies in Bullet, which uses an LCP based impulse system.
A better model is to use compressible "skin" over incompressible "bones", which is what Falling Bodies did.
Now this is just me making up theories, but I think that effect is exacerbated by the fact that kinetic energy scales with the square of velocity, and humans tend to think linearly.
My main complaint with Havok is that once ragdoll mode is activated (usually upon a character's death or an explosion causes them to loose footing), their limbs essentially become spaghetti and flail about wildly. It breaks the immersion for me.
A classic example of this is found in Dark Messiah of Might and Magic. Pretty fun to go through that game beating 90% of the enemies by kicking them into/off of things.
Ripping limbs off wouldn't help with ratings though.
It's fairly common to see totally bogus masses and inertia tensors in simulation. Especially inertia tensors. (Long thin objects have much higher moments of inertia in one axis. This is expressed as a 3x3 inertia tensor.) In my Animats "Falling Bodies" system, everything was composed of convex polyhedrons. For valid non-self-intersecting polyhedra, there's a straightforward way to integrate the total mass and the inertia tensor, developed by Brian Mirtich.[1] I used that to compute the mass properties automatically, without any help from the user. Density was assumed to be that of water unless overridden. That's a good approximation for humans and animals, but high for vehicles with lots of open interior volume.
Before finding Mirtich's paper, I was dividing convex polyhedra into tetrahedrons with one vertex at the barycenter of the polyhedron, computing the inertia tensor for each tetrahedron, translating them to the object center, and adding them up. It's clunky, but it works. Mirtich's method is much cleaner, and will work for all closed non-self-intersecting polyhedra.
There's no excuse for a simulation system not computing the mass properties. Expecting users to input an inertia tensor by hand is hopeless. (Looking at you, Gazebo.)
Here's a good basic test for proper inertia handling - a spinning top.[2] (Raw MP4 file, may need download before playing). That's from an early test of my Falling Bodies around 1996-1997. It spins smoothly, while precessing and wobbling, slows down due to the friction with the ground, and eventually falls over and rolls away. Try that in your physics engine. The better ones get it right.
[1] http://www.cs.berkeley.edu/~jfc/mirtich/massProps.html [2] http://animats.com/images/spinningtopsmall.mp4
There's at least one contact model I'm fairly sure is unknown in the games industry and another I'm not sure about. A friend of mine (George Baciu) wrote a paper for an IEEE conference (Systems, Man, and Cybernetics, I think) on a method that solves the collisions using graph theory. One of the nice things about it is it handles multiple simultaneous collisions correctly. I'm annoyed because I can't find my copy of the paper or even the paper name at the moment. The other one is a volumetric contact model from Yves Gonthier's PhD thesis, "Contact Dynamics Modelling for Robotic Task Simulation" at the University of Waterloo. There's a thesis that uses it for a wheel-soil contact model and there's another thesis that validates it and presents a volumetric friction model.
[1] http://www.geometrictools.com/Documentation/PolyhedralMassPr...
But Havok is clearly the dominant player in AAA
I remember this being made a semi-big deal when IV was coming out.
Are they using both, for different parts of physics simulation?
... uh, if rolling around with corpses could be described as hilarious and charming. Wow. I just realized how very strange video games are.
There's more than one "they", of course. You can certainly fault Havok for the default settings being set for impressive demonstrations rather than realistic immersion. But developers certainly deserve a lot of blame for not tweaking the knobs Havok provides to tone it down.
Look at Dark Souls vs Dark Souls II. Both Havok, one with comical ragdolling and one with very reasonable ragdolling (aside from enemy weapons that will launch themselves 30m in the air when the wielder dies, anyway, or stick straight up at a 90% angle).
It's incredibly expensive technology. Possibly the solution is something in-between?
Use the force to levitate a storm trooper as he grabs his buddy only for both to be smashed to the wall. :)
Is there a citation for this? With more and more game companies using their own graphics engine I would assume they would also use their own physics engine to avoid paying royalties.
If Microsoft either stops supporting non-MS platform or makes them 2nd class (new features first appear on MS platform) then yes, this is a huge problem.
Remember when EA bought Renderware back when tons of game studios were using it? GTA3 was written with it. Where is Renderware now?
It's certainly possible nothing will change but it's just as possible the glaring conflict of interest will influence things badly.
Thankfully confined to the dustbins of history.
EA didn't buy Renderware, they bought Criterion largely for their games studio and just happened to get Renderware as part of the package. The later versions of Renderware were, uhm, not good products so it is just as well they weren't generally available.
It may be that Sony willingly boxes out MS by going with another engine, but the games industry doesn't seem that bitter.
The good news is Havok technology may be integrated into DirectX, which would mean even small shops get cheap access to this technology. It all depends on whether Microsoft regards this acquisition as "making DirectX technology better" or "leveraging developers into preferential treatment for Microsoft platforms."
We'll have to wait and see.
It would be nowhere good news, since it will make it exclusive to MS platforms only.
Can you give a few examples of these agreements? From what I know, everybody who develops for PlayStation licenses MS Visual Studio yet there had been quite a few PS exclusive games over the years. Is this the only exception? Genuinely curious.
This sort of thing is not specific to Microsoft's gaming business. Microsoft's habit of using Windows OEM licensing as a tool to prevent computer manufacturers from shipping other operating systems (especially in the 1990s) is well-documented, for instance.
In your example, the Visual Studio licenses are in-house to the development company. There is a different set of license agreements in place regarding the technology shipped out on game discs. Microsoft is well aware there's more money to be made there than from VS licenses, so they're more flexible on toolchain/development contracts than they are on middleware and production library contracts.
I also believe MS had been sued for the OEM racket in 90s and lost so, while it might be true, it's almost 20 years later now and also, I am not sure it's a licensing contract. Looks more like a re-seller/dealer relationship.
See https://en.wikipedia.org/wiki/Embrace,_extend_and_extinguish
Come on this is getting as boring as regex. Match /(microsoft|google|apple)/i replace with "EmbraceExtendExtinguish|Shutdown|Unoriginal".
Microsoft has the same amount of reasons to "ban" Sony as Apple has to "ban" Samsung. Despite the lawsuits and disagreement Apple still buys a lot of their chips (including their core processor [1]) from Samsung because at the end of the day business is business!
[1] http://www.informationweek.com/mobile/mobile-devices/samsung...
And FYI, Minecraft was never uniformly supported on all platforms to begin with. Some always had more features than others.
Ugh. Yet another excuse for publishers to retain the ability to shut off single-player games some single-digit-number of years after release. :(
Don't get me wrong, I've wanted new and better physics ever since Max Payne 2. Except for some niche games whose names I have forgotten ( :( ), we haven't really gotten good physics yet.
Especially given it is under existential threat from the ARM world.
The GameWorks source code isn't even available to most big developers you need a really special relationship with the green giant to get access to it.
Havok isn't just a physics engine although Havok Physics is probably the most used middleware that Havok makes.
Which is better well it depends, PhysX is supported by more 3rd parties, but you can only have dedicated processing on CUDA enabled GPU's, PhysX supports both AMD and NVIDIA GPU's and probably in the future Intel and maybe mobile ones.
Overall more games use PhysX these days than Havok, it was the defacto standard in the previous decade but not so much today, I don't think a single game came out this year which uses Havok.
It is now likely better to always use Havok FX (which runs on many GPUs), but PhysX had a time lead resulting in it being entrenched as well as being more mature.
The PhysX SDK is also free with immediate download[1] (causing indie devs to more likely use it and blog tutorials about it). Havok has a price tag, but also has a indie program called Strike that has an undetermined (inquiry-walled) price tag.[2]
[1]: http://www.nvidia.com/object/physx_downloads.html [2]: http://www.havok.com/havok-sales/