Hacker News new | past | comments | ask | show | jobs | submit login
Microsoft acquires Havok (microsoft.com)
142 points by varunagrawal on Oct 4, 2015 | hide | past | favorite | 79 comments



A piece of middleware used in seemingly every single AAA game in the last decade... seems like a solid investment!

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


That's a consequence of using impulse-constraint contact simulation on ragdolls. If you use spring-damper contact simulation, the motion is better, but the compute cost is higher. Impulse-constraint simulations have instantaneous velocity changes, which looks wrong for large objects. I call this the "boink" problem. Here's what it looks like with nonlinear spring-damper contact simulation.[1][2]

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've actually seen your site before and was blown away by the physics in your demo. Thanks for the awesome and detailed post!

I have fond memories of Trespasser. :-)


> That's a consequence of using impulse-constraint contact simulation on ragdolls.

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.


Because, in an impulse-constraint system, all bounces happen instantaneously. An impulse is an infinite force applied over zero time but with a finite energy transfer product. This results in an infinite acceleration over zero time, with a finite change in the velocity vector. That's not how the macroscopic universe works. It doesn't properly model a combined impact/skin compress/slide/skin expand/bounce situation for heavy objects, which is not instantaneous.. This shows. It's why objects banging around in video games all seem to be too light.

A better model is to use compressible "skin" over incompressible "bones", which is what Falling Bodies did.


If you look for videos of people actually getting hit by high powered weapons, or high speed cars, you'll realize that what's unrealistic is your expectation. People in those cases behave a lot like ragdolls, we just don't see it in real life very often (or at all), so don't know what to expect.

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.


I'm definitely aware of the Hollywood effect re: gunshots. :-)

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.


I loved that game! The Adventure of Ser Bootface Kicksalot! Too bad they screwed up the multiplayer game by essentially changing all of the mechanics.


I believe that the problem is that the ragdoll is indestructible. So the limbs, which in reality would have been ripped apart, are instead rendered unrealistically.

Ripping limbs off wouldn't help with ratings though.


I wonder if it is an issue with high mass/inertia ratios. Large ratios between the highest and lowest mass of bodies can lead to ill conditioning of the underlying numerical systems, and practitioners will often 'cheat' by assigning everything the same mass. This could lead to an arm having the same inertia as a foot, which would cause the arm to flail wildly. Of course without knowing what the underlying model and solver is, this is pure speculation.


"Practitioners will often 'cheat' by assigning everything the same mass. This could lead to an arm having the same inertia as a foot"

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


I recall reading that Mirtich paper when I was doing my undergrad project. I still have a paper copy somewhere. You're definitely right in that there's really no excuse for not having proper inertia tensors. Given that paper is from '96, I would think that everybody who needs to know would know by now.

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.


David Eberly has a pretty nice followup to Mirtich [1].

[1] http://www.geometrictools.com/Documentation/PolyhedralMassPr...


Eberly's method is faster, but for rigid-body work, mass properties are precomputed once and stored. It's not necessary to run that algorithm during the simulation. Even for thousand-face polyhedra, it's not that slow to precompute mass properties.


If you build a system that can rip off limbs, and then downmod the forces applied until it doesn't do that anymore, you can get realism and ratings both. Step 1 is optional.


The animation system in the video, Euphoria, is used in quite a few Rockstar titles: http://gta.wikia.com/wiki/Euphoria_Physics


The Grand Theft Auto series (including V) uses bullet, which is a cross-platform open source alternative: https://en.wikipedia.org/wiki/Bullet_(software)#Commercial_g...

But Havok is clearly the dominant player in AAA


They're also (?) using Euphoria: https://en.wikipedia.org/wiki/Euphoria_(software)

I remember this being made a semi-big deal when IV was coming out.

Are they using both, for different parts of physics simulation?


Every game released using unity or unreal uses PhysX rather than Havok. Physx has a sizeable market share in AAA games too.


PhysX is disliked due to it being partial towards Nvidia-based h/w. Also the console SDK (of PhysX) is very compute-intensive and usually not the best solution.


I'm not sure if I'm in the minority, but I find the ragdolls in Dark Souls to be hilarious and charming.

... uh, if rolling around with corpses could be described as hilarious and charming. Wow. I just realized how very strange video games are.


The ragdolls in Dark Souls act like that on purpose, precisely because it's funny how they bounce around. They could easily have just disabled interaction with the player (see DkS2), but thought it was hilarious, so left it in. Also, have you seen what happens if you combine a corpse and the dark woodgrain ring? http://i.imgur.com/tRp71Lp.webm


That is hilarious. Such a memorable game.


That part at 0:54/0:55 where the model side steps the fallen body and then almost trips over is amazingly realistic. Had you shown it to me without telling me what it was , I'd have assumed it was motion capture.


> I wish they would tone down how loose the physics on ragdolls

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).


A lot of people complained when they removed those comical ragdolls in Dark Souls 2, so they added them back in Bloodborne.


True, I was referring to what I assumed to be the default settings that it seems everyone uses. Thanks for clarifying!


A few modern games use Euphoria, so far as I recall one of the GTAs does. Euphoria is used when there are CPU cycles to spare and I have come to understand that it virtually never happens on average (console-equivalent) gaming rigs and only up to 4-5 ragdolls at once on top-end machines [at the time].

It's incredibly expensive technology. Possibly the solution is something in-between?


Euphoria was used in Star Wars Unleashed. It actually looked much much better than the rag dolls demonstrated in the tech demo.

Use the force to levitate a storm trooper as he grabs his buddy only for both to be smashed to the wall. :)


>A piece of middleware used in seemingly every single AAA game in the last decade...

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.


Not an exhaustive list, and a bit of hyperbole on my part :-)

https://en.wikipedia.org/wiki/List_of_games_using_Havok


That's too bad. More people should invest in Bullet now: https://en.wikipedia.org/wiki/Bullet_(software)


wow... does it mean that anything microsoft touches is ruined just "because microsoft" ?


Microsoft is in direct competition with Sony (XboxOne vs PS4). Also less less directly with Mac vs Windows, iOS+Android vs Windows Phone. I say less because this is about a physics engine used in games. XboxOne and PS4 are game machines where as those other platform have much broader interests.

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.


> Where is Renderware now?

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.


All this means is that MS is hedging their investments. Now for every dollar a Sony game makes (that has the Havok engine), MS is going to get a cut.

It may be that Sony willingly boxes out MS by going with another engine, but the games industry doesn't seem that bitter.


Sony has nothing to do with this. It's the game developers who use the engine.


Yes, and Sony produces games, and also entices developers to create exclusives. Those possibly use Havok and Sony may ask exclusives developers not to license it.


Nothing will change. Remember, the XBox One sports a Blu-ray drive, made by their archenemy Sony. (maybe not physically made by Sony, but most patents regarding Bluray are in Sony's hands)


Not necessarily, but if this gets rolled into directx its availability on non-directx platforms might become restricted. This means it makes sense to cultivate alternatives before this happens.


It's historically dangerous to do business at scale with Microsoft. If it were a matter of paying a license fee and using the software, nobody would mind, but getting large-scale licenses from Microsoft almost always involves ridiculous platform-exclusivity agreements and other unpleasant modi operandi.

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.


> The good news is Havok technology may be integrated into DirectX

It would be nowhere good news, since it will make it exclusive to MS platforms only.


>but getting large-scale licenses from Microsoft almost always involves ridiculous platform-exclusivity agreements and other unpleasant modi operandi

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.


Here's an example of Microsoft attempting to shove platform exclusivity into a deal (thankfully, they backed off): http://www.eurogamer.net/articles/2013-12-04-microsoft-revea...

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.


Ummmm, the article you've quoted is related to publishing contract and not a licensing agreement. Exclusivity on publishing is very common. You said that it's also "almost always" a part of licensing. Licensing is what I am curious about since I've never heard of anything like this.

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.


Well, I guess we will find out if this is going to have a negative effect on the multi-platform support.


Do we need to list the countless times they embraced something before using it to lock us all in to their own platform?


With their reputation - I'd say that should be the default expectation, unless proven otherwise.

See https://en.wikipedia.org/wiki/Embrace,_extend_and_extinguish


Ohh my I have never heard of this, do you have any more sources? /s

Come on this is getting as boring as regex. Match /(microsoft|google|apple)/i replace with "EmbraceExtendExtinguish|Shutdown|Unoriginal".


Rain falls, scorpions sting, Buddhist monks give help, and Microsoft embrace-extend-extinguish. It's just in their nature. The corporation protects its financial interests instinctively, like the raindrop falls due to gravity. This is nothing new or unexpected, you just have to keep in mind that your interests might not be the same as Microsoft's (protip: Microsoft's sole interest is making Microsoft richer).


If it's getting boring, you can wait and come back when MS will support Vulkan on Xbox. Let's see how bored you'll get while waiting.


Hopefully now that MS has changed Havok will continue to work on Linux. 10 years ago this would have been worrying.


I doubt MS changed much when it comes to gaming. They still push their lock-in and didn't even join Vulkan working group (which is all about collaborative industry effort). So anything gaming related that they buy is a reason to worry.


That would explain why Minecraft is unplayable on PS4 ever since the acquisition. /s

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...


Sure, wait until Xbox only stuff will appear in it. Don't complain then that you weren't warned.

And FYI, Minecraft was never uniformly supported on all platforms to begin with. Some always had more features than others.


Agree I wonder what that will mean for Linux gaming.


I imagine this is two things for Microsoft: An investment to bolster DirectX and a cloud investment. Microsoft has shown that it wants to push physics calculations into the cloud. They have a pretty incredible demo displaying it, and it will be used for Crackdown. I can only suspect that they will want other dev shops to start utilizing this as it can bolster Azure.


> Microsoft has shown that it wants to push physics calculations into the cloud.

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.


It's interesting that Intel seems to be selling off a lot of the acquisitions that they've acquired in the last few years -- first Mashery and now Havok. I wonder if this is a change of direction from Intel to go back to the chipset/foundry business.


My guess it's the new CEO at Intel, Brian Krzanich, he was previously head of the manufacturing division. The previous CEO was from marketing.


I think Intel is just focusing on their core business.

Especially given it is under existential threat from the ARM world.


Any examples of selling? Although I would agree, one of the largest acquisitions which i had no idea why was McAfee.....


Ahhh the piece of software that brought us the best weapon in game ever - the Painkiller stake gun. Impaling zombies on the walls with it was awesome. Good for them.


You mean Half-Life gravity gun?


You mean any given gun in Reflex?


Half Life 2 was family friendly, slow paced and with boring gameplay. Painkiller was brutal.


This seems obviously correlated with the gaming side of MS. But I wonder if this acquisition is also related to MS's latest ventures into VR/AR, something that a lot of big companies seem to be doing right now. I hope Havok makes HoloLens a great product because I want that thing on my face.


It would be unwise to stop / break it from running on Playstation and Nintendo consoles otherwise the cross platform developers would not be interested in using the middleware so I'm not sure what they are intending on doing.


Can anyone comment on current pros and cons of Havok vs PhysX (which was open-sourced recently by NVIDIA)?


The "open-sourcing" of PhysX has been widely misreported. It is still proprietary. The source is on GitHub, but it's only available to developers with a GameWorks account and isn't under a FOSS license.


It costs nothing to register, but the sources aren't for PhysX they are for the SDK and samples.

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.


If the source for the SDK is available, what part of PhysX isn't available? All of their core algorithms and solvers are available, although the Flex source code isn't available. Game works is another kettle of fish thigh.


Not all solvers are available, GPU solver's aren't, FLEX and APEX are also currently not available. FLEX source won't be released as far as i can tell APEX will be released in some form or another in the future. The basic CPU solvers are there, but the license doesn't really allows you to modify them anyhow.


PhysX isn't Open Source only the free SDK is, all the stuff that actually makes PhysX work is proprietary and is part of NVIDIA GameWorks.

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.


Many of the big hitting AAA games use Havok. Although they haven't launched yet, assassins creed, fallout, Halo, just cause 3. There were plenty last year like Destiny, watch dogs, evil within, shadow of mordor.


To briefly answer your question directly: until a while back Havok had no GPU acceleration, where PhysX had GPU acceleration on NVIDIA cards only (best-effort on CPU for other GPUs). It made sense to always use PhysX because it was comparable to the competition on other GPUs but always better on NVIDIA.

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/


I hope they include it in next DirectX, and it kills Nvidia scam called PhysX.


Don't know anything about PhysX, but I'd imagine they would. I'd also imagine that they'll start building in support for their cloud based physics as used in the upcoming Crackdown 3


cloud based physics?? That is an oxymoron, physics is something happening right now, there is no room for latency due to streaming from the server, unless you want rubberbanding.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: