Hell freezes over!

Hell freezes overNo, this is not about Europeans having now to pay Value Added Tax to Linden Lab — I’ve covered it on SLOG already — but something far more unexpected: Havok4 Is Here On The Beta Grid!

In a completely unexpected turn of events, it seems that a “secret team of Linden developers” have finally managed to change the server software to implement a much more recent version of Havok (it’s currently on 4.5, shortly launched before Intel bought the company that created Havok)

So why the big fuss? Well, over a year ago, Andrew Linden and his team, who have been trying to update Havok from the way-obsolete 1.0 version (which is what SL runs) for four whole years now, had one round of open discussion with the residents. He patiently explained that this was way more complex than they have ever dreamed about. In fact, over a year ago, they were on the fifth attempt to upgrade Havok to something more recent, and failing (once more).

The major issue is that Havok is too tightly-bound with Second Life. And from Havok 1.0 to 2.0 — something that came out in late 2003, not long after LL officially launched SL as being “out of Beta” — the codebase utterly changed. It changed so much, in fact, as to render all porting efforts to the newer version almost impossible — it simply was too hard to do, without blowing up everything (which it invariably did). By then, Havok 3.0 had already been released (Havok 4.0 was in Beta) and Andrew said that the differences between Havok 2.0 and 3.0 were not huge (more a difference in performance than in the code), so they might jump to a more advanced version.

Well, residents were very sceptic, of course. This has been “promised” for eternities — in fact, since the early Beta days, people already publicly claimed an upgrade to Havok 2.0!

Why is a more recent version of Havok so important, nay, crucial to Second Life? Well, the current sims waste way too much CPU cycles with the physical engine. It’s an early, first-generation product, and although server-side solutions are not unheard of, it’s usually deployed at both the server and the client. Second Life, however, due to its dynamic nature, requires a server-only solution. And, well, Havok 1.0 was simply not good (or fast!) enough to deal with the whole requirements of its complex physical environment.

Griefers always used the poor performance of the physics engine to bring sims to their knees. But even normal use of the physics engine is way too demanding on SL’s sims. It’s not just physical-enabled items (like vehicles). Havok is used for far more things, allegedly even to calculate where avatars are with sensors, and other regular, daily use of LSL scripting. Some have described Second Life as a “front-end to Havok” — most of the things that rely on movement, detection of items, interaction, etc. are simply fed into Havok, and let it work its magic. Alas, Havok 1.0 is a primitive, shaman-type of magician — too slow! Too many bottlenecks! Too many limitations! And, too much CPU consumption for little results. Havok 4, of course, is the David Copperfield of physics engines, as videos like these can show:

Watch this kind of detail and possibilities on a Second Life viewer near you. Well, almost (Half Life 2 also has a far better renderer than Second Life).

So I’m shocked and in a state of denial now.

I’ve just seen Lucifer running across the grid and begging for a fur coat, now that Hell just froze over…

Print Friendly, PDF & Email

About Gwyneth Llewelyn

I'm just a virtual girl in a virtual world...

  • Bromo Ivory

    Oh I am in denial, too.

    I mean, what will I do when lag is reduced and physical objects move in believable ways – my life will be empty, as I won’t have the physics engine to complain about… I will be forced to wander around with a modicum of contentment.

    This will have far reaching effects – Griefers won’t be able to crash SIMs as easily, either – so we will have to think about them and their needs, too.

    And … I am checking a weather report in Hell, because I am suspecting what you titled your entry …

    (All in all a good thing if they can pull it off)

  • Maybe we’ll be all be able to play virtual bowls in a few months’ time…

  • I’m not so much in a state of denial as a “let’s wait and see” mode. Mainly because practically everything that LL has come up with and hailed as wonderful and terrific etc etc etc have been completely bogus and have ended causing us more and more lag.

    While this does look and sound promising, it is, by no means something I’m taking for granted.

    Anony Mouse
    “Show me…”

  • Anony Mouse, well, you could download the Beta… and create physical objects like crazy 🙂 Unlike what you might expect, the sims will not crash, and it’s at least true that the behaviour on the Beta Grid is, indeed, quite different from the one on the Main Grid, so something was changed there!

    Hell’s definitely cooler if not actually frozen 🙂

  • I’m having a blast experimenting with Havok4 on the Beta Grid. The performance is a big leap over the old system. The sphere prims are especially interesting in that there is no .01 meter gap between them. It really adds to the realism factor.

    Even with 1500 physical boxes all crashing together the sim was going about it’s business, with just a momentary dip in the physics performance.

    You can see a video of my experiments here:

    Fun with Havok4 Physics

  • Wow, thanks for that video… it starts to look like SL is really coming close to what the competing graphic engines were able to do 3-4 years ago 🙂

  • Ananda

    In terms of implications… perhaps the biggest would be *if* (and this is a big if) the simulator load is reduced enough for average use conditions that Linden Lab is able to host a great many more sims on a single server. You mentioned yourself a couple of months back that this appears to be the biggest bottleneck for them, rather than bandwidth or storage capacity.

    Could the day of affordable private simulator space finally be arriving?

  • Very neat… now, once they get scripts to run with the C# bytecode, things will really be nice.

    I just hope there’s a good Open Source physics engine that can be slid underneath in place of the proprietary Havok engine.