[sldev] Havok4 Public Beta is here!

Andrew Meadows andrew at lindenlab.com
Mon Oct 1 08:25:44 PDT 2007


Here is some more info about the Havok4 project:

(1) The RCCS system is the main thing that caps the crippling lag
in the Havok4 physics engine, so I won't be providing any LSL
override flags for it in the short term.  Complex machines with
spinning wheels, rotors, impellers, and so forth may have to wait
for the improvements that will come sometime after Havok4 is working
well enough for us to deploy it.  The primary goal of the Havok4
project is to reduce the crash rate.

(2) There is known problem where the script engine in Havok4 lags
significantly more than in Havok1.  I don't know why that would be
the case, however the beta version of Bonifacio reproduces the
problem reliably, so we're going to try to figure that out this
week.  Over the weekend I'd expect a few other regions to have
succumbed to the problem.  I mention this only to point out that
not all the lag witnessed in the Havok4 public preview is coming
from the physics engine.

(3) The prim limit for dynamic objects is 31, not 21.  The reason
the limit was not changed in Havok4 is the border crossing problem,
which is unrelated to the physics engine.  The more primitives in an
object (and scripts, and object contents, etc) the longer it takes
save/load the object across the border.  We'll be tackling that
problem later -- reducing the crashes is more important.

(4) Since I was overhauling most of the create-object code paths I
took the time to insert some anti-megaprim code back into the project
which some dev had accidentally removed a few years ago.  However,
at the request of the majority of LL (the "But Megaprims Are Cool"
crowd) I was going to relax the anti-megaprim rules to allow
existing megaprims with dimensions 256 or less.  I just hadn't
got around to doing it before it was pushed into public preview.

(5) Many enhancements to the physics engine will happen after
Havok4 is done enough to deliver.  Some of the ones I already want
to do have been discussed here, such as:
   (a) simplified collision proxies for linked collections of primitives
   (b) per-prim phantom settings
   (c) smarter management of activation/deactivation of simulation islands
      (waking up (or not waking up) collections of objects that
      are all touching)

(6) One of the significant changes under the hood is that it will
be much easier to upgrade or swap out the physics engine in the
future.  So this is a big step toward open sourcing the simulator
code since our inability to distribute the Havok libs is the
largest licensing obstacle we have to deal with.  There is still
lots of work to be done before we could open it up, but progress
is being made.

(7) I don't know if anyone noticed, but ground vehicles are pretty
much busted in the current Havok4 preview.  They tend to snag and
and tumble on the terrain.  I think I fixed it late Friday evening
so that should go out in the next update to the preview.

(8) There are only two LL developers working on the Havok4 project
at the moment.  I estimate that it will be in preview for at least
two weeks, probably more.  When we do start to deploy it we probably
won't be releasing it all at once.  More likely we'll put a few
sandboxes up and move some misc regions over to Havok4, and then
allow some private estates to upgrade.  If everything looks good
after while we'll push it to every region.

- Andrew


More information about the SLDev mailing list