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…