
As Akela previously indicated, Havok4 is indeed out on the preview grid. Andrew Linden gracefully donated some of his time answering a few questions and he will be available for office hours this weekend. Should you want to chat with him directly:
Go to the Brampton Linden Stage (Brampton 106/166/25)
This Saturday September 29, 2007 08:00 AM PDT
Tuesdays 21:00 PDT (ongoing)
Thursdays (starting October 4, 2007) 08:00 PDT
Thanks for your time, Andrew!
[Note: content has been edited to maintain the conversation flow.]
Q: What would you say will be the 3 main improvements from having Havok4?
Andrew: The number one big improvement will be a much more stable simulator. It will be notably harder to crash a simulator by making very complex objects.
Second...there will be performance gains in areas where Havok1 was lagging hard in the physics engine, so not only will crashes be less frequent, but periods of crippling lag will also go down.
Third...Once Havok4 is done, we should be able to add many new features with fairly little effort.
You probably won't notice huge efficiency improvements on a simulator that is loaded by too many scripts or by too many avatars. It will still be possible to lag a sim, but not as easy to lag the physics engine. Lag won't go away.
We're discovering internally that you can lag the physics engine, but it takes many many more objects to do it and you don't crash it.
Andrew: Most of what I test myself are items that someone else reports as broken. Most of that content is stuff that QA (Quality Assurance) members have accumulated in their inventories that they use to test new code in general. So I've been "fixing" code broken for various library items. However, our Governance Team had a folder of grief objects that they had acquired over the months from various grief attacks in Second Life and they tested those against Havok4 with very good results.
When it comes to fixing bugs, most developers prefer a very simple 'recipe' that reproduce the problem 100%. So the QA team often goes to the effort to figure out exactly why some bit of content is breaking and they write a custom script or build a custom object that reproduces the problem. This is why the open preview stage is so important.
Q: What are the most exciting features that are waiting on Havok4 to be implemented before they get into the queue?
Andrew: There are some internal "projects" that are waiting for Havok4 that I'll mention for those who may be interested. These are not things that most SL Residents will notice or care about, but may be interesting from a technical viewpoint. Once we're done with Havok4 then LL's entire developer pool will be able to move forward on:
1. gcc4 for compiling the simulator code (we're currently using gcc3.3 I think)
2. Visual Studio 2005 for all of our projects (this may affect the Open Source client crowd who has been waiting for us to provide supported VisStudio 2005 project files)
3. Also, we'll be able to build our simulator code on Mac and maybe even move toward 64-bit libraries on Linux, which may provide performance boosts all around for simulators running SL
On the SL features front:
1. "joints", which we had to disable months ago. However that is a big project and will probably not happen right after Havok4.
2. improved vehicles: hover over objects, some new behavior flags, maybe even specialized airplane vehicles (lift/drag/stall-speed parameters)
3. improved collision approximations for sculptie objects
4. enable object-parcel collision queries, which would allow parcel owners to move or return objects that overlap on their parcels from neighboring parcels. That is, use the physics engine to compute whether an object is touching a parcel. After that we may be able to make dynamic objects actually "bounce" off of parcels that don't permit their access.
5. some new LSL scriptable "behaviors". For example, I'd like to make it possible to move static objects "smoothly" via scripts.
Q: Are there any negative comments you're anticipating from residents?
Andrew: Actually, I don't expect too many negative responses. The most negative legitimate response will be that some content is busted. There may be some content that just does not work well in the new physics engine. We've already encountered a bit of that.
One of the Lindens has some animals that use llSetForce() to move around and uses magic numbers inside the LSL script to "tune" the animal behavior. Under Havok4 the animals gradually accumulate speed and eventually escape the region
So, yeah, there will be a few things that break and that just can't be fixed under Havok4. The physics engine handles object movement and collisions with very subtle differences. Thus, content that has been "tuned" to work under Havok1 may not work in Havok4.














1. I just discovered that I'm not going to be able to make the Saturday office hour after all. Rather than take advantage of the opportunity to sleep in my wife scheduled some adventure that requires us to leave the house at 07:15. Sidewinder Linden is going to cover for me.
Posted at 2:07AM on Sep 29th 2007 by Andrew Linden