<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.secondlife.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Sidewinder+Linden</id>
	<title>Second Life Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.secondlife.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Sidewinder+Linden"/>
	<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/wiki/Special:Contributions/Sidewinder_Linden"/>
	<updated>2026-05-25T20:26:24Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Havok4&amp;diff=60868</id>
		<title>Havok4</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Havok4&amp;diff=60868"/>
		<updated>2008-04-01T05:16:12Z</updated>

		<summary type="html">&lt;p&gt;Sidewinder Linden: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Multi-lang}}&lt;br /&gt;
This page provides information on the project, as well as useful information that will help us all to make sure that Havok4 is tested well before it is rolled throughout the main Second Life grid.&lt;br /&gt;
&lt;br /&gt;
==A Historical Note: Why Did &amp;quot;Doing Havok&amp;quot; Take So Long?==&lt;br /&gt;
Some of you who have been around for a long time will know that we talked about replacing Havok1 a long time ago, and did not seem to get this project done, and finally went silent about it. After several false starts, we decided that it would be best to stop talking about the work, or making public commitments, until we were far closer to the goal, and we believe that we are finally at this point. &lt;br /&gt;
&lt;br /&gt;
For &amp;quot;quite some time&amp;quot; we worked to replace Havok1 with Havok2. After working on that project, we realized that we really should rework the interfaces for how Havok is integrated with Second Life. We realized that we needed to define an abstraction layer - a layer of code that would make it easier to do future physics engine migrations so that they don&#039;t take as much effort as this migration took, and to allow for more flexibility down the road. At this point Havok4 became a much more reasonable target than implementing based on a then-older release... and thus we set Havok4 as the target. This project has been significantly larger than any of us anticipated, however the good news is that we are now here, ready for beta testing, and ready to fix the last minute issues before we bring Havok4-based sims to the main grid!&lt;br /&gt;
&lt;br /&gt;
== What Is Havok? ==&lt;br /&gt;
The Second Life virtual world has a lot of moving parts that keep it going. One of these is the [[physics engine | Physics Engine]]. A physics engine is a specialized piece of software that does the &amp;quot;real world&amp;quot; calculations to figure out what do when:&lt;br /&gt;
* Something or someone is pushed&lt;br /&gt;
* Something or someone collides with something or someone else&lt;br /&gt;
* Something or someone is in motion and has momentum&lt;br /&gt;
* Friction or damping slows the motion of something or someone&lt;br /&gt;
&lt;br /&gt;
Havok is a commercially produced physics engine, and Second Life was built using Havok 1. on which it operated for several years.&lt;br /&gt;
&lt;br /&gt;
== How Can I Participate In Havok4 Physics Engine Testing? ==&lt;br /&gt;
You can participate in the Beta Test of Havok4 with a few easy steps:&lt;br /&gt;
# Read &amp;quot;[[What&#039;s Changed With Havok4]]&amp;quot; to understand what should be different, and what should not be different, on the Havok4 Beta Test grid&lt;br /&gt;
# Read &amp;quot;[[Linkability Rules|New Prim Linkability Rules]]&amp;quot; to understand how prim linkage works with Havok4 (it&#039;s better and should be much more reliable!)&lt;br /&gt;
# Login to the Public Issue Tracker at &amp;quot;[https://jira.secondlife.com/ Issue Tracker]&amp;quot; to see how easily you can tell us about problems you find during the beta test&lt;br /&gt;
# [http://secondlife.com/community/preview.php Download the install the Havok4 Beta Viewer here]&lt;br /&gt;
&lt;br /&gt;
== What To Test? ==&lt;br /&gt;
Make sure that all of the your content works on the Havok4 grid, and try as many physics-related things as you can think of as well... Here is a short list, and a link to a page with a more exhaustive list of ideas:&lt;br /&gt;
* Building, linking, unlinking&lt;br /&gt;
* Vehicles&lt;br /&gt;
* Weapons&lt;br /&gt;
* &amp;quot;Spells&amp;quot;&lt;br /&gt;
* Shields&lt;br /&gt;
* Building Tools&lt;br /&gt;
* Rezzing large linked sets of prims&lt;br /&gt;
* Try building simple and complex items, taking them into inventory and rezzing them in different orientations and in different places&lt;br /&gt;
* Does walking, sitting, flying, swimming, running and other avatar motions work the way you expect it to?&lt;br /&gt;
* Do scripts work as expected? &lt;br /&gt;
* Try creating scripts and modifying them&lt;br /&gt;
* Are permissions working correctly?&lt;br /&gt;
* Can you get the sim to crash using &amp;quot;physics crashes&amp;quot;? (those of you who know what this means... &amp;quot;go for it&amp;quot; and let us know if you can... ;)&lt;br /&gt;
&lt;br /&gt;
There are [[Havok4 Beta Test Ideas|Many Things You Can Test In Havok4]] (a list of lots of things that would be helpful for you to test. Feel free to pick and choose from this list and make up your own things to try as well!&lt;br /&gt;
&lt;br /&gt;
== How Do I Stay &amp;quot;In The Loop&amp;quot; With Havok4 Testing? ==&lt;br /&gt;
# Attend &amp;quot;[[Havok4/Office Hours|Havok4 Office Hours]]&amp;quot;&lt;br /&gt;
# TELL US about everything you find using the Public Issue Tracker at &amp;quot;[https://jira.secondlife.com/ Issue Tracker]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Please enter bugs using &amp;quot;Second Life Service - SVC&amp;quot; and when entering the bug choose AFFECTS VERSIONS &amp;quot;Havok4 Beta&amp;quot; and COMPONENTS &amp;quot;Physics&amp;quot; to be sure we see them right away!&lt;br /&gt;
&lt;br /&gt;
== How Will Havok4 Be Tested And Rolled Out? ==&lt;br /&gt;
This project replaces a core component of Second Life, and being sure that &amp;quot;anything that pushes, collides or has inertia&amp;quot; works right is a pretty extensive task. We have already done a lot of internal testing, and plowed through hundreds of internal bug fixes. We will be taking a phased approach to both catch as many problems as early as possible, and reduce risk of issues as Havok4 is rolled out. &lt;br /&gt;
&lt;br /&gt;
=== Phase 1 - Internal Testing On Non-Public Test Grid (DONE!) ===&lt;br /&gt;
We already completed this phase, and had a variety of internal staff work on Havok4 enabled simulators. Basic functions were checked, as well as checking to see that the known physics-related simulator crashes were resolved.&lt;br /&gt;
&lt;br /&gt;
=== Phase 2 - Public Beta Test On Beta Grid (DONE!) ===&lt;br /&gt;
We expect the public beta test for Havok4 to be very active, with many participants. We have prepared a test grid that allows for many types of physics-related tests. &lt;br /&gt;
&lt;br /&gt;
See [[Havok4/Beta_Preview_Regions]] for a detailed region list on the Second Life Beta Preview&lt;br /&gt;
&lt;br /&gt;
NOTE: The Public Beta viewer will be configured to use the beta grid, which will be a snapshot copy of portions of the main grid and a copy of your user account. You can do &amp;quot;anything you want&amp;quot; on this grid without risking damage to your &amp;quot;real account&amp;quot; on the main grid.&lt;br /&gt;
&lt;br /&gt;
=== Phase 3 - Havok4 On A Select Few Main Grid Regions (DONE!) ===&lt;br /&gt;
In this phase we will use the new HetGrid functionality to deploy Havok4 simulators on a small number of regions of the main grid. This will still be a testing phase, and for this phase any participants will need to remember that you will be on the main grid, working with your real inventory (caveat emptor - don&#039;t rez &amp;quot;no copy/transfer&amp;quot; items on these early test Havok4 sims without understanding the potential risks)&lt;br /&gt;
&lt;br /&gt;
=== Phase 4 - Partial Main Grid Rollout (400-500 regions)  (&amp;quot;DONE!&amp;quot; :) ===&lt;br /&gt;
At this point, we will have resolved outstanding issues found during beta testing and the Phase 3 &amp;quot;small deployment in a corner of the main grid&amp;quot; and will deploy Havok4 to a subset of the main grid. &lt;br /&gt;
&lt;br /&gt;
After collecting feedback, if all looks good, we will continue to...&lt;br /&gt;
&lt;br /&gt;
=== Phase 5 - Full Havok4 Rollout On Main Grid (Happening Now!) ===&lt;br /&gt;
If all is clean at this point, we will then roll out the Havok4 engine to the rest of the main grid, and we&#039;ll be &amp;quot;live&amp;quot; with Havok4 everywhere.&lt;br /&gt;
&lt;br /&gt;
== New experiences that are normal ==&lt;br /&gt;
&lt;br /&gt;
=== Ejection and separation of interpenetrating objects ===&lt;br /&gt;
:{{google video|-2623683631644524154|Second Life Havok4 - Exploding Can of Disks}}&lt;br /&gt;
One of the largest improvements over the previous Havok1 engine is that Havok4 supports separation of interpenetrating objects. That is, a cube that is embedded into the ground and turned physical will attempt to work its way out and up, until it has separated from from the ground and then rests on the ground.&lt;br /&gt;
&lt;br /&gt;
The previous engine did not handle interpenetrating objects very well. It would go into a deeply recursive processing loop known as the &amp;quot;Deep Think&amp;quot; condition, trying to determine where the overlapping objects should move, causing the simulator to run very slowly.&lt;br /&gt;
&lt;br /&gt;
The new engine quickly and easily separates overlapping objects. The objects are treated like compressed springs, so that a deeper interpenetration imparts a greater ejection force onto the object. The interpenetration resolver attempts to obey movement constraints and will not explode out through enclosing walls, but will expand out through whatever openings or spaces are available.&lt;br /&gt;
&lt;br /&gt;
Here is a Google Video showing an extreme example of how the interpenetration resolver works. A stack of about 200 very large disks about 0.5 meter thick overlap in a short stack about 10 meters tall, and enclosed inside a large hollow tube. When rezzed on the ground and turned physical, the disks explode upward and out of the top of the tube, with some disks shooting over 300 meters high from the repulsive force of the overlap resolution. No scripted movements or pushes are being applied to the disks. The motion is purely from the interpenetration resolver.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Simulator lag from huge piles of stacked objects ===&lt;br /&gt;
:{{google video|7316931483709158462|simulator lag generated from 565 physical spheres held inside a container}}&lt;br /&gt;
Even though this is a new and improved physics engine that should not crash as frequently as the original Havok1 engine, there are times when the new simulator will still experience very bad lag due to a large number of touching physical objects.&lt;br /&gt;
&lt;br /&gt;
This lag is not a bug, and is not like the old Havok1 Deep Think condition, but is due to a limitation in how physics engines work in general. This same problem affected Havok1, but it wasn&#039;t as obvious, since large stacks often crashed the simulator before this condition could become apparent.&lt;br /&gt;
&lt;br /&gt;
Normally when physical objects slow down to below a critical speed for a period of time, the engine quiets the physics processing for that object, in order to save CPU time for the more active objects.&lt;br /&gt;
&lt;br /&gt;
In order for the physics processing to settle, the object needs to be in contact with a non-moving reference object. A single physical bar coming to a stop touching the ground is therefore quieted.&lt;br /&gt;
&lt;br /&gt;
But for multiple stacked physical objects, it is difficult for them all to settle down, because one or more of the other touching objects may still be slightly moving when the other objects settle. This slight movement of the one then reawakens the objects that previously were settled, resulting in small movements rippling through the stack. The feedback of reawakening constantly circulates through the pile so that none of them are ever really able to settle completely. This constant moving and twitching of the spheres is similar to the physical concept of Brownian Motion with atoms.&lt;br /&gt;
&lt;br /&gt;
This engine lag is not based on the size of the objects involved. A collection of 500 very small stacked objects can cause as much lag as 500 large stacked objects.&lt;br /&gt;
&lt;br /&gt;
=== Thousands of objects that don&#039;t touch do not lag ===&lt;br /&gt;
:{{google video|-2779779276874540721|2000-3400 physical cubes in a sandbox, with no lag:}}&lt;br /&gt;
The Havok4 simulator will run at full speed, if there is enough space between physical objects so that the reawakening collisions are kept to a minimum.&lt;br /&gt;
&lt;br /&gt;
There can be thousands of physical objects in a simulator without any lag, just so long as the objects minimally touch each other.&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
[[LlPushObject/Havok4Implementation|Pseudocode for llPushObject]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Havok4| ]]&lt;/div&gt;</summary>
		<author><name>Sidewinder Linden</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Havok4&amp;diff=60867</id>
		<title>Havok4</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Havok4&amp;diff=60867"/>
		<updated>2008-04-01T05:15:47Z</updated>

		<summary type="html">&lt;p&gt;Sidewinder Linden: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Multi-lang}}&lt;br /&gt;
The beta testing for the Havok4 implementation in Second Life is now in process. This page provides information on the project, as well as useful information that will help us all to make sure that Havok4 is tested well before it is rolled throughout the main Second Life grid.&lt;br /&gt;
&lt;br /&gt;
==A Historical Note: Why Did &amp;quot;Doing Havok&amp;quot; Take So Long?==&lt;br /&gt;
Some of you who have been around for a long time will know that we talked about replacing Havok1 a long time ago, and did not seem to get this project done, and finally went silent about it. After several false starts, we decided that it would be best to stop talking about the work, or making public commitments, until we were far closer to the goal, and we believe that we are finally at this point. &lt;br /&gt;
&lt;br /&gt;
For &amp;quot;quite some time&amp;quot; we worked to replace Havok1 with Havok2. After working on that project, we realized that we really should rework the interfaces for how Havok is integrated with Second Life. We realized that we needed to define an abstraction layer - a layer of code that would make it easier to do future physics engine migrations so that they don&#039;t take as much effort as this migration took, and to allow for more flexibility down the road. At this point Havok4 became a much more reasonable target than implementing based on a then-older release... and thus we set Havok4 as the target. This project has been significantly larger than any of us anticipated, however the good news is that we are now here, ready for beta testing, and ready to fix the last minute issues before we bring Havok4-based sims to the main grid!&lt;br /&gt;
&lt;br /&gt;
== What Is Havok? ==&lt;br /&gt;
The Second Life virtual world has a lot of moving parts that keep it going. One of these is the [[physics engine | Physics Engine]]. A physics engine is a specialized piece of software that does the &amp;quot;real world&amp;quot; calculations to figure out what do when:&lt;br /&gt;
* Something or someone is pushed&lt;br /&gt;
* Something or someone collides with something or someone else&lt;br /&gt;
* Something or someone is in motion and has momentum&lt;br /&gt;
* Friction or damping slows the motion of something or someone&lt;br /&gt;
&lt;br /&gt;
Havok is a commercially produced physics engine, and Second Life was built using Havok 1. on which it operated for several years.&lt;br /&gt;
&lt;br /&gt;
== How Can I Participate In Havok4 Physics Engine Testing? ==&lt;br /&gt;
You can participate in the Beta Test of Havok4 with a few easy steps:&lt;br /&gt;
# Read &amp;quot;[[What&#039;s Changed With Havok4]]&amp;quot; to understand what should be different, and what should not be different, on the Havok4 Beta Test grid&lt;br /&gt;
# Read &amp;quot;[[Linkability Rules|New Prim Linkability Rules]]&amp;quot; to understand how prim linkage works with Havok4 (it&#039;s better and should be much more reliable!)&lt;br /&gt;
# Login to the Public Issue Tracker at &amp;quot;[https://jira.secondlife.com/ Issue Tracker]&amp;quot; to see how easily you can tell us about problems you find during the beta test&lt;br /&gt;
# [http://secondlife.com/community/preview.php Download the install the Havok4 Beta Viewer here]&lt;br /&gt;
&lt;br /&gt;
== What To Test? ==&lt;br /&gt;
Make sure that all of the your content works on the Havok4 grid, and try as many physics-related things as you can think of as well... Here is a short list, and a link to a page with a more exhaustive list of ideas:&lt;br /&gt;
* Building, linking, unlinking&lt;br /&gt;
* Vehicles&lt;br /&gt;
* Weapons&lt;br /&gt;
* &amp;quot;Spells&amp;quot;&lt;br /&gt;
* Shields&lt;br /&gt;
* Building Tools&lt;br /&gt;
* Rezzing large linked sets of prims&lt;br /&gt;
* Try building simple and complex items, taking them into inventory and rezzing them in different orientations and in different places&lt;br /&gt;
* Does walking, sitting, flying, swimming, running and other avatar motions work the way you expect it to?&lt;br /&gt;
* Do scripts work as expected? &lt;br /&gt;
* Try creating scripts and modifying them&lt;br /&gt;
* Are permissions working correctly?&lt;br /&gt;
* Can you get the sim to crash using &amp;quot;physics crashes&amp;quot;? (those of you who know what this means... &amp;quot;go for it&amp;quot; and let us know if you can... ;)&lt;br /&gt;
&lt;br /&gt;
There are [[Havok4 Beta Test Ideas|Many Things You Can Test In Havok4]] (a list of lots of things that would be helpful for you to test. Feel free to pick and choose from this list and make up your own things to try as well!&lt;br /&gt;
&lt;br /&gt;
== How Do I Stay &amp;quot;In The Loop&amp;quot; With Havok4 Testing? ==&lt;br /&gt;
# Attend &amp;quot;[[Havok4/Office Hours|Havok4 Office Hours]]&amp;quot;&lt;br /&gt;
# TELL US about everything you find using the Public Issue Tracker at &amp;quot;[https://jira.secondlife.com/ Issue Tracker]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Please enter bugs using &amp;quot;Second Life Service - SVC&amp;quot; and when entering the bug choose AFFECTS VERSIONS &amp;quot;Havok4 Beta&amp;quot; and COMPONENTS &amp;quot;Physics&amp;quot; to be sure we see them right away!&lt;br /&gt;
&lt;br /&gt;
== How Will Havok4 Be Tested And Rolled Out? ==&lt;br /&gt;
This project replaces a core component of Second Life, and being sure that &amp;quot;anything that pushes, collides or has inertia&amp;quot; works right is a pretty extensive task. We have already done a lot of internal testing, and plowed through hundreds of internal bug fixes. We will be taking a phased approach to both catch as many problems as early as possible, and reduce risk of issues as Havok4 is rolled out. &lt;br /&gt;
&lt;br /&gt;
=== Phase 1 - Internal Testing On Non-Public Test Grid (DONE!) ===&lt;br /&gt;
We already completed this phase, and had a variety of internal staff work on Havok4 enabled simulators. Basic functions were checked, as well as checking to see that the known physics-related simulator crashes were resolved.&lt;br /&gt;
&lt;br /&gt;
=== Phase 2 - Public Beta Test On Beta Grid (DONE!) ===&lt;br /&gt;
We expect the public beta test for Havok4 to be very active, with many participants. We have prepared a test grid that allows for many types of physics-related tests. &lt;br /&gt;
&lt;br /&gt;
See [[Havok4/Beta_Preview_Regions]] for a detailed region list on the Second Life Beta Preview&lt;br /&gt;
&lt;br /&gt;
NOTE: The Public Beta viewer will be configured to use the beta grid, which will be a snapshot copy of portions of the main grid and a copy of your user account. You can do &amp;quot;anything you want&amp;quot; on this grid without risking damage to your &amp;quot;real account&amp;quot; on the main grid.&lt;br /&gt;
&lt;br /&gt;
=== Phase 3 - Havok4 On A Select Few Main Grid Regions (DONE!) ===&lt;br /&gt;
In this phase we will use the new HetGrid functionality to deploy Havok4 simulators on a small number of regions of the main grid. This will still be a testing phase, and for this phase any participants will need to remember that you will be on the main grid, working with your real inventory (caveat emptor - don&#039;t rez &amp;quot;no copy/transfer&amp;quot; items on these early test Havok4 sims without understanding the potential risks)&lt;br /&gt;
&lt;br /&gt;
=== Phase 4 - Partial Main Grid Rollout (400-500 regions)  (&amp;quot;DONE!&amp;quot; :) ===&lt;br /&gt;
At this point, we will have resolved outstanding issues found during beta testing and the Phase 3 &amp;quot;small deployment in a corner of the main grid&amp;quot; and will deploy Havok4 to a subset of the main grid. &lt;br /&gt;
&lt;br /&gt;
After collecting feedback, if all looks good, we will continue to...&lt;br /&gt;
&lt;br /&gt;
=== Phase 5 - Full Havok4 Rollout On Main Grid (Happening Now!) ===&lt;br /&gt;
If all is clean at this point, we will then roll out the Havok4 engine to the rest of the main grid, and we&#039;ll be &amp;quot;live&amp;quot; with Havok4 everywhere.&lt;br /&gt;
&lt;br /&gt;
== New experiences that are normal ==&lt;br /&gt;
&lt;br /&gt;
=== Ejection and separation of interpenetrating objects ===&lt;br /&gt;
:{{google video|-2623683631644524154|Second Life Havok4 - Exploding Can of Disks}}&lt;br /&gt;
One of the largest improvements over the previous Havok1 engine is that Havok4 supports separation of interpenetrating objects. That is, a cube that is embedded into the ground and turned physical will attempt to work its way out and up, until it has separated from from the ground and then rests on the ground.&lt;br /&gt;
&lt;br /&gt;
The previous engine did not handle interpenetrating objects very well. It would go into a deeply recursive processing loop known as the &amp;quot;Deep Think&amp;quot; condition, trying to determine where the overlapping objects should move, causing the simulator to run very slowly.&lt;br /&gt;
&lt;br /&gt;
The new engine quickly and easily separates overlapping objects. The objects are treated like compressed springs, so that a deeper interpenetration imparts a greater ejection force onto the object. The interpenetration resolver attempts to obey movement constraints and will not explode out through enclosing walls, but will expand out through whatever openings or spaces are available.&lt;br /&gt;
&lt;br /&gt;
Here is a Google Video showing an extreme example of how the interpenetration resolver works. A stack of about 200 very large disks about 0.5 meter thick overlap in a short stack about 10 meters tall, and enclosed inside a large hollow tube. When rezzed on the ground and turned physical, the disks explode upward and out of the top of the tube, with some disks shooting over 300 meters high from the repulsive force of the overlap resolution. No scripted movements or pushes are being applied to the disks. The motion is purely from the interpenetration resolver.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Simulator lag from huge piles of stacked objects ===&lt;br /&gt;
:{{google video|7316931483709158462|simulator lag generated from 565 physical spheres held inside a container}}&lt;br /&gt;
Even though this is a new and improved physics engine that should not crash as frequently as the original Havok1 engine, there are times when the new simulator will still experience very bad lag due to a large number of touching physical objects.&lt;br /&gt;
&lt;br /&gt;
This lag is not a bug, and is not like the old Havok1 Deep Think condition, but is due to a limitation in how physics engines work in general. This same problem affected Havok1, but it wasn&#039;t as obvious, since large stacks often crashed the simulator before this condition could become apparent.&lt;br /&gt;
&lt;br /&gt;
Normally when physical objects slow down to below a critical speed for a period of time, the engine quiets the physics processing for that object, in order to save CPU time for the more active objects.&lt;br /&gt;
&lt;br /&gt;
In order for the physics processing to settle, the object needs to be in contact with a non-moving reference object. A single physical bar coming to a stop touching the ground is therefore quieted.&lt;br /&gt;
&lt;br /&gt;
But for multiple stacked physical objects, it is difficult for them all to settle down, because one or more of the other touching objects may still be slightly moving when the other objects settle. This slight movement of the one then reawakens the objects that previously were settled, resulting in small movements rippling through the stack. The feedback of reawakening constantly circulates through the pile so that none of them are ever really able to settle completely. This constant moving and twitching of the spheres is similar to the physical concept of Brownian Motion with atoms.&lt;br /&gt;
&lt;br /&gt;
This engine lag is not based on the size of the objects involved. A collection of 500 very small stacked objects can cause as much lag as 500 large stacked objects.&lt;br /&gt;
&lt;br /&gt;
=== Thousands of objects that don&#039;t touch do not lag ===&lt;br /&gt;
:{{google video|-2779779276874540721|2000-3400 physical cubes in a sandbox, with no lag:}}&lt;br /&gt;
The Havok4 simulator will run at full speed, if there is enough space between physical objects so that the reawakening collisions are kept to a minimum.&lt;br /&gt;
&lt;br /&gt;
There can be thousands of physical objects in a simulator without any lag, just so long as the objects minimally touch each other.&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
[[LlPushObject/Havok4Implementation|Pseudocode for llPushObject]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Havok4| ]]&lt;/div&gt;</summary>
		<author><name>Sidewinder Linden</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=What%27s_Changed_With_Havok4&amp;diff=60837</id>
		<title>What&#039;s Changed With Havok4</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=What%27s_Changed_With_Havok4&amp;diff=60837"/>
		<updated>2008-04-01T00:36:29Z</updated>

		<summary type="html">&lt;p&gt;Sidewinder Linden: /* Other Misc Changes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Interpenetration Resolution===&lt;br /&gt;
When objects collide, they can end up &amp;quot;interpenetrating&amp;quot;, in a situation where the two objects are &amp;quot;attempting to occupy the same space&amp;quot;. Havok4 resolves interpenetration scenarios in a different and generally better way than Havok1. &lt;br /&gt;
* Interpenetration resolution is enabled for all dynamic objects&lt;br /&gt;
** In Havok 1 dynamic objects that started penetrating would stop colliding until they ceased to penetrate&lt;br /&gt;
** In Havok 4 dynamic objects will be pushed apart when penetrating&lt;br /&gt;
&lt;br /&gt;
===Volume Detection===&lt;br /&gt;
* Volume detection is now the exact shape of the object instead of the bounding box&lt;br /&gt;
* Uniformly scaled spheres are implicit (roll like spheres instead of faceted blocks)&lt;br /&gt;
* Shapes are quantized&lt;br /&gt;
** The colliding shape may differ slightly from the aparent shape&lt;br /&gt;
** The errors should be smaller than the collision tolerance threshold, and thus not noticeable&lt;br /&gt;
** Shape errors would be most noticable for large objects if they are noticable at all&lt;br /&gt;
&lt;br /&gt;
===Object Mass===&lt;br /&gt;
* llGetMass() will tend to return a larger value when an object is attached &lt;br /&gt;
** Attachment &amp;quot;mass&amp;quot; is estimated using a bounding box for each prim instead of the real shape&lt;br /&gt;
&lt;br /&gt;
===Linkability Rules===&lt;br /&gt;
* [[Linkability_Rules | Link rules]] are different&lt;br /&gt;
** More robust: depend only on primitive position and scale (NOT rotation, cut, shear, twist, taper, or hollow)&lt;br /&gt;
** Larger linkability distances (proportional to sum of scales, rather than the root mean square of the sum)&lt;br /&gt;
&lt;br /&gt;
===Avatar Motion===&lt;br /&gt;
* Avatar motion will be subtly different&lt;br /&gt;
** Flying/walking diagonal will not result in a speed boost&lt;br /&gt;
** Speed of walking up hills and ramps may be different&lt;br /&gt;
** Steepest hill or ramp that can be navigated may be different&lt;br /&gt;
** Largest step obstacle that can be climbed may be different&lt;br /&gt;
** Speed of walking up stairs may be different&lt;br /&gt;
** Run speed may be different&lt;br /&gt;
** Jump height and horizontal response may be different&lt;br /&gt;
** Acceleration/deceleration is higher when walking and stopping&lt;br /&gt;
&lt;br /&gt;
===Energy===&lt;br /&gt;
* Energy system thresholds may be different&lt;br /&gt;
** Energy depends on mass of all prims in an object&lt;br /&gt;
** Energy of attachments are always equal to or greater than when non-attached (because of llMass() issue mentioned above)&lt;br /&gt;
* llPushObject() can no longer push arbitrarily hard at long distances&lt;br /&gt;
** The absolute largest push an object can attempt to make is determined by the size of its Energy tank (which is then attenuated based on its current Energy budget and distance^3 as per Havok1 implementation)&lt;br /&gt;
&lt;br /&gt;
===Physics Engine Overload And Level Of Detail (LOD)===&lt;br /&gt;
* The collision level of detail (LOD) of objects may change when the physics engine lags (this is controlled by the Runtime Collision Control System (RCCS))&lt;br /&gt;
** At the moment there is only one LOD below the highest level: primitives collide like boxes&lt;br /&gt;
** Correct collision shapes will gradually return to normal when the physics engine recovers (at a rate of one prim per physics engine timestep)&lt;br /&gt;
** When objects transition from static to dynamic their LOD will be pre-emptively dropped and they will collide at the lower LOD until the RCCS automagically raises it&lt;br /&gt;
* Duplicate scripted Actions are collapsed on multi-prim objects.&lt;br /&gt;
** An Action is a behavior that pushes the object around, such as a Vehicle, Buoyancy, or Hover behavior.&lt;br /&gt;
** Making two scripts on one object each producing the same Action (such as llSetBuoyancy()) will result in a single instance of the Action instead of two&lt;br /&gt;
** When two scripts on distinct prims of a multi-prim object try to produce duplicate Actions from two distinct primitives and the prims are then separated in a delink operation then the single Action instance will migrate with the script that first created it; the other piece of the object will have no Action.&lt;br /&gt;
&lt;br /&gt;
===Other Misc Changes===&lt;br /&gt;
* Vertical simulation extent has been increased from 768m to 4096m (a change that will become visible once an updated viewer version is released, following the Havok4 deploy), however script and UI limitations have not yet been changed accordingly yet.&lt;br /&gt;
&lt;br /&gt;
===What Is NOT Changed?===&lt;br /&gt;
* Dynamic objects are still limited to 31 primitives&lt;br /&gt;
* Most primitives still have a &amp;quot;collision tolerance&amp;quot; of 0.1 meters (everything except implicit spheres)&lt;br /&gt;
* Spheres with non-uniform scale will collide with faceted geometry&lt;br /&gt;
* Region crossing lag will not be significantly relieved by Havok4 changes&lt;br /&gt;
* llGetCenterOfMass() on attachments fails&lt;br /&gt;
&lt;br /&gt;
===Known Bugs===&lt;br /&gt;
* There is a resource leak in the simulator that may cause it to crash after an extended uptime&lt;br /&gt;
* Avatars don&#039;t always sit in the &amp;quot;right spot&amp;quot;&lt;br /&gt;
* LSL collision() events are broken&lt;br /&gt;
* LSL VolumeDetect feature is broken&lt;/div&gt;</summary>
		<author><name>Sidewinder Linden</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Havok4&amp;diff=60779</id>
		<title>Havok4</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Havok4&amp;diff=60779"/>
		<updated>2008-03-31T22:02:12Z</updated>

		<summary type="html">&lt;p&gt;Sidewinder Linden: /* Phase 5 - Full Havok4 Rollout On Main Grid (deploy to rest of grid) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Multi-lang}}&lt;br /&gt;
The beta testing for the Havok4 implementation in Second Life is now in process. This page provides information on the project, as well as useful information that will help us all to make sure that Havok4 is tested well before it is rolled throughout the main Second Life grid.&lt;br /&gt;
&lt;br /&gt;
Please read the [[Havok4/Beta1 Release Notes]]&lt;br /&gt;
&lt;br /&gt;
==A Historical Note: Why Did &amp;quot;Doing Havok&amp;quot; Take So Long?==&lt;br /&gt;
Some of you who have been around for a long time will know that we talked about replacing Havok1 a long time ago, and did not seem to get this project done, and finally went silent about it. After several false starts, we decided that it would be best to stop talking about the work, or making public commitments, until we were far closer to the goal, and we believe that we are finally at this point. &lt;br /&gt;
&lt;br /&gt;
For &amp;quot;quite some time&amp;quot; we worked to replace Havok1 with Havok2. After working on that project, we realized that we really should rework the interfaces for how Havok is integrated with Second Life. We realized that we needed to define an abstraction layer - a layer of code that would make it easier to do future physics engine migrations so that they don&#039;t take as much effort as this migration took, and to allow for more flexibility down the road. At this point Havok4 became a much more reasonable target than implementing based on a then-older release... and thus we set Havok4 as the target. This project has been significantly larger than any of us anticipated, however the good news is that we are now here, ready for beta testing, and ready to fix the last minute issues before we bring Havok4-based sims to the main grid!&lt;br /&gt;
&lt;br /&gt;
== What Is Havok? ==&lt;br /&gt;
The Second Life virtual world has a lot of moving parts that keep it going. One of these is the [[physics engine | Physics Engine]]. A physics engine is a specialized piece of software that does the &amp;quot;real world&amp;quot; calculations to figure out what do when:&lt;br /&gt;
* Something or someone is pushed&lt;br /&gt;
* Something or someone collides with something or someone else&lt;br /&gt;
* Something or someone is in motion and has momentum&lt;br /&gt;
* Friction or damping slows the motion of something or someone&lt;br /&gt;
&lt;br /&gt;
Havok is a commercially produced physics engine, and Second Life was built using Havok 1. on which it operated for several years.&lt;br /&gt;
&lt;br /&gt;
== How Can I Participate In Havok4 Physics Engine Testing? ==&lt;br /&gt;
You can participate in the Beta Test of Havok4 with a few easy steps:&lt;br /&gt;
# Read &amp;quot;[[What&#039;s Changed With Havok4]]&amp;quot; to understand what should be different, and what should not be different, on the Havok4 Beta Test grid&lt;br /&gt;
# Read &amp;quot;[[Linkability Rules|New Prim Linkability Rules]]&amp;quot; to understand how prim linkage works with Havok4 (it&#039;s better and should be much more reliable!)&lt;br /&gt;
# Login to the Public Issue Tracker at &amp;quot;[https://jira.secondlife.com/ Issue Tracker]&amp;quot; to see how easily you can tell us about problems you find during the beta test&lt;br /&gt;
# [http://secondlife.com/community/preview.php Download the install the Havok4 Beta Viewer here]&lt;br /&gt;
&lt;br /&gt;
== What To Test? ==&lt;br /&gt;
Make sure that all of the your content works on the Havok4 grid, and try as many physics-related things as you can think of as well... Here is a short list, and a link to a page with a more exhaustive list of ideas:&lt;br /&gt;
* Building, linking, unlinking&lt;br /&gt;
* Vehicles&lt;br /&gt;
* Weapons&lt;br /&gt;
* &amp;quot;Spells&amp;quot;&lt;br /&gt;
* Shields&lt;br /&gt;
* Building Tools&lt;br /&gt;
* Rezzing large linked sets of prims&lt;br /&gt;
* Try building simple and complex items, taking them into inventory and rezzing them in different orientations and in different places&lt;br /&gt;
* Does walking, sitting, flying, swimming, running and other avatar motions work the way you expect it to?&lt;br /&gt;
* Do scripts work as expected? &lt;br /&gt;
* Try creating scripts and modifying them&lt;br /&gt;
* Are permissions working correctly?&lt;br /&gt;
* Can you get the sim to crash using &amp;quot;physics crashes&amp;quot;? (those of you who know what this means... &amp;quot;go for it&amp;quot; and let us know if you can... ;)&lt;br /&gt;
&lt;br /&gt;
There are [[Havok4 Beta Test Ideas|Many Things You Can Test In Havok4]] (a list of lots of things that would be helpful for you to test. Feel free to pick and choose from this list and make up your own things to try as well!&lt;br /&gt;
&lt;br /&gt;
== How Do I Stay &amp;quot;In The Loop&amp;quot; With Havok4 Testing? ==&lt;br /&gt;
# Attend &amp;quot;[[Havok4/Office Hours|Havok4 Office Hours]]&amp;quot;&lt;br /&gt;
# TELL US about everything you find using the Public Issue Tracker at &amp;quot;[https://jira.secondlife.com/ Issue Tracker]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Please enter bugs using &amp;quot;Second Life Service - SVC&amp;quot; and when entering the bug choose AFFECTS VERSIONS &amp;quot;Havok4 Beta&amp;quot; and COMPONENTS &amp;quot;Physics&amp;quot; to be sure we see them right away!&lt;br /&gt;
&lt;br /&gt;
== How Will Havok4 Be Tested And Rolled Out? ==&lt;br /&gt;
This project replaces a core component of Second Life, and being sure that &amp;quot;anything that pushes, collides or has inertia&amp;quot; works right is a pretty extensive task. We have already done a lot of internal testing, and plowed through hundreds of internal bug fixes. We will be taking a phased approach to both catch as many problems as early as possible, and reduce risk of issues as Havok4 is rolled out. &lt;br /&gt;
&lt;br /&gt;
=== Phase 1 - Internal Testing On Non-Public Test Grid (DONE!) ===&lt;br /&gt;
We already completed this phase, and had a variety of internal staff work on Havok4 enabled simulators. Basic functions were checked, as well as checking to see that the known physics-related simulator crashes were resolved.&lt;br /&gt;
&lt;br /&gt;
=== Phase 2 - Public Beta Test On Beta Grid (DONE!) ===&lt;br /&gt;
We expect the public beta test for Havok4 to be very active, with many participants. We have prepared a test grid that allows for many types of physics-related tests. &lt;br /&gt;
&lt;br /&gt;
See [[Havok4/Beta_Preview_Regions]] for a detailed region list on the Second Life Beta Preview&lt;br /&gt;
&lt;br /&gt;
NOTE: The Public Beta viewer will be configured to use the beta grid, which will be a snapshot copy of portions of the main grid and a copy of your user account. You can do &amp;quot;anything you want&amp;quot; on this grid without risking damage to your &amp;quot;real account&amp;quot; on the main grid.&lt;br /&gt;
&lt;br /&gt;
=== Phase 3 - Havok4 On A Select Few Main Grid Regions (DONE!) ===&lt;br /&gt;
In this phase we will use the new HetGrid functionality to deploy Havok4 simulators on a small number of regions of the main grid. This will still be a testing phase, and for this phase any participants will need to remember that you will be on the main grid, working with your real inventory (caveat emptor - don&#039;t rez &amp;quot;no copy/transfer&amp;quot; items on these early test Havok4 sims without understanding the potential risks)&lt;br /&gt;
&lt;br /&gt;
=== Phase 4 - Partial Main Grid Rollout (400-500 regions)  (&amp;quot;DONE!&amp;quot; :) ===&lt;br /&gt;
At this point, we will have resolved outstanding issues found during beta testing and the Phase 3 &amp;quot;small deployment in a corner of the main grid&amp;quot; and will deploy Havok4 to a subset of the main grid. &lt;br /&gt;
&lt;br /&gt;
After collecting feedback, if all looks good, we will continue to...&lt;br /&gt;
&lt;br /&gt;
=== Phase 5 - Full Havok4 Rollout On Main Grid (Happening Now!) ===&lt;br /&gt;
If all is clean at this point, we will then roll out the Havok4 engine to the rest of the main grid, and we&#039;ll be &amp;quot;live&amp;quot; with Havok4 everywhere.&lt;br /&gt;
&lt;br /&gt;
== New experiences that are normal ==&lt;br /&gt;
&lt;br /&gt;
=== Ejection and separation of interpenetrating objects ===&lt;br /&gt;
:{{google video|-2623683631644524154|Second Life Havok4 - Exploding Can of Disks}}&lt;br /&gt;
One of the largest improvements over the previous Havok1 engine is that Havok4 supports separation of interpenetrating objects. That is, a cube that is embedded into the ground and turned physical will attempt to work its way out and up, until it has separated from from the ground and then rests on the ground.&lt;br /&gt;
&lt;br /&gt;
The previous engine did not handle interpenetrating objects very well. It would go into a deeply recursive processing loop known as the &amp;quot;Deep Think&amp;quot; condition, trying to determine where the overlapping objects should move, causing the simulator to run very slowly.&lt;br /&gt;
&lt;br /&gt;
The new engine quickly and easily separates overlapping objects. The objects are treated like compressed springs, so that a deeper interpenetration imparts a greater ejection force onto the object. The interpenetration resolver attempts to obey movement constraints and will not explode out through enclosing walls, but will expand out through whatever openings or spaces are available.&lt;br /&gt;
&lt;br /&gt;
Here is a Google Video showing an extreme example of how the interpenetration resolver works. A stack of about 200 very large disks about 0.5 meter thick overlap in a short stack about 10 meters tall, and enclosed inside a large hollow tube. When rezzed on the ground and turned physical, the disks explode upward and out of the top of the tube, with some disks shooting over 300 meters high from the repulsive force of the overlap resolution. No scripted movements or pushes are being applied to the disks. The motion is purely from the interpenetration resolver.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Simulator lag from huge piles of stacked objects ===&lt;br /&gt;
:{{google video|7316931483709158462|simulator lag generated from 565 physical spheres held inside a container}}&lt;br /&gt;
Even though this is a new and improved physics engine that should not crash as frequently as the original Havok1 engine, there are times when the new simulator will still experience very bad lag due to a large number of touching physical objects.&lt;br /&gt;
&lt;br /&gt;
This lag is not a bug, and is not like the old Havok1 Deep Think condition, but is due to a limitation in how physics engines work in general. This same problem affected Havok1, but it wasn&#039;t as obvious, since large stacks often crashed the simulator before this condition could become apparent.&lt;br /&gt;
&lt;br /&gt;
Normally when physical objects slow down to below a critical speed for a period of time, the engine quiets the physics processing for that object, in order to save CPU time for the more active objects.&lt;br /&gt;
&lt;br /&gt;
In order for the physics processing to settle, the object needs to be in contact with a non-moving reference object. A single physical bar coming to a stop touching the ground is therefore quieted.&lt;br /&gt;
&lt;br /&gt;
But for multiple stacked physical objects, it is difficult for them all to settle down, because one or more of the other touching objects may still be slightly moving when the other objects settle. This slight movement of the one then reawakens the objects that previously were settled, resulting in small movements rippling through the stack. The feedback of reawakening constantly circulates through the pile so that none of them are ever really able to settle completely. This constant moving and twitching of the spheres is similar to the physical concept of Brownian Motion with atoms.&lt;br /&gt;
&lt;br /&gt;
This engine lag is not based on the size of the objects involved. A collection of 500 very small stacked objects can cause as much lag as 500 large stacked objects.&lt;br /&gt;
&lt;br /&gt;
=== Thousands of objects that don&#039;t touch do not lag ===&lt;br /&gt;
:{{google video|-2779779276874540721|2000-3400 physical cubes in a sandbox, with no lag:}}&lt;br /&gt;
The Havok4 simulator will run at full speed, if there is enough space between physical objects so that the reawakening collisions are kept to a minimum.&lt;br /&gt;
&lt;br /&gt;
There can be thousands of physical objects in a simulator without any lag, just so long as the objects minimally touch each other.&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
[[LlPushObject/Havok4Implementation|Pseudocode for llPushObject]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Havok4| ]]&lt;/div&gt;</summary>
		<author><name>Sidewinder Linden</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Havok4&amp;diff=60506</id>
		<title>Havok4</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Havok4&amp;diff=60506"/>
		<updated>2008-03-30T07:17:19Z</updated>

		<summary type="html">&lt;p&gt;Sidewinder Linden: /* Phase 4 - Partial Main Grid Rollout (400-500 regions)  (&amp;quot;YOU ARE HERE!&amp;quot; :) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Multi-lang}}&lt;br /&gt;
The beta testing for the Havok4 implementation in Second Life is now in process. This page provides information on the project, as well as useful information that will help us all to make sure that Havok4 is tested well before it is rolled throughout the main Second Life grid.&lt;br /&gt;
&lt;br /&gt;
Please read the [[Havok4/Beta1 Release Notes]]&lt;br /&gt;
&lt;br /&gt;
==A Historical Note: Why Did &amp;quot;Doing Havok&amp;quot; Take So Long?==&lt;br /&gt;
Some of you who have been around for a long time will know that we talked about replacing Havok1 a long time ago, and did not seem to get this project done, and finally went silent about it. After several false starts, we decided that it would be best to stop talking about the work, or making public commitments, until we were far closer to the goal, and we believe that we are finally at this point. &lt;br /&gt;
&lt;br /&gt;
For &amp;quot;quite some time&amp;quot; we worked to replace Havok1 with Havok2. After working on that project, we realized that we really should rework the interfaces for how Havok is integrated with Second Life. We realized that we needed to define an abstraction layer - a layer of code that would make it easier to do future physics engine migrations so that they don&#039;t take as much effort as this migration took, and to allow for more flexibility down the road. At this point Havok4 became a much more reasonable target than implementing based on a then-older release... and thus we set Havok4 as the target. This project has been significantly larger than any of us anticipated, however the good news is that we are now here, ready for beta testing, and ready to fix the last minute issues before we bring Havok4-based sims to the main grid!&lt;br /&gt;
&lt;br /&gt;
== What Is Havok? ==&lt;br /&gt;
The Second Life virtual world has a lot of moving parts that keep it going. One of these is the [[physics engine | Physics Engine]]. A physics engine is a specialized piece of software that does the &amp;quot;real world&amp;quot; calculations to figure out what do when:&lt;br /&gt;
* Something or someone is pushed&lt;br /&gt;
* Something or someone collides with something or someone else&lt;br /&gt;
* Something or someone is in motion and has momentum&lt;br /&gt;
* Friction or damping slows the motion of something or someone&lt;br /&gt;
&lt;br /&gt;
Havok is a commercially produced physics engine, and Second Life was built using Havok 1. on which it operated for several years.&lt;br /&gt;
&lt;br /&gt;
== How Can I Participate In Havok4 Physics Engine Testing? ==&lt;br /&gt;
You can participate in the Beta Test of Havok4 with a few easy steps:&lt;br /&gt;
# Read &amp;quot;[[What&#039;s Changed With Havok4]]&amp;quot; to understand what should be different, and what should not be different, on the Havok4 Beta Test grid&lt;br /&gt;
# Read &amp;quot;[[Linkability Rules|New Prim Linkability Rules]]&amp;quot; to understand how prim linkage works with Havok4 (it&#039;s better and should be much more reliable!)&lt;br /&gt;
# Login to the Public Issue Tracker at &amp;quot;[https://jira.secondlife.com/ Issue Tracker]&amp;quot; to see how easily you can tell us about problems you find during the beta test&lt;br /&gt;
# [http://secondlife.com/community/preview.php Download the install the Havok4 Beta Viewer here]&lt;br /&gt;
&lt;br /&gt;
== What To Test? ==&lt;br /&gt;
Make sure that all of the your content works on the Havok4 grid, and try as many physics-related things as you can think of as well... Here is a short list, and a link to a page with a more exhaustive list of ideas:&lt;br /&gt;
* Building, linking, unlinking&lt;br /&gt;
* Vehicles&lt;br /&gt;
* Weapons&lt;br /&gt;
* &amp;quot;Spells&amp;quot;&lt;br /&gt;
* Shields&lt;br /&gt;
* Building Tools&lt;br /&gt;
* Rezzing large linked sets of prims&lt;br /&gt;
* Try building simple and complex items, taking them into inventory and rezzing them in different orientations and in different places&lt;br /&gt;
* Does walking, sitting, flying, swimming, running and other avatar motions work the way you expect it to?&lt;br /&gt;
* Do scripts work as expected? &lt;br /&gt;
* Try creating scripts and modifying them&lt;br /&gt;
* Are permissions working correctly?&lt;br /&gt;
* Can you get the sim to crash using &amp;quot;physics crashes&amp;quot;? (those of you who know what this means... &amp;quot;go for it&amp;quot; and let us know if you can... ;)&lt;br /&gt;
&lt;br /&gt;
There are [[Havok4 Beta Test Ideas|Many Things You Can Test In Havok4]] (a list of lots of things that would be helpful for you to test. Feel free to pick and choose from this list and make up your own things to try as well!&lt;br /&gt;
&lt;br /&gt;
== How Do I Stay &amp;quot;In The Loop&amp;quot; With Havok4 Testing? ==&lt;br /&gt;
# Attend &amp;quot;[[Havok4/Office Hours|Havok4 Office Hours]]&amp;quot;&lt;br /&gt;
# TELL US about everything you find using the Public Issue Tracker at &amp;quot;[https://jira.secondlife.com/ Issue Tracker]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Please enter bugs using &amp;quot;Second Life Service - SVC&amp;quot; and when entering the bug choose AFFECTS VERSIONS &amp;quot;Havok4 Beta&amp;quot; and COMPONENTS &amp;quot;Physics&amp;quot; to be sure we see them right away!&lt;br /&gt;
&lt;br /&gt;
== How Will Havok4 Be Tested And Rolled Out? ==&lt;br /&gt;
This project replaces a core component of Second Life, and being sure that &amp;quot;anything that pushes, collides or has inertia&amp;quot; works right is a pretty extensive task. We have already done a lot of internal testing, and plowed through hundreds of internal bug fixes. We will be taking a phased approach to both catch as many problems as early as possible, and reduce risk of issues as Havok4 is rolled out. &lt;br /&gt;
&lt;br /&gt;
=== Phase 1 - Internal Testing On Non-Public Test Grid (DONE!) ===&lt;br /&gt;
We already completed this phase, and had a variety of internal staff work on Havok4 enabled simulators. Basic functions were checked, as well as checking to see that the known physics-related simulator crashes were resolved.&lt;br /&gt;
&lt;br /&gt;
=== Phase 2 - Public Beta Test On Beta Grid (DONE!) ===&lt;br /&gt;
We expect the public beta test for Havok4 to be very active, with many participants. We have prepared a test grid that allows for many types of physics-related tests. &lt;br /&gt;
&lt;br /&gt;
See [[Havok4/Beta_Preview_Regions]] for a detailed region list on the Second Life Beta Preview&lt;br /&gt;
&lt;br /&gt;
NOTE: The Public Beta viewer will be configured to use the beta grid, which will be a snapshot copy of portions of the main grid and a copy of your user account. You can do &amp;quot;anything you want&amp;quot; on this grid without risking damage to your &amp;quot;real account&amp;quot; on the main grid.&lt;br /&gt;
&lt;br /&gt;
=== Phase 3 - Havok4 On A Select Few Main Grid Regions (DONE!) ===&lt;br /&gt;
In this phase we will use the new HetGrid functionality to deploy Havok4 simulators on a small number of regions of the main grid. This will still be a testing phase, and for this phase any participants will need to remember that you will be on the main grid, working with your real inventory (caveat emptor - don&#039;t rez &amp;quot;no copy/transfer&amp;quot; items on these early test Havok4 sims without understanding the potential risks)&lt;br /&gt;
&lt;br /&gt;
=== Phase 4 - Partial Main Grid Rollout (400-500 regions)  (&amp;quot;DONE!&amp;quot; :) ===&lt;br /&gt;
At this point, we will have resolved outstanding issues found during beta testing and the Phase 3 &amp;quot;small deployment in a corner of the main grid&amp;quot; and will deploy Havok4 to a subset of the main grid. &lt;br /&gt;
&lt;br /&gt;
After collecting feedback, if all looks good, we will continue to...&lt;br /&gt;
&lt;br /&gt;
=== Phase 5 - Full Havok4 Rollout On Main Grid (deploy to rest of grid) ===&lt;br /&gt;
If all is clean at this point, we will then roll out the Havok4 engine to the rest of the main grid, and we&#039;ll be &amp;quot;live&amp;quot; with Havok4 everywhere.&lt;br /&gt;
&lt;br /&gt;
== New experiences that are normal ==&lt;br /&gt;
&lt;br /&gt;
=== Ejection and separation of interpenetrating objects ===&lt;br /&gt;
:{{google video|-2623683631644524154|Second Life Havok4 - Exploding Can of Disks}}&lt;br /&gt;
One of the largest improvements over the previous Havok1 engine is that Havok4 supports separation of interpenetrating objects. That is, a cube that is embedded into the ground and turned physical will attempt to work its way out and up, until it has separated from from the ground and then rests on the ground.&lt;br /&gt;
&lt;br /&gt;
The previous engine did not handle interpenetrating objects very well. It would go into a deeply recursive processing loop known as the &amp;quot;Deep Think&amp;quot; condition, trying to determine where the overlapping objects should move, causing the simulator to run very slowly.&lt;br /&gt;
&lt;br /&gt;
The new engine quickly and easily separates overlapping objects. The objects are treated like compressed springs, so that a deeper interpenetration imparts a greater ejection force onto the object. The interpenetration resolver attempts to obey movement constraints and will not explode out through enclosing walls, but will expand out through whatever openings or spaces are available.&lt;br /&gt;
&lt;br /&gt;
Here is a Google Video showing an extreme example of how the interpenetration resolver works. A stack of about 200 very large disks about 0.5 meter thick overlap in a short stack about 10 meters tall, and enclosed inside a large hollow tube. When rezzed on the ground and turned physical, the disks explode upward and out of the top of the tube, with some disks shooting over 300 meters high from the repulsive force of the overlap resolution. No scripted movements or pushes are being applied to the disks. The motion is purely from the interpenetration resolver.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Simulator lag from huge piles of stacked objects ===&lt;br /&gt;
:{{google video|7316931483709158462|simulator lag generated from 565 physical spheres held inside a container}}&lt;br /&gt;
Even though this is a new and improved physics engine that should not crash as frequently as the original Havok1 engine, there are times when the new simulator will still experience very bad lag due to a large number of touching physical objects.&lt;br /&gt;
&lt;br /&gt;
This lag is not a bug, and is not like the old Havok1 Deep Think condition, but is due to a limitation in how physics engines work in general. This same problem affected Havok1, but it wasn&#039;t as obvious, since large stacks often crashed the simulator before this condition could become apparent.&lt;br /&gt;
&lt;br /&gt;
Normally when physical objects slow down to below a critical speed for a period of time, the engine quiets the physics processing for that object, in order to save CPU time for the more active objects.&lt;br /&gt;
&lt;br /&gt;
In order for the physics processing to settle, the object needs to be in contact with a non-moving reference object. A single physical bar coming to a stop touching the ground is therefore quieted.&lt;br /&gt;
&lt;br /&gt;
But for multiple stacked physical objects, it is difficult for them all to settle down, because one or more of the other touching objects may still be slightly moving when the other objects settle. This slight movement of the one then reawakens the objects that previously were settled, resulting in small movements rippling through the stack. The feedback of reawakening constantly circulates through the pile so that none of them are ever really able to settle completely. This constant moving and twitching of the spheres is similar to the physical concept of Brownian Motion with atoms.&lt;br /&gt;
&lt;br /&gt;
This engine lag is not based on the size of the objects involved. A collection of 500 very small stacked objects can cause as much lag as 500 large stacked objects.&lt;br /&gt;
&lt;br /&gt;
=== Thousands of objects that don&#039;t touch do not lag ===&lt;br /&gt;
:{{google video|-2779779276874540721|2000-3400 physical cubes in a sandbox, with no lag:}}&lt;br /&gt;
The Havok4 simulator will run at full speed, if there is enough space between physical objects so that the reawakening collisions are kept to a minimum.&lt;br /&gt;
&lt;br /&gt;
There can be thousands of physical objects in a simulator without any lag, just so long as the objects minimally touch each other.&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
[[LlPushObject/Havok4Implementation|Pseudocode for llPushObject]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Havok4| ]]&lt;/div&gt;</summary>
		<author><name>Sidewinder Linden</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Havok4/Beta_Preview_Regions&amp;diff=56477</id>
		<title>Havok4/Beta Preview Regions</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Havok4/Beta_Preview_Regions&amp;diff=56477"/>
		<updated>2008-02-28T04:48:44Z</updated>

		<summary type="html">&lt;p&gt;Sidewinder Linden: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;CORE BETA PREVIEW REGIONS&lt;br /&gt;
* These regions stay on the Beta Preview to represent various categories of Second Life regions&lt;br /&gt;
&lt;br /&gt;
Aviation&lt;br /&gt;
   Abbotts&lt;br /&gt;
&lt;br /&gt;
Orientation/Welcome/Help Islands&lt;br /&gt;
   Ahern&lt;br /&gt;
   Bonifacio&lt;br /&gt;
   Dore&lt;br /&gt;
   Help Island&lt;br /&gt;
   Orientation Island 11&lt;br /&gt;
   Orientation Island 5&lt;br /&gt;
   TSL Volunteer Island&lt;br /&gt;
&lt;br /&gt;
Mainland Adjacent Regions&lt;br /&gt;
   Blue&lt;br /&gt;
   Mauve&lt;br /&gt;
   Lime&lt;br /&gt;
   Mocha&lt;br /&gt;
&lt;br /&gt;
Combat Regions&lt;br /&gt;
   Combat (sandbox) - Red Team&#039;s HQ&lt;br /&gt;
   Combat (sandbox) Rausch&lt;br /&gt;
   Combat (sandbox) - Blue Team&#039;s HQ&lt;br /&gt;
   Sandbox - Weapons testing (no damag&lt;br /&gt;
   TSL Weapons Testing Sandbox&lt;br /&gt;
&lt;br /&gt;
Vehicle Regions&lt;br /&gt;
   PSU CS199&lt;br /&gt;
   Periwinkle&lt;br /&gt;
   Purple&lt;br /&gt;
&lt;br /&gt;
General Sandbox Regions&lt;br /&gt;
   Sandbox Island&lt;br /&gt;
   Sandbox Island Extension&lt;br /&gt;
   Sandbox Island 3 (TG)&lt;br /&gt;
   Sandbox Island 4 (TG)&lt;br /&gt;
&lt;br /&gt;
SL Sailing Course Regions (void/water)&lt;br /&gt;
   Bismarck Sea&lt;br /&gt;
   Bougainville Strait&lt;br /&gt;
   New Georgia Sound&lt;br /&gt;
   Sanchon&lt;br /&gt;
   Santa Catalina&lt;br /&gt;
   Santa Rosa&lt;br /&gt;
&lt;br /&gt;
Internal Test Regions&lt;br /&gt;
   Balance&lt;br /&gt;
   Bethel&lt;br /&gt;
&lt;br /&gt;
HAVOK1 REFERENCE REGIONS&lt;br /&gt;
* These regions are running the current Second Life Grid release simulator version, for comparison with the Havok4 build&lt;br /&gt;
   Fame Havok1&lt;br /&gt;
   Fortuna Havok1&lt;br /&gt;
   Freelon Havok1&lt;br /&gt;
   TextureTest Havok1&lt;br /&gt;
&lt;br /&gt;
MONO TEST REGIONS&lt;br /&gt;
* These regions are NOT running Havok4, and are instead running a beta version of the MONO enabled simulator&lt;br /&gt;
   Sandbox Wanderton MONO&lt;br /&gt;
   Sandbox Cordova MONO&lt;br /&gt;
   Sandbox Goguen MONO&lt;br /&gt;
   Sandbox Newcomb MONO&lt;br /&gt;
&lt;br /&gt;
RESIDENT REGIONS&lt;br /&gt;
* These regions will change over time, and are present at the request of the region owner&lt;br /&gt;
   Ballers City&lt;br /&gt;
   Hedgetopia&lt;br /&gt;
   Jeffrey&lt;br /&gt;
   Kenora&lt;br /&gt;
   Lakeside Shoppes&lt;br /&gt;
   Land of Hope&lt;br /&gt;
   Laurel Arts Isle&lt;br /&gt;
   Lazuli&lt;br /&gt;
   Matatae&lt;br /&gt;
   Manila City&lt;br /&gt;
   mobit&lt;br /&gt;
   Pacidlux&lt;br /&gt;
   Ryder Arctic&lt;br /&gt;
   Ryder Haven&lt;br /&gt;
   Suffugium&lt;br /&gt;
   The Roman Empire&lt;br /&gt;
   The Spartan Empire&lt;br /&gt;
   The Magic Soapbox&lt;br /&gt;
   Wish&lt;/div&gt;</summary>
		<author><name>Sidewinder Linden</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Havok4&amp;diff=56253</id>
		<title>Havok4</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Havok4&amp;diff=56253"/>
		<updated>2008-02-27T04:59:50Z</updated>

		<summary type="html">&lt;p&gt;Sidewinder Linden: /* Phase 2 - Public Beta Test On Beta Grid (DONE!) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Multi-lang}}&lt;br /&gt;
The beta testing for the Havok4 implementation in Second Life is now in process. This page provides information on the project, as well as useful information that will help us all to make sure that Havok4 is tested well before it is rolled throughout the main Second Life grid.&lt;br /&gt;
&lt;br /&gt;
Please read the [[Havok4/Beta1 Release Notes]]&lt;br /&gt;
&lt;br /&gt;
==A Historical Note: Why Did &amp;quot;Doing Havok&amp;quot; Take So Long?==&lt;br /&gt;
Some of you who have been around for a long time will know that we talked about replacing Havok1 a long time ago, and did not seem to get this project done, and finally went silent about it. After several false starts, we decided that it would be best to stop talking about the work, or making public commitments, until we were far closer to the goal, and we believe that we are finally at this point. &lt;br /&gt;
&lt;br /&gt;
For &amp;quot;quite some time&amp;quot; we worked to replace Havok1 with Havok2. After working on that project, we realized that we really should rework the interfaces for how Havok is integrated with Second Life. We realized that we needed to define an abstraction layer - a layer of code that would make it easier to do future physics engine migrations so that they don&#039;t take as much effort as this migration took, and to allow for more flexibility down the road. At this point Havok4 became a much more reasonable target than implementing based on a then-older release... and thus we set Havok4 as the target. This project has been significantly larger than any of us anticipated, however the good news is that we are now here, ready for beta testing, and ready to fix the last minute issues before we bring Havok4-based sims to the main grid!&lt;br /&gt;
&lt;br /&gt;
== What Is Havok? ==&lt;br /&gt;
The Second Life virtual world has a lot of moving parts that keep it going. One of these is the [[physics engine | Physics Engine]]. A physics engine is a specialized piece of software that does the &amp;quot;real world&amp;quot; calculations to figure out what do when:&lt;br /&gt;
* Something or someone is pushed&lt;br /&gt;
* Something or someone collides with something or someone else&lt;br /&gt;
* Something or someone is in motion and has momentum&lt;br /&gt;
* Friction or damping slows the motion of something or someone&lt;br /&gt;
&lt;br /&gt;
Havok is a commercially produced physics engine, and Second Life was built using Havok 1. on which it operated for several years.&lt;br /&gt;
&lt;br /&gt;
== How Can I Participate In Havok4 Physics Engine Testing? ==&lt;br /&gt;
You can participate in the Beta Test of Havok4 with a few easy steps:&lt;br /&gt;
# Read &amp;quot;[[What&#039;s Changed With Havok4]]&amp;quot; to understand what should be different, and what should not be different, on the Havok4 Beta Test grid&lt;br /&gt;
# Read &amp;quot;[[Linkability Rules|New Prim Linkability Rules]]&amp;quot; to understand how prim linkage works with Havok4 (it&#039;s better and should be much more reliable!)&lt;br /&gt;
# Login to the Public Issue Tracker at &amp;quot;[https://jira.secondlife.com/ Issue Tracker]&amp;quot; to see how easily you can tell us about problems you find during the beta test&lt;br /&gt;
# [http://secondlife.com/community/preview.php Download the install the Havok4 Beta Viewer here]&lt;br /&gt;
&lt;br /&gt;
== What To Test? ==&lt;br /&gt;
Make sure that all of the your content works on the Havok4 grid, and try as many physics-related things as you can think of as well... Here is a short list, and a link to a page with a more exhaustive list of ideas:&lt;br /&gt;
* Building, linking, unlinking&lt;br /&gt;
* Vehicles&lt;br /&gt;
* Weapons&lt;br /&gt;
* &amp;quot;Spells&amp;quot;&lt;br /&gt;
* Shields&lt;br /&gt;
* Building Tools&lt;br /&gt;
* Rezzing large linked sets of prims&lt;br /&gt;
* Try building simple and complex items, taking them into inventory and rezzing them in different orientations and in different places&lt;br /&gt;
* Does walking, sitting, flying, swimming, running and other avatar motions work the way you expect it to?&lt;br /&gt;
* Do scripts work as expected? &lt;br /&gt;
* Try creating scripts and modifying them&lt;br /&gt;
* Are permissions working correctly?&lt;br /&gt;
* Can you get the sim to crash using &amp;quot;physics crashes&amp;quot;? (those of you who know what this means... &amp;quot;go for it&amp;quot; and let us know if you can... ;)&lt;br /&gt;
&lt;br /&gt;
There are [[Havok4 Beta Test Ideas|Many Things You Can Test In Havok4]] (a list of lots of things that would be helpful for you to test. Feel free to pick and choose from this list and make up your own things to try as well!&lt;br /&gt;
&lt;br /&gt;
== How Do I Stay &amp;quot;In The Loop&amp;quot; With Havok4 Testing? ==&lt;br /&gt;
# Attend &amp;quot;[[Havok4/Office Hours|Havok4 Office Hours]]&amp;quot;&lt;br /&gt;
# TELL US about everything you find using the Public Issue Tracker at &amp;quot;[https://jira.secondlife.com/ Issue Tracker]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Please enter bugs using &amp;quot;Second Life Service - SVC&amp;quot; and when entering the bug choose AFFECTS VERSIONS &amp;quot;Havok4 Beta&amp;quot; and COMPONENTS &amp;quot;Physics&amp;quot; to be sure we see them right away!&lt;br /&gt;
&lt;br /&gt;
== How Will Havok4 Be Tested And Rolled Out? ==&lt;br /&gt;
This project replaces a core component of Second Life, and being sure that &amp;quot;anything that pushes, collides or has inertia&amp;quot; works right is a pretty extensive task. We have already done a lot of internal testing, and plowed through hundreds of internal bug fixes. We will be taking a phased approach to both catch as many problems as early as possible, and reduce risk of issues as Havok4 is rolled out. &lt;br /&gt;
&lt;br /&gt;
=== Phase 1 - Internal Testing On Non-Public Test Grid (DONE!) ===&lt;br /&gt;
We already completed this phase, and had a variety of internal staff work on Havok4 enabled simulators. Basic functions were checked, as well as checking to see that the known physics-related simulator crashes were resolved.&lt;br /&gt;
&lt;br /&gt;
=== Phase 2 - Public Beta Test On Beta Grid (DONE!) ===&lt;br /&gt;
We expect the public beta test for Havok4 to be very active, with many participants. We have prepared a test grid that allows for many types of physics-related tests. &lt;br /&gt;
&lt;br /&gt;
See [[Havok4/Beta_Preview_Regions]] for a detailed region list on the Second Life Beta Preview&lt;br /&gt;
&lt;br /&gt;
NOTE: The Public Beta viewer will be configured to use the beta grid, which will be a snapshot copy of portions of the main grid and a copy of your user account. You can do &amp;quot;anything you want&amp;quot; on this grid without risking damage to your &amp;quot;real account&amp;quot; on the main grid.&lt;br /&gt;
&lt;br /&gt;
=== Phase 3 - Havok4 On A Select Few Main Grid Regions (DONE!) ===&lt;br /&gt;
In this phase we will use the new HetGrid functionality to deploy Havok4 simulators on a small number of regions of the main grid. This will still be a testing phase, and for this phase any participants will need to remember that you will be on the main grid, working with your real inventory (caveat emptor - don&#039;t rez &amp;quot;no copy/transfer&amp;quot; items on these early test Havok4 sims without understanding the potential risks)&lt;br /&gt;
&lt;br /&gt;
=== Phase 4 - Partial Main Grid Rollout (400-500 regions)  (&amp;quot;YOU ARE HERE!&amp;quot; :) ===&lt;br /&gt;
At this point, we will have resolved outstanding issues found during beta testing and the Phase 3 &amp;quot;small deployment in a corner of the main grid&amp;quot; and will deploy Havok4 to a subset of the main grid. &lt;br /&gt;
&lt;br /&gt;
After collecting feedback, if all looks good, we will continue to...&lt;br /&gt;
&lt;br /&gt;
=== Phase 5 - Full Havok4 Rollout On Main Grid (deploy to rest of grid) ===&lt;br /&gt;
If all is clean at this point, we will then roll out the Havok4 engine to the rest of the main grid, and we&#039;ll be &amp;quot;live&amp;quot; with Havok4 everywhere.&lt;br /&gt;
&lt;br /&gt;
== New experiences that are normal ==&lt;br /&gt;
&lt;br /&gt;
=== Ejection and separation of interpenetrating objects ===&lt;br /&gt;
:{{google video|-2623683631644524154|Second Life Havok4 - Exploding Can of Disks}}&lt;br /&gt;
One of the largest improvements over the previous Havok1 engine is that Havok4 supports separation of interpenetrating objects. That is, a cube that is embedded into the ground and turned physical will attempt to work its way out and up, until it has separated from from the ground and then rests on the ground.&lt;br /&gt;
&lt;br /&gt;
The previous engine did not handle interpenetrating objects very well. It would go into a deeply recursive processing loop known as the &amp;quot;Deep Think&amp;quot; condition, trying to determine where the overlapping objects should move, causing the simulator to run very slowly.&lt;br /&gt;
&lt;br /&gt;
The new engine quickly and easily separates overlapping objects. The objects are treated like compressed springs, so that a deeper interpenetration imparts a greater ejection force onto the object. The interpenetration resolver attempts to obey movement constraints and will not explode out through enclosing walls, but will expand out through whatever openings or spaces are available.&lt;br /&gt;
&lt;br /&gt;
Here is a Google Video showing an extreme example of how the interpenetration resolver works. A stack of about 200 very large disks about 0.5 meter thick overlap in a short stack about 10 meters tall, and enclosed inside a large hollow tube. When rezzed on the ground and turned physical, the disks explode upward and out of the top of the tube, with some disks shooting over 300 meters high from the repulsive force of the overlap resolution. No scripted movements or pushes are being applied to the disks. The motion is purely from the interpenetration resolver.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Simulator lag from huge piles of stacked objects ===&lt;br /&gt;
:{{google video|7316931483709158462|simulator lag generated from 565 physical spheres held inside a container}}&lt;br /&gt;
Even though this is a new and improved physics engine that should not crash as frequently as the original Havok1 engine, there are times when the new simulator will still experience very bad lag due to a large number of touching physical objects.&lt;br /&gt;
&lt;br /&gt;
This lag is not a bug, and is not like the old Havok1 Deep Think condition, but is due to a limitation in how physics engines work in general. This same problem affected Havok1, but it wasn&#039;t as obvious, since large stacks often crashed the simulator before this condition could become apparent.&lt;br /&gt;
&lt;br /&gt;
Normally when physical objects slow down to below a critical speed for a period of time, the engine quiets the physics processing for that object, in order to save CPU time for the more active objects.&lt;br /&gt;
&lt;br /&gt;
In order for the physics processing to settle, the object needs to be in contact with a non-moving reference object. A single physical bar coming to a stop touching the ground is therefore quieted.&lt;br /&gt;
&lt;br /&gt;
But for multiple stacked physical objects, it is difficult for them all to settle down, because one or more of the other touching objects may still be slightly moving when the other objects settle. This slight movement of the one then reawakens the objects that previously were settled, resulting in small movements rippling through the stack. The feedback of reawakening constantly circulates through the pile so that none of them are ever really able to settle completely. This constant moving and twitching of the spheres is similar to the physical concept of Brownian Motion with atoms.&lt;br /&gt;
&lt;br /&gt;
This engine lag is not based on the size of the objects involved. A collection of 500 very small stacked objects can cause as much lag as 500 large stacked objects.&lt;br /&gt;
&lt;br /&gt;
=== Thousands of objects that don&#039;t touch do not lag ===&lt;br /&gt;
:{{google video|-2779779276874540721|2000-3400 physical cubes in a sandbox, with no lag:}}&lt;br /&gt;
The Havok4 simulator will run at full speed, if there is enough space between physical objects so that the reawakening collisions are kept to a minimum.&lt;br /&gt;
&lt;br /&gt;
There can be thousands of physical objects in a simulator without any lag, just so long as the objects minimally touch each other.&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
[[LlPushObject/Havok4Implementation|Pseudocode for llPushObject]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Havok4| ]]&lt;/div&gt;</summary>
		<author><name>Sidewinder Linden</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Havok4&amp;diff=56252</id>
		<title>Havok4</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Havok4&amp;diff=56252"/>
		<updated>2008-02-27T04:59:05Z</updated>

		<summary type="html">&lt;p&gt;Sidewinder Linden: /* Phase 2 - Public Beta Test On Beta Grid (DONE!) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Multi-lang}}&lt;br /&gt;
The beta testing for the Havok4 implementation in Second Life is now in process. This page provides information on the project, as well as useful information that will help us all to make sure that Havok4 is tested well before it is rolled throughout the main Second Life grid.&lt;br /&gt;
&lt;br /&gt;
Please read the [[Havok4/Beta1 Release Notes]]&lt;br /&gt;
&lt;br /&gt;
==A Historical Note: Why Did &amp;quot;Doing Havok&amp;quot; Take So Long?==&lt;br /&gt;
Some of you who have been around for a long time will know that we talked about replacing Havok1 a long time ago, and did not seem to get this project done, and finally went silent about it. After several false starts, we decided that it would be best to stop talking about the work, or making public commitments, until we were far closer to the goal, and we believe that we are finally at this point. &lt;br /&gt;
&lt;br /&gt;
For &amp;quot;quite some time&amp;quot; we worked to replace Havok1 with Havok2. After working on that project, we realized that we really should rework the interfaces for how Havok is integrated with Second Life. We realized that we needed to define an abstraction layer - a layer of code that would make it easier to do future physics engine migrations so that they don&#039;t take as much effort as this migration took, and to allow for more flexibility down the road. At this point Havok4 became a much more reasonable target than implementing based on a then-older release... and thus we set Havok4 as the target. This project has been significantly larger than any of us anticipated, however the good news is that we are now here, ready for beta testing, and ready to fix the last minute issues before we bring Havok4-based sims to the main grid!&lt;br /&gt;
&lt;br /&gt;
== What Is Havok? ==&lt;br /&gt;
The Second Life virtual world has a lot of moving parts that keep it going. One of these is the [[physics engine | Physics Engine]]. A physics engine is a specialized piece of software that does the &amp;quot;real world&amp;quot; calculations to figure out what do when:&lt;br /&gt;
* Something or someone is pushed&lt;br /&gt;
* Something or someone collides with something or someone else&lt;br /&gt;
* Something or someone is in motion and has momentum&lt;br /&gt;
* Friction or damping slows the motion of something or someone&lt;br /&gt;
&lt;br /&gt;
Havok is a commercially produced physics engine, and Second Life was built using Havok 1. on which it operated for several years.&lt;br /&gt;
&lt;br /&gt;
== How Can I Participate In Havok4 Physics Engine Testing? ==&lt;br /&gt;
You can participate in the Beta Test of Havok4 with a few easy steps:&lt;br /&gt;
# Read &amp;quot;[[What&#039;s Changed With Havok4]]&amp;quot; to understand what should be different, and what should not be different, on the Havok4 Beta Test grid&lt;br /&gt;
# Read &amp;quot;[[Linkability Rules|New Prim Linkability Rules]]&amp;quot; to understand how prim linkage works with Havok4 (it&#039;s better and should be much more reliable!)&lt;br /&gt;
# Login to the Public Issue Tracker at &amp;quot;[https://jira.secondlife.com/ Issue Tracker]&amp;quot; to see how easily you can tell us about problems you find during the beta test&lt;br /&gt;
# [http://secondlife.com/community/preview.php Download the install the Havok4 Beta Viewer here]&lt;br /&gt;
&lt;br /&gt;
== What To Test? ==&lt;br /&gt;
Make sure that all of the your content works on the Havok4 grid, and try as many physics-related things as you can think of as well... Here is a short list, and a link to a page with a more exhaustive list of ideas:&lt;br /&gt;
* Building, linking, unlinking&lt;br /&gt;
* Vehicles&lt;br /&gt;
* Weapons&lt;br /&gt;
* &amp;quot;Spells&amp;quot;&lt;br /&gt;
* Shields&lt;br /&gt;
* Building Tools&lt;br /&gt;
* Rezzing large linked sets of prims&lt;br /&gt;
* Try building simple and complex items, taking them into inventory and rezzing them in different orientations and in different places&lt;br /&gt;
* Does walking, sitting, flying, swimming, running and other avatar motions work the way you expect it to?&lt;br /&gt;
* Do scripts work as expected? &lt;br /&gt;
* Try creating scripts and modifying them&lt;br /&gt;
* Are permissions working correctly?&lt;br /&gt;
* Can you get the sim to crash using &amp;quot;physics crashes&amp;quot;? (those of you who know what this means... &amp;quot;go for it&amp;quot; and let us know if you can... ;)&lt;br /&gt;
&lt;br /&gt;
There are [[Havok4 Beta Test Ideas|Many Things You Can Test In Havok4]] (a list of lots of things that would be helpful for you to test. Feel free to pick and choose from this list and make up your own things to try as well!&lt;br /&gt;
&lt;br /&gt;
== How Do I Stay &amp;quot;In The Loop&amp;quot; With Havok4 Testing? ==&lt;br /&gt;
# Attend &amp;quot;[[Havok4/Office Hours|Havok4 Office Hours]]&amp;quot;&lt;br /&gt;
# TELL US about everything you find using the Public Issue Tracker at &amp;quot;[https://jira.secondlife.com/ Issue Tracker]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Please enter bugs using &amp;quot;Second Life Service - SVC&amp;quot; and when entering the bug choose AFFECTS VERSIONS &amp;quot;Havok4 Beta&amp;quot; and COMPONENTS &amp;quot;Physics&amp;quot; to be sure we see them right away!&lt;br /&gt;
&lt;br /&gt;
== How Will Havok4 Be Tested And Rolled Out? ==&lt;br /&gt;
This project replaces a core component of Second Life, and being sure that &amp;quot;anything that pushes, collides or has inertia&amp;quot; works right is a pretty extensive task. We have already done a lot of internal testing, and plowed through hundreds of internal bug fixes. We will be taking a phased approach to both catch as many problems as early as possible, and reduce risk of issues as Havok4 is rolled out. &lt;br /&gt;
&lt;br /&gt;
=== Phase 1 - Internal Testing On Non-Public Test Grid (DONE!) ===&lt;br /&gt;
We already completed this phase, and had a variety of internal staff work on Havok4 enabled simulators. Basic functions were checked, as well as checking to see that the known physics-related simulator crashes were resolved.&lt;br /&gt;
&lt;br /&gt;
=== Phase 2 - Public Beta Test On Beta Grid (DONE!) ===&lt;br /&gt;
We expect the public beta test for Havok4 to be very active, with many participants. We have prepared a test grid that allows for many types of physics-related tests. &lt;br /&gt;
&lt;br /&gt;
See [[Beta_Preview_Regions]] for a detailed region list on the Second Life Beta Preview&lt;br /&gt;
&lt;br /&gt;
NOTE: The Public Beta viewer will be configured to use the beta grid, which will be a snapshot copy of portions of the main grid and a copy of your user account. You can do &amp;quot;anything you want&amp;quot; on this grid without risking damage to your &amp;quot;real account&amp;quot; on the main grid.&lt;br /&gt;
&lt;br /&gt;
=== Phase 3 - Havok4 On A Select Few Main Grid Regions (DONE!) ===&lt;br /&gt;
In this phase we will use the new HetGrid functionality to deploy Havok4 simulators on a small number of regions of the main grid. This will still be a testing phase, and for this phase any participants will need to remember that you will be on the main grid, working with your real inventory (caveat emptor - don&#039;t rez &amp;quot;no copy/transfer&amp;quot; items on these early test Havok4 sims without understanding the potential risks)&lt;br /&gt;
&lt;br /&gt;
=== Phase 4 - Partial Main Grid Rollout (400-500 regions)  (&amp;quot;YOU ARE HERE!&amp;quot; :) ===&lt;br /&gt;
At this point, we will have resolved outstanding issues found during beta testing and the Phase 3 &amp;quot;small deployment in a corner of the main grid&amp;quot; and will deploy Havok4 to a subset of the main grid. &lt;br /&gt;
&lt;br /&gt;
After collecting feedback, if all looks good, we will continue to...&lt;br /&gt;
&lt;br /&gt;
=== Phase 5 - Full Havok4 Rollout On Main Grid (deploy to rest of grid) ===&lt;br /&gt;
If all is clean at this point, we will then roll out the Havok4 engine to the rest of the main grid, and we&#039;ll be &amp;quot;live&amp;quot; with Havok4 everywhere.&lt;br /&gt;
&lt;br /&gt;
== New experiences that are normal ==&lt;br /&gt;
&lt;br /&gt;
=== Ejection and separation of interpenetrating objects ===&lt;br /&gt;
:{{google video|-2623683631644524154|Second Life Havok4 - Exploding Can of Disks}}&lt;br /&gt;
One of the largest improvements over the previous Havok1 engine is that Havok4 supports separation of interpenetrating objects. That is, a cube that is embedded into the ground and turned physical will attempt to work its way out and up, until it has separated from from the ground and then rests on the ground.&lt;br /&gt;
&lt;br /&gt;
The previous engine did not handle interpenetrating objects very well. It would go into a deeply recursive processing loop known as the &amp;quot;Deep Think&amp;quot; condition, trying to determine where the overlapping objects should move, causing the simulator to run very slowly.&lt;br /&gt;
&lt;br /&gt;
The new engine quickly and easily separates overlapping objects. The objects are treated like compressed springs, so that a deeper interpenetration imparts a greater ejection force onto the object. The interpenetration resolver attempts to obey movement constraints and will not explode out through enclosing walls, but will expand out through whatever openings or spaces are available.&lt;br /&gt;
&lt;br /&gt;
Here is a Google Video showing an extreme example of how the interpenetration resolver works. A stack of about 200 very large disks about 0.5 meter thick overlap in a short stack about 10 meters tall, and enclosed inside a large hollow tube. When rezzed on the ground and turned physical, the disks explode upward and out of the top of the tube, with some disks shooting over 300 meters high from the repulsive force of the overlap resolution. No scripted movements or pushes are being applied to the disks. The motion is purely from the interpenetration resolver.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Simulator lag from huge piles of stacked objects ===&lt;br /&gt;
:{{google video|7316931483709158462|simulator lag generated from 565 physical spheres held inside a container}}&lt;br /&gt;
Even though this is a new and improved physics engine that should not crash as frequently as the original Havok1 engine, there are times when the new simulator will still experience very bad lag due to a large number of touching physical objects.&lt;br /&gt;
&lt;br /&gt;
This lag is not a bug, and is not like the old Havok1 Deep Think condition, but is due to a limitation in how physics engines work in general. This same problem affected Havok1, but it wasn&#039;t as obvious, since large stacks often crashed the simulator before this condition could become apparent.&lt;br /&gt;
&lt;br /&gt;
Normally when physical objects slow down to below a critical speed for a period of time, the engine quiets the physics processing for that object, in order to save CPU time for the more active objects.&lt;br /&gt;
&lt;br /&gt;
In order for the physics processing to settle, the object needs to be in contact with a non-moving reference object. A single physical bar coming to a stop touching the ground is therefore quieted.&lt;br /&gt;
&lt;br /&gt;
But for multiple stacked physical objects, it is difficult for them all to settle down, because one or more of the other touching objects may still be slightly moving when the other objects settle. This slight movement of the one then reawakens the objects that previously were settled, resulting in small movements rippling through the stack. The feedback of reawakening constantly circulates through the pile so that none of them are ever really able to settle completely. This constant moving and twitching of the spheres is similar to the physical concept of Brownian Motion with atoms.&lt;br /&gt;
&lt;br /&gt;
This engine lag is not based on the size of the objects involved. A collection of 500 very small stacked objects can cause as much lag as 500 large stacked objects.&lt;br /&gt;
&lt;br /&gt;
=== Thousands of objects that don&#039;t touch do not lag ===&lt;br /&gt;
:{{google video|-2779779276874540721|2000-3400 physical cubes in a sandbox, with no lag:}}&lt;br /&gt;
The Havok4 simulator will run at full speed, if there is enough space between physical objects so that the reawakening collisions are kept to a minimum.&lt;br /&gt;
&lt;br /&gt;
There can be thousands of physical objects in a simulator without any lag, just so long as the objects minimally touch each other.&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
[[LlPushObject/Havok4Implementation|Pseudocode for llPushObject]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Havok4| ]]&lt;/div&gt;</summary>
		<author><name>Sidewinder Linden</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Havok4&amp;diff=56251</id>
		<title>Havok4</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Havok4&amp;diff=56251"/>
		<updated>2008-02-27T04:58:33Z</updated>

		<summary type="html">&lt;p&gt;Sidewinder Linden: /* Phase 2 - Public Beta Test On Beta Grid (DONE!) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Multi-lang}}&lt;br /&gt;
The beta testing for the Havok4 implementation in Second Life is now in process. This page provides information on the project, as well as useful information that will help us all to make sure that Havok4 is tested well before it is rolled throughout the main Second Life grid.&lt;br /&gt;
&lt;br /&gt;
Please read the [[Havok4/Beta1 Release Notes]]&lt;br /&gt;
&lt;br /&gt;
==A Historical Note: Why Did &amp;quot;Doing Havok&amp;quot; Take So Long?==&lt;br /&gt;
Some of you who have been around for a long time will know that we talked about replacing Havok1 a long time ago, and did not seem to get this project done, and finally went silent about it. After several false starts, we decided that it would be best to stop talking about the work, or making public commitments, until we were far closer to the goal, and we believe that we are finally at this point. &lt;br /&gt;
&lt;br /&gt;
For &amp;quot;quite some time&amp;quot; we worked to replace Havok1 with Havok2. After working on that project, we realized that we really should rework the interfaces for how Havok is integrated with Second Life. We realized that we needed to define an abstraction layer - a layer of code that would make it easier to do future physics engine migrations so that they don&#039;t take as much effort as this migration took, and to allow for more flexibility down the road. At this point Havok4 became a much more reasonable target than implementing based on a then-older release... and thus we set Havok4 as the target. This project has been significantly larger than any of us anticipated, however the good news is that we are now here, ready for beta testing, and ready to fix the last minute issues before we bring Havok4-based sims to the main grid!&lt;br /&gt;
&lt;br /&gt;
== What Is Havok? ==&lt;br /&gt;
The Second Life virtual world has a lot of moving parts that keep it going. One of these is the [[physics engine | Physics Engine]]. A physics engine is a specialized piece of software that does the &amp;quot;real world&amp;quot; calculations to figure out what do when:&lt;br /&gt;
* Something or someone is pushed&lt;br /&gt;
* Something or someone collides with something or someone else&lt;br /&gt;
* Something or someone is in motion and has momentum&lt;br /&gt;
* Friction or damping slows the motion of something or someone&lt;br /&gt;
&lt;br /&gt;
Havok is a commercially produced physics engine, and Second Life was built using Havok 1. on which it operated for several years.&lt;br /&gt;
&lt;br /&gt;
== How Can I Participate In Havok4 Physics Engine Testing? ==&lt;br /&gt;
You can participate in the Beta Test of Havok4 with a few easy steps:&lt;br /&gt;
# Read &amp;quot;[[What&#039;s Changed With Havok4]]&amp;quot; to understand what should be different, and what should not be different, on the Havok4 Beta Test grid&lt;br /&gt;
# Read &amp;quot;[[Linkability Rules|New Prim Linkability Rules]]&amp;quot; to understand how prim linkage works with Havok4 (it&#039;s better and should be much more reliable!)&lt;br /&gt;
# Login to the Public Issue Tracker at &amp;quot;[https://jira.secondlife.com/ Issue Tracker]&amp;quot; to see how easily you can tell us about problems you find during the beta test&lt;br /&gt;
# [http://secondlife.com/community/preview.php Download the install the Havok4 Beta Viewer here]&lt;br /&gt;
&lt;br /&gt;
== What To Test? ==&lt;br /&gt;
Make sure that all of the your content works on the Havok4 grid, and try as many physics-related things as you can think of as well... Here is a short list, and a link to a page with a more exhaustive list of ideas:&lt;br /&gt;
* Building, linking, unlinking&lt;br /&gt;
* Vehicles&lt;br /&gt;
* Weapons&lt;br /&gt;
* &amp;quot;Spells&amp;quot;&lt;br /&gt;
* Shields&lt;br /&gt;
* Building Tools&lt;br /&gt;
* Rezzing large linked sets of prims&lt;br /&gt;
* Try building simple and complex items, taking them into inventory and rezzing them in different orientations and in different places&lt;br /&gt;
* Does walking, sitting, flying, swimming, running and other avatar motions work the way you expect it to?&lt;br /&gt;
* Do scripts work as expected? &lt;br /&gt;
* Try creating scripts and modifying them&lt;br /&gt;
* Are permissions working correctly?&lt;br /&gt;
* Can you get the sim to crash using &amp;quot;physics crashes&amp;quot;? (those of you who know what this means... &amp;quot;go for it&amp;quot; and let us know if you can... ;)&lt;br /&gt;
&lt;br /&gt;
There are [[Havok4 Beta Test Ideas|Many Things You Can Test In Havok4]] (a list of lots of things that would be helpful for you to test. Feel free to pick and choose from this list and make up your own things to try as well!&lt;br /&gt;
&lt;br /&gt;
== How Do I Stay &amp;quot;In The Loop&amp;quot; With Havok4 Testing? ==&lt;br /&gt;
# Attend &amp;quot;[[Havok4/Office Hours|Havok4 Office Hours]]&amp;quot;&lt;br /&gt;
# TELL US about everything you find using the Public Issue Tracker at &amp;quot;[https://jira.secondlife.com/ Issue Tracker]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Please enter bugs using &amp;quot;Second Life Service - SVC&amp;quot; and when entering the bug choose AFFECTS VERSIONS &amp;quot;Havok4 Beta&amp;quot; and COMPONENTS &amp;quot;Physics&amp;quot; to be sure we see them right away!&lt;br /&gt;
&lt;br /&gt;
== How Will Havok4 Be Tested And Rolled Out? ==&lt;br /&gt;
This project replaces a core component of Second Life, and being sure that &amp;quot;anything that pushes, collides or has inertia&amp;quot; works right is a pretty extensive task. We have already done a lot of internal testing, and plowed through hundreds of internal bug fixes. We will be taking a phased approach to both catch as many problems as early as possible, and reduce risk of issues as Havok4 is rolled out. &lt;br /&gt;
&lt;br /&gt;
=== Phase 1 - Internal Testing On Non-Public Test Grid (DONE!) ===&lt;br /&gt;
We already completed this phase, and had a variety of internal staff work on Havok4 enabled simulators. Basic functions were checked, as well as checking to see that the known physics-related simulator crashes were resolved.&lt;br /&gt;
&lt;br /&gt;
=== Phase 2 - Public Beta Test On Beta Grid (DONE!) ===&lt;br /&gt;
We expect the public beta test for Havok4 to be very active, with many participants. We have prepared a test grid that allows for many types of physics-related tests. &lt;br /&gt;
&lt;br /&gt;
See [[Beta Preview Configuration]] for a detailed region list on the Second Life Beta Preview&lt;br /&gt;
&lt;br /&gt;
NOTE: The Public Beta viewer will be configured to use the beta grid, which will be a snapshot copy of portions of the main grid and a copy of your user account. You can do &amp;quot;anything you want&amp;quot; on this grid without risking damage to your &amp;quot;real account&amp;quot; on the main grid.&lt;br /&gt;
&lt;br /&gt;
=== Phase 3 - Havok4 On A Select Few Main Grid Regions (DONE!) ===&lt;br /&gt;
In this phase we will use the new HetGrid functionality to deploy Havok4 simulators on a small number of regions of the main grid. This will still be a testing phase, and for this phase any participants will need to remember that you will be on the main grid, working with your real inventory (caveat emptor - don&#039;t rez &amp;quot;no copy/transfer&amp;quot; items on these early test Havok4 sims without understanding the potential risks)&lt;br /&gt;
&lt;br /&gt;
=== Phase 4 - Partial Main Grid Rollout (400-500 regions)  (&amp;quot;YOU ARE HERE!&amp;quot; :) ===&lt;br /&gt;
At this point, we will have resolved outstanding issues found during beta testing and the Phase 3 &amp;quot;small deployment in a corner of the main grid&amp;quot; and will deploy Havok4 to a subset of the main grid. &lt;br /&gt;
&lt;br /&gt;
After collecting feedback, if all looks good, we will continue to...&lt;br /&gt;
&lt;br /&gt;
=== Phase 5 - Full Havok4 Rollout On Main Grid (deploy to rest of grid) ===&lt;br /&gt;
If all is clean at this point, we will then roll out the Havok4 engine to the rest of the main grid, and we&#039;ll be &amp;quot;live&amp;quot; with Havok4 everywhere.&lt;br /&gt;
&lt;br /&gt;
== New experiences that are normal ==&lt;br /&gt;
&lt;br /&gt;
=== Ejection and separation of interpenetrating objects ===&lt;br /&gt;
:{{google video|-2623683631644524154|Second Life Havok4 - Exploding Can of Disks}}&lt;br /&gt;
One of the largest improvements over the previous Havok1 engine is that Havok4 supports separation of interpenetrating objects. That is, a cube that is embedded into the ground and turned physical will attempt to work its way out and up, until it has separated from from the ground and then rests on the ground.&lt;br /&gt;
&lt;br /&gt;
The previous engine did not handle interpenetrating objects very well. It would go into a deeply recursive processing loop known as the &amp;quot;Deep Think&amp;quot; condition, trying to determine where the overlapping objects should move, causing the simulator to run very slowly.&lt;br /&gt;
&lt;br /&gt;
The new engine quickly and easily separates overlapping objects. The objects are treated like compressed springs, so that a deeper interpenetration imparts a greater ejection force onto the object. The interpenetration resolver attempts to obey movement constraints and will not explode out through enclosing walls, but will expand out through whatever openings or spaces are available.&lt;br /&gt;
&lt;br /&gt;
Here is a Google Video showing an extreme example of how the interpenetration resolver works. A stack of about 200 very large disks about 0.5 meter thick overlap in a short stack about 10 meters tall, and enclosed inside a large hollow tube. When rezzed on the ground and turned physical, the disks explode upward and out of the top of the tube, with some disks shooting over 300 meters high from the repulsive force of the overlap resolution. No scripted movements or pushes are being applied to the disks. The motion is purely from the interpenetration resolver.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Simulator lag from huge piles of stacked objects ===&lt;br /&gt;
:{{google video|7316931483709158462|simulator lag generated from 565 physical spheres held inside a container}}&lt;br /&gt;
Even though this is a new and improved physics engine that should not crash as frequently as the original Havok1 engine, there are times when the new simulator will still experience very bad lag due to a large number of touching physical objects.&lt;br /&gt;
&lt;br /&gt;
This lag is not a bug, and is not like the old Havok1 Deep Think condition, but is due to a limitation in how physics engines work in general. This same problem affected Havok1, but it wasn&#039;t as obvious, since large stacks often crashed the simulator before this condition could become apparent.&lt;br /&gt;
&lt;br /&gt;
Normally when physical objects slow down to below a critical speed for a period of time, the engine quiets the physics processing for that object, in order to save CPU time for the more active objects.&lt;br /&gt;
&lt;br /&gt;
In order for the physics processing to settle, the object needs to be in contact with a non-moving reference object. A single physical bar coming to a stop touching the ground is therefore quieted.&lt;br /&gt;
&lt;br /&gt;
But for multiple stacked physical objects, it is difficult for them all to settle down, because one or more of the other touching objects may still be slightly moving when the other objects settle. This slight movement of the one then reawakens the objects that previously were settled, resulting in small movements rippling through the stack. The feedback of reawakening constantly circulates through the pile so that none of them are ever really able to settle completely. This constant moving and twitching of the spheres is similar to the physical concept of Brownian Motion with atoms.&lt;br /&gt;
&lt;br /&gt;
This engine lag is not based on the size of the objects involved. A collection of 500 very small stacked objects can cause as much lag as 500 large stacked objects.&lt;br /&gt;
&lt;br /&gt;
=== Thousands of objects that don&#039;t touch do not lag ===&lt;br /&gt;
:{{google video|-2779779276874540721|2000-3400 physical cubes in a sandbox, with no lag:}}&lt;br /&gt;
The Havok4 simulator will run at full speed, if there is enough space between physical objects so that the reawakening collisions are kept to a minimum.&lt;br /&gt;
&lt;br /&gt;
There can be thousands of physical objects in a simulator without any lag, just so long as the objects minimally touch each other.&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
[[LlPushObject/Havok4Implementation|Pseudocode for llPushObject]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Havok4| ]]&lt;/div&gt;</summary>
		<author><name>Sidewinder Linden</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Havok4/Beta_Preview_Regions&amp;diff=56250</id>
		<title>Havok4/Beta Preview Regions</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Havok4/Beta_Preview_Regions&amp;diff=56250"/>
		<updated>2008-02-27T04:57:04Z</updated>

		<summary type="html">&lt;p&gt;Sidewinder Linden: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;CORE BETA PREVIEW REGIONS&lt;br /&gt;
* These regions stay on the Beta Preview to represent various categories of Second Life regions&lt;br /&gt;
&lt;br /&gt;
Aviation&lt;br /&gt;
   Abbotts&lt;br /&gt;
&lt;br /&gt;
Orientation/Welcome/Help Islands&lt;br /&gt;
   Ahern&lt;br /&gt;
   Bonifacio&lt;br /&gt;
   Dore&lt;br /&gt;
   Help Island&lt;br /&gt;
   Orientation Island 11&lt;br /&gt;
   Orientation Island 5&lt;br /&gt;
   TSL Volunteer Island&lt;br /&gt;
&lt;br /&gt;
Mainland Adjacent Regions&lt;br /&gt;
   Blue&lt;br /&gt;
   Mauve&lt;br /&gt;
   Lime&lt;br /&gt;
   Mocha&lt;br /&gt;
&lt;br /&gt;
Combat Regions&lt;br /&gt;
   Combat (sandbox) - Red Team&#039;s HQ&lt;br /&gt;
   Combat (sandbox) Rausch&lt;br /&gt;
   Combat (sandbox) - Blue Team&#039;s HQ&lt;br /&gt;
   Sandbox - Weapons testing (no damag&lt;br /&gt;
   TSL Weapons Testing Sandbox&lt;br /&gt;
&lt;br /&gt;
Vehicle Regions&lt;br /&gt;
   PSU CS199&lt;br /&gt;
   Periwinkle&lt;br /&gt;
   Purple&lt;br /&gt;
&lt;br /&gt;
General Sandbox Regions&lt;br /&gt;
   Sandbox Island&lt;br /&gt;
   Sandbox Island Extension&lt;br /&gt;
   Sandbox Island 3 (TG)&lt;br /&gt;
   Sandbox Island 4 (TG)&lt;br /&gt;
&lt;br /&gt;
SL Sailing Course Regions (void/water)&lt;br /&gt;
   Bismarck Sea&lt;br /&gt;
   Bougainville Strait&lt;br /&gt;
   New Georgia Sound&lt;br /&gt;
   Sanchon&lt;br /&gt;
   Santa Catalina&lt;br /&gt;
   Santa Rosa&lt;br /&gt;
&lt;br /&gt;
Internal Test Regions&lt;br /&gt;
   Balance&lt;br /&gt;
   Bethel&lt;br /&gt;
&lt;br /&gt;
HAVOK1 REFERENCE REGIONS&lt;br /&gt;
* These regions are running the current Second Life Grid release simulator version, for comparison with the Havok4 build&lt;br /&gt;
   Fame Havok1&lt;br /&gt;
   Fortuna Havok1&lt;br /&gt;
   Freelon Havok1&lt;br /&gt;
   TextureTest Havok1&lt;br /&gt;
&lt;br /&gt;
MONO TEST REGIONS&lt;br /&gt;
* These regions are NOT running Havok4, and are instead running a beta version of the MONO enabled simulator&lt;br /&gt;
   Sandbox Wanderton MONO&lt;br /&gt;
   Sandbox Cordova MONO&lt;br /&gt;
   Sandbox Goguen MONO&lt;br /&gt;
   Sandbox Newcomb MONO&lt;br /&gt;
&lt;br /&gt;
RESIDENT REGIONS&lt;br /&gt;
* These regions will change over time, and are present at the request of the region owner&lt;br /&gt;
   Ballers City&lt;br /&gt;
   Dogfight Atoll&lt;br /&gt;
   FurNation Worlds Mall&lt;br /&gt;
   Hedgetopia&lt;br /&gt;
   Jeffrey&lt;br /&gt;
   Kenora&lt;br /&gt;
   Lakeside Shoppes&lt;br /&gt;
   Land of Hope&lt;br /&gt;
   Laurel Arts Isle&lt;br /&gt;
   Lazuli&lt;br /&gt;
   Matatae&lt;br /&gt;
   Manila City&lt;br /&gt;
   mobit&lt;br /&gt;
   Pacidlux&lt;br /&gt;
   Ryder Arctic&lt;br /&gt;
   Ryder Haven&lt;br /&gt;
   Suffugium&lt;br /&gt;
   The Roman Empire&lt;br /&gt;
   The Spartan Empire&lt;br /&gt;
   The Magic Soapbox&lt;br /&gt;
   Wish&lt;/div&gt;</summary>
		<author><name>Sidewinder Linden</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Havok4/Beta_Preview_Regions&amp;diff=56248</id>
		<title>Havok4/Beta Preview Regions</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Havok4/Beta_Preview_Regions&amp;diff=56248"/>
		<updated>2008-02-27T04:55:48Z</updated>

		<summary type="html">&lt;p&gt;Sidewinder Linden: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;CORE BETA PREVIEW REGIONS&lt;br /&gt;
* These regions stay on the Beta Preview to represent various categories of Second Life regions&lt;br /&gt;
&lt;br /&gt;
Aviation&lt;br /&gt;
   Abbotts&lt;br /&gt;
&lt;br /&gt;
Orientation/Welcome/Help Islands&lt;br /&gt;
   Ahern&lt;br /&gt;
   Bonifacio&lt;br /&gt;
   Dore&lt;br /&gt;
   Help Island&lt;br /&gt;
   Orientation Island 11&lt;br /&gt;
   Orientation Island 5&lt;br /&gt;
   TSL Volunteer Island&lt;br /&gt;
&lt;br /&gt;
Mainland Adjacent Regions&lt;br /&gt;
   Blue&lt;br /&gt;
   Mauve&lt;br /&gt;
   Lime&lt;br /&gt;
   Mocha&lt;br /&gt;
&lt;br /&gt;
Combat Regions&lt;br /&gt;
   Combat (sandbox) - Red Team&#039;s HQ&lt;br /&gt;
   Combat (sandbox) Rausch&lt;br /&gt;
   Combat (sandbox) - Blue Team&#039;s HQ&lt;br /&gt;
   Sandbox - Weapons testing (no damag&lt;br /&gt;
   TSL Weapons Testing Sandbox&lt;br /&gt;
&lt;br /&gt;
Vehicle Regions&lt;br /&gt;
   PSU CS199&lt;br /&gt;
   Periwinkle&lt;br /&gt;
   Purple&lt;br /&gt;
&lt;br /&gt;
General Sandbox Regions&lt;br /&gt;
   Sandbox Island&lt;br /&gt;
   Sandbox Island Extension&lt;br /&gt;
   Sandbox Island 3 (TG)&lt;br /&gt;
   Sandbox Island 4 (TG)&lt;br /&gt;
&lt;br /&gt;
SL Sailing Course Regions (void/water)&lt;br /&gt;
   Bismarck Sea&lt;br /&gt;
   Bougainville Strait&lt;br /&gt;
   New Georgia Sound&lt;br /&gt;
   Sanchon&lt;br /&gt;
   Santa Catalina&lt;br /&gt;
   Santa Rosa&lt;br /&gt;
&lt;br /&gt;
Internal Test Regions&lt;br /&gt;
   Balance&lt;br /&gt;
   Bethel&lt;br /&gt;
&lt;br /&gt;
HAVOK1 REFERENCE REGIONS&lt;br /&gt;
* These regions are running the current Second Life Grid release simulator version, for comparison with the Havok4 build&lt;br /&gt;
   Fame Havok1&lt;br /&gt;
   Fortuna Havok1&lt;br /&gt;
   Freelon Havok1&lt;br /&gt;
   TextureTest Havok1&lt;br /&gt;
&lt;br /&gt;
MONO TEST REGIONS&lt;br /&gt;
* These regions are NOT running Havok4, and are instead running a beta version of the MONO enabled simulator&lt;br /&gt;
 Sandbox Wanderton MONO&lt;br /&gt;
 Sandbox Cordova MONO&lt;br /&gt;
 Sandbox Goguen MONO&lt;br /&gt;
 Sandbox Newcomb MONO&lt;br /&gt;
&lt;br /&gt;
RESIDENT REGIONS&lt;br /&gt;
* These regions will change over time, and are present at the request of the region owner&lt;br /&gt;
Ballers City&lt;br /&gt;
Dogfight Atoll&lt;br /&gt;
FurNation Worlds Mall&lt;br /&gt;
Hedgetopia&lt;br /&gt;
Jeffrey&lt;br /&gt;
Kenora&lt;br /&gt;
Lakeside Shoppes&lt;br /&gt;
Land of Hope&lt;br /&gt;
Laurel Arts Isle&lt;br /&gt;
Lazuli&lt;br /&gt;
Matatae&lt;br /&gt;
Manila City&lt;br /&gt;
mobit&lt;br /&gt;
Pacidlux&lt;br /&gt;
Ryder Arctic&lt;br /&gt;
Ryder Haven&lt;br /&gt;
Suffugium&lt;br /&gt;
The Roman Empire&lt;br /&gt;
The Spartan Empire&lt;br /&gt;
The Magic Soapbox&lt;br /&gt;
Wish&lt;/div&gt;</summary>
		<author><name>Sidewinder Linden</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Havok4/Beta_Preview_Regions&amp;diff=56247</id>
		<title>Havok4/Beta Preview Regions</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Havok4/Beta_Preview_Regions&amp;diff=56247"/>
		<updated>2008-02-27T04:54:40Z</updated>

		<summary type="html">&lt;p&gt;Sidewinder Linden: first draft&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;CORE BETA PREVIEW REGIONS&lt;br /&gt;
* These regions stay on the Beta Preview to represent various categories of Second Life regions&lt;br /&gt;
&lt;br /&gt;
Aviation&lt;br /&gt;
   Abbotts&lt;br /&gt;
&lt;br /&gt;
Orientation/Welcome/Help Islands&lt;br /&gt;
   Ahern&lt;br /&gt;
   Bonifacio&lt;br /&gt;
   Dore&lt;br /&gt;
   Help Island&lt;br /&gt;
   Orientation Island 11&lt;br /&gt;
   Orientation Island 5&lt;br /&gt;
   TSL Volunteer Island&lt;br /&gt;
&lt;br /&gt;
Mainland Adjacent Regions&lt;br /&gt;
   Blue&lt;br /&gt;
   Mauve&lt;br /&gt;
   Lime&lt;br /&gt;
   Mocha&lt;br /&gt;
&lt;br /&gt;
Combat Regions&lt;br /&gt;
   Combat (sandbox) - Red Team&#039;s HQ&lt;br /&gt;
   Combat (sandbox) Rausch&lt;br /&gt;
   Combat (sandbox) - Blue Team&#039;s HQ&lt;br /&gt;
   Sandbox - Weapons testing (no damag&lt;br /&gt;
   TSL Weapons Testing Sandbox&lt;br /&gt;
&lt;br /&gt;
Vehicle Regions&lt;br /&gt;
   PSU CS199&lt;br /&gt;
   Periwinkle&lt;br /&gt;
   Purple&lt;br /&gt;
&lt;br /&gt;
General Sandbox Regions&lt;br /&gt;
   Sandbox Island&lt;br /&gt;
   Sandbox Island Extension&lt;br /&gt;
   Sandbox Island 3 (TG)&lt;br /&gt;
   Sandbox Island 4 (TG)&lt;br /&gt;
&lt;br /&gt;
SL Sailing Course Regions (void/water)&lt;br /&gt;
   Bismarck Sea&lt;br /&gt;
   Bougainville Strait&lt;br /&gt;
   New Georgia Sound&lt;br /&gt;
   Sanchon&lt;br /&gt;
   Santa Catalina&lt;br /&gt;
   Santa Rosa&lt;br /&gt;
&lt;br /&gt;
Internal Test Regions&lt;br /&gt;
   Balance&lt;br /&gt;
   Bethel&lt;br /&gt;
&lt;br /&gt;
HAVOK1 REFERENCE REGIONS&lt;br /&gt;
* These regions are running the current Second Life Grid release simulator version, for comparison with the Havok4 build&lt;br /&gt;
Fame Havok1&lt;br /&gt;
Fortuna Havok1&lt;br /&gt;
Freelon Havok1&lt;br /&gt;
TextureTest Havok1&lt;br /&gt;
&lt;br /&gt;
MONO TEST REGIONS&lt;br /&gt;
* These regions are NOT running Havok4, and are instead running a beta version of the MONO enabled simulator&lt;br /&gt;
Sandbox Wanderton MONO&lt;br /&gt;
Sandbox Cordova MONO&lt;br /&gt;
Sandbox Goguen MONO&lt;br /&gt;
Sandbox Newcomb MONO&lt;br /&gt;
&lt;br /&gt;
RESIDENT REGIONS&lt;br /&gt;
* These regions will change over time, and are present at the request of the region owner&lt;br /&gt;
Ballers City&lt;br /&gt;
Dogfight Atoll&lt;br /&gt;
FurNation Worlds Mall&lt;br /&gt;
Hedgetopia&lt;br /&gt;
Jeffrey&lt;br /&gt;
Kenora&lt;br /&gt;
Lakeside Shoppes&lt;br /&gt;
Land of Hope&lt;br /&gt;
Laurel Arts Isle&lt;br /&gt;
Lazuli&lt;br /&gt;
Matatae&lt;br /&gt;
Manila City&lt;br /&gt;
mobit&lt;br /&gt;
Pacidlux&lt;br /&gt;
Ryder Arctic&lt;br /&gt;
Ryder Haven&lt;br /&gt;
Suffugium&lt;br /&gt;
The Roman Empire&lt;br /&gt;
The Spartan Empire&lt;br /&gt;
The Magic Soapbox&lt;br /&gt;
Wish&lt;/div&gt;</summary>
		<author><name>Sidewinder Linden</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Havok4&amp;diff=52871</id>
		<title>Havok4</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Havok4&amp;diff=52871"/>
		<updated>2008-02-06T21:48:07Z</updated>

		<summary type="html">&lt;p&gt;Sidewinder Linden: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Havok4 (New Physics Engine) Beta Test Information Hub==&lt;br /&gt;
===Introduction===&lt;br /&gt;
The beta testing for the Havok4 implementation in Second Life is now in process. This page provides information on the project, as well as useful information that will help us all to make sure that Havok4 is tested well before it is rolled throughout the main Second Life grid.&lt;br /&gt;
&lt;br /&gt;
Please read the [[Havok4 Beta1 Release Notes]]&lt;br /&gt;
&lt;br /&gt;
===What Is Havok?===&lt;br /&gt;
The Second Life virtual world has a lot of moving parts that keep it going. One of these is the Physics Engine. A physics engine is a specialized piece of software that does the &amp;quot;real world&amp;quot; calculations to figure out what do when:&lt;br /&gt;
* Something or someone is pushed&lt;br /&gt;
* Something or someone collides with something or someone else&lt;br /&gt;
* Something or someone is in motion and has momentum&lt;br /&gt;
* Friction or damping slows the motion of something or someone&lt;br /&gt;
&lt;br /&gt;
Havok is a commercially produced physics engine, and Second Life was built using Havok1. on which it operated for several years. &lt;br /&gt;
&lt;br /&gt;
===How Can I Participate In Havok4 Physics Engine Testing?===&lt;br /&gt;
You can participate in the Beta Test of Havok4 with a few easy steps:&lt;br /&gt;
# Read &amp;quot;[[What&#039;s Changed With Havok4]]&amp;quot; to understand what should be different, and what should not be different, on the Havok4 Beta Test grid&lt;br /&gt;
# Read &amp;quot;[[Linkability_Rules|New Prim Linkability Rules]]&amp;quot; to understand how prim linkage works with Havok4 (it&#039;s better and should be much more reliable!)&lt;br /&gt;
# Login to the Public Issue Tracker at &amp;quot;[https://jira.secondlife.com/ Issue Tracker]&amp;quot; to see how easily you can tell us about problems you find during the beta test&lt;br /&gt;
# [http://secondlife.com/community/preview.php Download the install the Havok4 Beta Viewer here]&lt;br /&gt;
&lt;br /&gt;
===What To Test?===&lt;br /&gt;
Make sure that all of the your content works on the Havok4 grid, and try as many physics-related things as you can think of as well... Here is a short list, and a link to a page with a more exhaustive list of ideas:&lt;br /&gt;
* Building, linking, unlinking&lt;br /&gt;
* Vehicles&lt;br /&gt;
* Weapons&lt;br /&gt;
* &amp;quot;Spells&amp;quot;&lt;br /&gt;
* Shields&lt;br /&gt;
* Building Tools&lt;br /&gt;
* Rezzing large linked sets of prims&lt;br /&gt;
* Try building simple and complex items, taking them into inventory and rezzing them in different orientations and in different places&lt;br /&gt;
* Does walking, sitting, flying, swimming, running and other avatar motions work the way you expect it to?&lt;br /&gt;
* Do scripts work as expected? &lt;br /&gt;
* Try creating scripts and modifying them&lt;br /&gt;
* Are permissions working correctly?&lt;br /&gt;
* Can you get the sim to crash using &amp;quot;physics crashes&amp;quot;? (those of you who know what this means... &amp;quot;go for it&amp;quot; and let us know if you can... ;)&lt;br /&gt;
&lt;br /&gt;
There are [[Havok4_Beta_Test_Ideas|Many Things You Can Test In Havok4]] (a list of lots of things that would be helpful for you to test. Feel free to pick and choose from this list and make up your own things to try as well!&lt;br /&gt;
&lt;br /&gt;
===How Do I Stay &amp;quot;In The Loop&amp;quot; With Havok4 Testing?===&lt;br /&gt;
# Attend &amp;quot;[[Regular Havok4 Office Hours In-World]]&amp;quot;&lt;br /&gt;
# TELL US about everything you find using the Public Issue Tracker at &amp;quot;[https://jira.secondlife.com/ Issue Tracker]&amp;quot; &amp;lt;br /&amp;gt;&lt;br /&gt;
Please enter bugs using PROJECT &amp;quot;Second Life Service - SVC&amp;quot; and when entering the bug choose AFFECTS VERSIONS &amp;quot;Havok4 Beta&amp;quot; and COMPONENTS &amp;quot;Physics&amp;quot; to be sure we see them right away!&lt;br /&gt;
&lt;br /&gt;
===How Will Havok4 Be Tested And Rolled Out?===&lt;br /&gt;
This project replaces a core component of Second Life, and being sure that &amp;quot;anything that pushes, collides or has inertia&amp;quot; works right is a pretty extensive task. We have already done a lot of internal testing, and plowed through hundreds of internal bug fixes. We will be taking a phased approach to both catch as many problems as early as possible, and reduce risk of issues as Havok4 is rolled out. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Phase 1 - Internal Testing On Non-Public Test Grid (DONE!)&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
We already completed this phase, and had a variety of internal staff work on Havok4 enabled simulators. Basic functions were checked, as well as checking to see that the known physics-related simulator crashes were resolved.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Phase 2 - Public Beta Test On Beta Grid (DONE!)&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
We expect the public beta test for Havok4 to be very active, with many participants. We have prepared a test grid that allows for many types of physics-related tests. The test regions will include:&lt;br /&gt;
* [[Orientation Islands]]&lt;br /&gt;
* [[Welcome Areas]]&lt;br /&gt;
* [[Lusk]]&lt;br /&gt;
* Several [[sandboxes]]&lt;br /&gt;
* [[Combat sandboxes]]&lt;br /&gt;
* [[Vehicle testing simulators]]&lt;br /&gt;
&lt;br /&gt;
NOTE: The Public Beta viewer will be configured to use the beta grid, which will be a snapshot copy of portions of the main grid and a copy of your user account. You can do &amp;quot;anything you want&amp;quot; on this grid without risking damage to your &amp;quot;real account&amp;quot; on the main grid. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Phase 3 - Havok4 On A Select Few Main Grid Regions (DONE!)&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
In this phase we will use the new HetGrid functionality to deploy Havok4 simulators on a small number of regions of the main grid. This will still be a testing phase, and for this phase any participants will need to remember that you will be on the main grid, working with your real inventory (caveat emptor - don&#039;t rez &amp;quot;no copy/transfer&amp;quot; items on these early test Havok4 sims without understanding the potential risks)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Phase 4 - Partial Main Grid Rollout (400-500 regions)  (&amp;quot;YOU ARE HERE!&amp;quot; :)&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
At this point, we will have resolved outstanding issues found during beta testing and the Phase 3 &amp;quot;small deployment in a corner of the main grid&amp;quot; and will deploy Havok4 to a subset of the main grid. &lt;br /&gt;
&lt;br /&gt;
After collecting feedback, if all looks good, we will continue to...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Phase 5 - Full Havok4 Rollout On Main Grid (deploy to rest of grid)&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
If all is clean at this point, we will then roll out the Havok4 engine to the rest of the main grid, and we&#039;ll be &amp;quot;live&amp;quot; with Havok4 everywhere.&lt;br /&gt;
&lt;br /&gt;
===A Historical Note: Why Did &amp;quot;Doing Havok&amp;quot; Take So Long?===&lt;br /&gt;
Some of you who have been around for a long time will know that we talked about replacing Havok1 a long time ago, and did not seem to get this project done, and finally went silent about it. After several false starts, we decided that it would be best to stop talking about the work, or making public commitments, until we were far closer to the goal, and we believe that we are finally at this point. &lt;br /&gt;
&lt;br /&gt;
For &amp;quot;quite some time&amp;quot; we worked to replace Havok1 with Havok2. After working on that project, we realized that we really should rework the interfaces for how Havok is integrated with Second Life. We realized that we needed to define an abstraction layer - a layer of code that would make it easier to do future physics engine migrations so that they don&#039;t take as much effort as this migration took, and to allow for more flexibility down the road. At this point Havok4 became a much more reasonable target than implementing based on a then-older release... and thus we set Havok4 as the target. This project has been significantly larger than any of us anticipated, however the good news is that we are now here, ready for beta testing, and ready to fix the last minute issues before we bring Havok4-based sims to the main grid!&lt;br /&gt;
&lt;br /&gt;
== New experiences that are normal ==&lt;br /&gt;
&lt;br /&gt;
=== Ejection and separation of interpenetrating objects ===&lt;br /&gt;
One of the largest improvements over the previous Havok I engine is that Havok 4 supports separation of interpenetrating objects. That is, a cube that is embedded into the ground and turned physical will attempt to work its way out and up, until it has separated from from the ground and then rests on the ground.&lt;br /&gt;
&lt;br /&gt;
The previous engine did not handle interpenetrating objects very well. It would go into a deeply recursive processing loop known as the &amp;quot;Deep Think&amp;quot; condition, trying to determine where the overlapping objects should move, causing the simulator to run very slowly.&lt;br /&gt;
&lt;br /&gt;
The new engine quickly and easily separates overlapping objects. The objects are treated like compressed springs, so that a deeper interpenetration imparts a greater ejection force onto the object. The interpenetration resolver attempts to obey movement constraints and will not explode out through enclosing walls, but will expand out through whatever openings or spaces are available.&lt;br /&gt;
&lt;br /&gt;
Here is a Google Video showing an extreme example of how the interpenetration resolver works. A stack of about 200 very large disks about 0.5 meter thick overlap in a short stack about 10 meters tall, and enclosed inside a large hollow tube. When rezzed on the ground and turned physical, the disks explode upward and out of the top of the tube, with some disks shooting over 300 meters high from the repulsive force of the overlap resolution. No scripted movements or pushes are being applied to the disks. The motion is purely from the interpenetration resolver.&lt;br /&gt;
&lt;br /&gt;
Google Video: &#039;&#039;&#039;Second Life Havok 4 - Exploding Can of Disks&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
http://video.google.com/videoplay?docid=-2623683631644524154&lt;br /&gt;
&lt;br /&gt;
=== Simulator lag from huge piles of stacked objects ===&lt;br /&gt;
Even though this is a new and improved physics engine that should not crash as frequently as the original Havok-1 engine, there are times when the new simulator will still experience very bad lag due to a large number of touching physical objects.&lt;br /&gt;
&lt;br /&gt;
This lag is not a bug, and is not like the old Havok-1 Deep Think condition, but is due to a limitation in how physics engines work in general. This same problem affected Havok-1, but it wasn&#039;t as obvious, since large stacks often crashed the simulator before this condition could become apparant.&lt;br /&gt;
&lt;br /&gt;
Normally when physical objects slow down to below a critical speed for a period of time, the engine quiets the physics processing for that object, in order to save CPU time for the more active objects.&lt;br /&gt;
&lt;br /&gt;
In order for the physics processing to settle, the object needs to be in contact with a nonmoving reference object. A single physical bar coming to a stop touching the ground is therefore quieted.&lt;br /&gt;
&lt;br /&gt;
But for multiple stacked physical objects, it is difficult for them all to settle down, because one or more of the other touching objects may still be slightly moving when the other objects settle. This slight movement of the one then reawakens the objects that previously were settled, resulting in small movements rippling through the stack. The feedback of reawakening constantly circulates through the pile so that none of them are ever really able to settle completely. This constant moving and twitching of the spheres is similar to the physical concept of Brownian Motion with atoms.&lt;br /&gt;
&lt;br /&gt;
Google Video example of simulator lag generated from 565 physical spheres held inside a container:&lt;br /&gt;
&lt;br /&gt;
http://video.google.com/videoplay?docid=7316931483709158462&lt;br /&gt;
&lt;br /&gt;
This engine lag is not based on the size of the objects involved. A collection of 500 very small stacked objects can cause as much lag as 500 large stacked objects.&lt;br /&gt;
&lt;br /&gt;
=== Thousands of objects that don&#039;t touch do not lag ===&lt;br /&gt;
&lt;br /&gt;
The Havok-4 simulator will run at full speed, if there is enough space between physical objects so that the reawakening collisions are kept to a mininum.&lt;br /&gt;
&lt;br /&gt;
There can be thousands of physical objects in a simulator without any lag, just so long as the objects minimally touch each other.&lt;br /&gt;
&lt;br /&gt;
Google Video of 2000-3400 physical cubes in a sandbox, with no lag:&lt;br /&gt;
&lt;br /&gt;
http://video.google.com/videoplay?docid=-2779779276874540721&lt;br /&gt;
&lt;br /&gt;
=== Pseudocode for llPushObject (the Havok4 implementation of this function ===&lt;br /&gt;
[http://wiki.secondlife.com/wiki/LlPushObject/Havok4Implementation Pseudocode for llPushObject]&lt;/div&gt;</summary>
		<author><name>Sidewinder Linden</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Havok4&amp;diff=52247</id>
		<title>Havok4</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Havok4&amp;diff=52247"/>
		<updated>2008-02-01T01:57:24Z</updated>

		<summary type="html">&lt;p&gt;Sidewinder Linden: Added pointer to llPushObject pseudocode page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Havok4 (New Physics Engine) Beta Test Information Hub==&lt;br /&gt;
===Introduction===&lt;br /&gt;
The beta testing for the Havok4 implementation in Second Life is now in process. This page provides information on the project, as well as useful information that will help us all to make sure that Havok4 is tested well before it is rolled throughout the main Second Life grid.&lt;br /&gt;
&lt;br /&gt;
Please read the [[Havok4 Beta1 Release Notes]]&lt;br /&gt;
&lt;br /&gt;
===What Is Havok?===&lt;br /&gt;
The Second Life virtual world has a lot of moving parts that keep it going. One of these is the Physics Engine. A physics engine is a specialized piece of software that does the &amp;quot;real world&amp;quot; calculations to figure out what do when:&lt;br /&gt;
* Something or someone is pushed&lt;br /&gt;
* Something or someone collides with something or someone else&lt;br /&gt;
* Something or someone is in motion and has momentum&lt;br /&gt;
* Friction or damping slows the motion of something or someone&lt;br /&gt;
&lt;br /&gt;
Havok is a commercially produced physics engine, and Second Life was built using Havok1. on which it operated for several years. &lt;br /&gt;
&lt;br /&gt;
===How Can I Participate In Havok4 Physics Engine Testing?===&lt;br /&gt;
You can participate in the Beta Test of Havok4 with a few easy steps:&lt;br /&gt;
# Read &amp;quot;[[What&#039;s Changed With Havok4]]&amp;quot; to understand what should be different, and what should not be different, on the Havok4 Beta Test grid&lt;br /&gt;
# Read &amp;quot;[[Linkability_Rules|New Prim Linkability Rules]]&amp;quot; to understand how prim linkage works with Havok4 (it&#039;s better and should be much more reliable!)&lt;br /&gt;
# Login to the Public Issue Tracker at &amp;quot;[https://jira.secondlife.com/ Issue Tracker]&amp;quot; to see how easily you can tell us about problems you find during the beta test&lt;br /&gt;
# [http://secondlife.com/community/preview.php Download the install the Havok4 Beta Viewer here]&lt;br /&gt;
&lt;br /&gt;
===What To Test?===&lt;br /&gt;
Make sure that all of the your content works on the Havok4 grid, and try as many physics-related things as you can think of as well... Here is a short list, and a link to a page with a more exhaustive list of ideas:&lt;br /&gt;
* Building, linking, unlinking&lt;br /&gt;
* Vehicles&lt;br /&gt;
* Weapons&lt;br /&gt;
* &amp;quot;Spells&amp;quot;&lt;br /&gt;
* Shields&lt;br /&gt;
* Building Tools&lt;br /&gt;
* Rezzing large linked sets of prims&lt;br /&gt;
* Try building simple and complex items, taking them into inventory and rezzing them in different orientations and in different places&lt;br /&gt;
* Does walking, sitting, flying, swimming, running and other avatar motions work the way you expect it to?&lt;br /&gt;
* Do scripts work as expected? &lt;br /&gt;
* Try creating scripts and modifying them&lt;br /&gt;
* Are permissions working correctly?&lt;br /&gt;
* Can you get the sim to crash using &amp;quot;physics crashes&amp;quot;? (those of you who know what this means... &amp;quot;go for it&amp;quot; and let us know if you can... ;)&lt;br /&gt;
&lt;br /&gt;
There are [[Havok4_Beta_Test_Ideas|Many Things You Can Test In Havok4]] (a list of lots of things that would be helpful for you to test. Feel free to pick and choose from this list and make up your own things to try as well!&lt;br /&gt;
&lt;br /&gt;
===How Do I Stay &amp;quot;In The Loop&amp;quot; With Havok4 Testing?===&lt;br /&gt;
# Attend &amp;quot;[[Regular Havok4 Office Hours In-World]]&amp;quot;&lt;br /&gt;
# TELL US about everything you find using the Public Issue Tracker at &amp;quot;[https://jira.secondlife.com/ Issue Tracker]&amp;quot; &amp;lt;br /&amp;gt;&lt;br /&gt;
Please enter bugs using PROJECT &amp;quot;Second Life Service - SVC&amp;quot; and when entering the bug choose AFFECTS VERSIONS &amp;quot;Havok4 Beta&amp;quot; and COMPONENTS &amp;quot;Physics&amp;quot; to be sure we see them right away!&lt;br /&gt;
&lt;br /&gt;
===How Will Havok4 Be Tested And Rolled Out?===&lt;br /&gt;
This project replaces a core component of Second Life, and being sure that &amp;quot;anything that pushes, collides or has inertia&amp;quot; works right is a pretty extensive task. We have already done a lot of internal testing, and plowed through hundreds of internal bug fixes. We will be taking a phased approach to both catch as many problems as early as possible, and reduce risk of issues as Havok4 is rolled out. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Phase 1 - Internal Testing On Non-Public Test Grid (DONE!)&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
We already completed this phase, and had a variety of internal staff work on Havok4 enabled simulators. Basic functions were checked, as well as checking to see that the known physics-related simulator crashes were resolved.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Phase 2 - Public Beta Test On Beta Grid&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
We expect the public beta test for Havok4 to be very active, with many participants. We have prepared a test grid that allows for many types of physics-related tests. The test regions will include:&lt;br /&gt;
* [[Orientation Islands]]&lt;br /&gt;
* [[Welcome Areas]]&lt;br /&gt;
* [[Lusk]]&lt;br /&gt;
* Several [[sandboxes]]&lt;br /&gt;
* [[Combat sandboxes]]&lt;br /&gt;
* [[Vehicle testing simulators]]&lt;br /&gt;
&lt;br /&gt;
NOTE: The Public Beta viewer will be configured to use the beta grid, which will be a snapshot copy of portions of the main grid and a copy of your user account. You can do &amp;quot;anything you want&amp;quot; on this grid without risking damage to your &amp;quot;real account&amp;quot; on the main grid. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Phase 3 - Havok4 On A Select Few Main Grid Regions  (&amp;quot;YOU ARE HERE!&amp;quot; :)&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
In this phase we will use the new HetGrid functionality to deploy Havok4 simulators on a small number of regions of the main grid. This will still be a testing phase, and for this phase any participants will need to remember that you will be on the main grid, working with your real inventory (caveat emptor - don&#039;t rez &amp;quot;no copy/transfer&amp;quot; items on these early test Havok4 sims without understanding the potential risks)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Phase 4 - Partial Main Grid Rollout (50-100 regions)&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
At this point, we will have resolved outstanding issues found during beta testing and the Phase 3 &amp;quot;small deployment in a corner of the main grid&amp;quot; and will deploy Havok4 to a subset of the main grid. &lt;br /&gt;
&lt;br /&gt;
After collecting feedback, if all looks good, we will continue to...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Phase 5 - Full Havok4 Rollout On Main Grid (deploy to rest of grid)&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
If all is clean at this point, we will then roll out the Havok4 engine to the rest of the main grid, and we&#039;ll be &amp;quot;live&amp;quot; with Havok4 everywhere.&lt;br /&gt;
&lt;br /&gt;
===A Historical Note: Why Did &amp;quot;Doing Havok&amp;quot; Take So Long?===&lt;br /&gt;
Some of you who have been around for a long time will know that we talked about replacing Havok1 a long time ago, and did not seem to get this project done, and finally went silent about it. After several false starts, we decided that it would be best to stop talking about the work, or making public commitments, until we were far closer to the goal, and we believe that we are finally at this point. &lt;br /&gt;
&lt;br /&gt;
For &amp;quot;quite some time&amp;quot; we worked to replace Havok1 with Havok2. After working on that project, we realized that we really should rework the interfaces for how Havok is integrated with Second Life. We realized that we needed to define an abstraction layer - a layer of code that would make it easier to do future physics engine migrations so that they don&#039;t take as much effort as this migration took, and to allow for more flexibility down the road. At this point Havok4 became a much more reasonable target than implementing based on a then-older release... and thus we set Havok4 as the target. This project has been significantly larger than any of us anticipated, however the good news is that we are now here, ready for beta testing, and ready to fix the last minute issues before we bring Havok4-based sims to the main grid!&lt;br /&gt;
&lt;br /&gt;
== New experiences that are normal ==&lt;br /&gt;
&lt;br /&gt;
=== Ejection and separation of interpenetrating objects ===&lt;br /&gt;
One of the largest improvements over the previous Havok I engine is that Havok 4 supports separation of interpenetrating objects. That is, a cube that is embedded into the ground and turned physical will attempt to work its way out and up, until it has separated from from the ground and then rests on the ground.&lt;br /&gt;
&lt;br /&gt;
The previous engine did not handle interpenetrating objects very well. It would go into a deeply recursive processing loop known as the &amp;quot;Deep Think&amp;quot; condition, trying to determine where the overlapping objects should move, causing the simulator to run very slowly.&lt;br /&gt;
&lt;br /&gt;
The new engine quickly and easily separates overlapping objects. The objects are treated like compressed springs, so that a deeper interpenetration imparts a greater ejection force onto the object. The interpenetration resolver attempts to obey movement constraints and will not explode out through enclosing walls, but will expand out through whatever openings or spaces are available.&lt;br /&gt;
&lt;br /&gt;
Here is a Google Video showing an extreme example of how the interpenetration resolver works. A stack of about 200 very large disks about 0.5 meter thick overlap in a short stack about 10 meters tall, and enclosed inside a large hollow tube. When rezzed on the ground and turned physical, the disks explode upward and out of the top of the tube, with some disks shooting over 300 meters high from the repulsive force of the overlap resolution. No scripted movements or pushes are being applied to the disks. The motion is purely from the interpenetration resolver.&lt;br /&gt;
&lt;br /&gt;
Google Video: &#039;&#039;&#039;Second Life Havok 4 - Exploding Can of Disks&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
http://video.google.com/videoplay?docid=-2623683631644524154&lt;br /&gt;
&lt;br /&gt;
=== Simulator lag from huge piles of stacked objects ===&lt;br /&gt;
Even though this is a new and improved physics engine that should not crash as frequently as the original Havok-1 engine, there are times when the new simulator will still experience very bad lag due to a large number of touching physical objects.&lt;br /&gt;
&lt;br /&gt;
This lag is not a bug, and is not like the old Havok-1 Deep Think condition, but is due to a limitation in how physics engines work in general. This same problem affected Havok-1, but it wasn&#039;t as obvious, since large stacks often crashed the simulator before this condition could become apparant.&lt;br /&gt;
&lt;br /&gt;
Normally when physical objects slow down to below a critical speed for a period of time, the engine quiets the physics processing for that object, in order to save CPU time for the more active objects.&lt;br /&gt;
&lt;br /&gt;
In order for the physics processing to settle, the object needs to be in contact with a nonmoving reference object. A single physical bar coming to a stop touching the ground is therefore quieted.&lt;br /&gt;
&lt;br /&gt;
But for multiple stacked physical objects, it is difficult for them all to settle down, because one or more of the other touching objects may still be slightly moving when the other objects settle. This slight movement of the one then reawakens the objects that previously were settled, resulting in small movements rippling through the stack. The feedback of reawakening constantly circulates through the pile so that none of them are ever really able to settle completely. This constant moving and twitching of the spheres is similar to the physical concept of Brownian Motion with atoms.&lt;br /&gt;
&lt;br /&gt;
Google Video example of simulator lag generated from 565 physical spheres held inside a container:&lt;br /&gt;
&lt;br /&gt;
http://video.google.com/videoplay?docid=7316931483709158462&lt;br /&gt;
&lt;br /&gt;
This engine lag is not based on the size of the objects involved. A collection of 500 very small stacked objects can cause as much lag as 500 large stacked objects.&lt;br /&gt;
&lt;br /&gt;
=== Thousands of objects that don&#039;t touch do not lag ===&lt;br /&gt;
&lt;br /&gt;
The Havok-4 simulator will run at full speed, if there is enough space between physical objects so that the reawakening collisions are kept to a mininum.&lt;br /&gt;
&lt;br /&gt;
There can be thousands of physical objects in a simulator without any lag, just so long as the objects minimally touch each other.&lt;br /&gt;
&lt;br /&gt;
Google Video of 2000-3400 physical cubes in a sandbox, with no lag:&lt;br /&gt;
&lt;br /&gt;
http://video.google.com/videoplay?docid=-2779779276874540721&lt;br /&gt;
&lt;br /&gt;
=== Pseudocode for llPushObject (the Havok4 implementation of this function ===&lt;br /&gt;
[http://wiki.secondlife.com/wiki/LlPushObject/Havok4Implementation Pseudocode for llPushObject]&lt;/div&gt;</summary>
		<author><name>Sidewinder Linden</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Havok4&amp;diff=48851</id>
		<title>Havok4</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Havok4&amp;diff=48851"/>
		<updated>2008-01-13T06:57:14Z</updated>

		<summary type="html">&lt;p&gt;Sidewinder Linden: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Havok4 (New Physics Engine) Beta Test Information Hub==&lt;br /&gt;
===Introduction===&lt;br /&gt;
The beta testing for the Havok4 implementation in Second Life is now in process. This page provides information on the project, as well as useful information that will help us all to make sure that Havok4 is tested well before it is rolled throughout the main Second Life grid.&lt;br /&gt;
&lt;br /&gt;
Please read the [[Havok4 Beta1 Release Notes]]&lt;br /&gt;
&lt;br /&gt;
===What Is Havok?===&lt;br /&gt;
The Second Life virtual world has a lot of moving parts that keep it going. One of these is the Physics Engine. A physics engine is a specialized piece of software that does the &amp;quot;real world&amp;quot; calculations to figure out what do when:&lt;br /&gt;
* Something or someone is pushed&lt;br /&gt;
* Something or someone collides with something or someone else&lt;br /&gt;
* Something or someone is in motion and has momentum&lt;br /&gt;
* Friction or damping slows the motion of something or someone&lt;br /&gt;
&lt;br /&gt;
Havok is a commercially produced physics engine, and Second Life was built using Havok1. on which it operated for several years. &lt;br /&gt;
&lt;br /&gt;
===How Can I Participate In Havok4 Physics Engine Testing?===&lt;br /&gt;
You can participate in the Beta Test of Havok4 with a few easy steps:&lt;br /&gt;
# Read &amp;quot;[[What&#039;s Changed With Havok4]]&amp;quot; to understand what should be different, and what should not be different, on the Havok4 Beta Test grid&lt;br /&gt;
# Read &amp;quot;[[Linkability_Rules|New Prim Linkability Rules]]&amp;quot; to understand how prim linkage works with Havok4 (it&#039;s better and should be much more reliable!)&lt;br /&gt;
# Login to the Public Issue Tracker at &amp;quot;[https://jira.secondlife.com/ Issue Tracker]&amp;quot; to see how easily you can tell us about problems you find during the beta test&lt;br /&gt;
# [http://secondlife.com/community/preview.php Download the install the Havok4 Beta Viewer here]&lt;br /&gt;
&lt;br /&gt;
===What To Test?===&lt;br /&gt;
Make sure that all of the your content works on the Havok4 grid, and try as many physics-related things as you can think of as well... Here is a short list, and a link to a page with a more exhaustive list of ideas:&lt;br /&gt;
* Building, linking, unlinking&lt;br /&gt;
* Vehicles&lt;br /&gt;
* Weapons&lt;br /&gt;
* &amp;quot;Spells&amp;quot;&lt;br /&gt;
* Shields&lt;br /&gt;
* Building Tools&lt;br /&gt;
* Rezzing large linked sets of prims&lt;br /&gt;
* Try building simple and complex items, taking them into inventory and rezzing them in different orientations and in different places&lt;br /&gt;
* Does walking, sitting, flying, swimming, running and other avatar motions work the way you expect it to?&lt;br /&gt;
* Do scripts work as expected? &lt;br /&gt;
* Try creating scripts and modifying them&lt;br /&gt;
* Are permissions working correctly?&lt;br /&gt;
* Can you get the sim to crash using &amp;quot;physics crashes&amp;quot;? (those of you who know what this means... &amp;quot;go for it&amp;quot; and let us know if you can... ;)&lt;br /&gt;
&lt;br /&gt;
There are [[Havok4_Beta_Test_Ideas|Many Things You Can Test In Havok4]] (a list of lots of things that would be helpful for you to test. Feel free to pick and choose from this list and make up your own things to try as well!&lt;br /&gt;
&lt;br /&gt;
===How Do I Stay &amp;quot;In The Loop&amp;quot; With Havok4 Testing?===&lt;br /&gt;
# Attend &amp;quot;[[Regular Havok4 Office Hours In-World]]&amp;quot;&lt;br /&gt;
# TELL US about everything you find using the Public Issue Tracker at &amp;quot;[https://jira.secondlife.com/ Issue Tracker]&amp;quot; &amp;lt;br /&amp;gt;&lt;br /&gt;
Please enter bugs using PROJECT &amp;quot;Second Life Service - SVC&amp;quot; and when entering the bug choose AFFECTS VERSIONS &amp;quot;Havok4 Beta&amp;quot; and COMPONENTS &amp;quot;Physics&amp;quot; to be sure we see them right away!&lt;br /&gt;
&lt;br /&gt;
===How Will Havok4 Be Tested And Rolled Out?===&lt;br /&gt;
This project replaces a core component of Second Life, and being sure that &amp;quot;anything that pushes, collides or has inertia&amp;quot; works right is a pretty extensive task. We have already done a lot of internal testing, and plowed through hundreds of internal bug fixes. We will be taking a phased approach to both catch as many problems as early as possible, and reduce risk of issues as Havok4 is rolled out. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Phase 1 - Internal Testing On Non-Public Test Grid (DONE!)&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
We already completed this phase, and had a variety of internal staff work on Havok4 enabled simulators. Basic functions were checked, as well as checking to see that the known physics-related simulator crashes were resolved.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Phase 2 - Public Beta Test On Beta Grid&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
We expect the public beta test for Havok4 to be very active, with many participants. We have prepared a test grid that allows for many types of physics-related tests. The test regions will include:&lt;br /&gt;
* [[Orientation Islands]]&lt;br /&gt;
* [[Welcome Areas]]&lt;br /&gt;
* [[Lusk]]&lt;br /&gt;
* Several [[sandboxes]]&lt;br /&gt;
* [[Combat sandboxes]]&lt;br /&gt;
* [[Vehicle testing simulators]]&lt;br /&gt;
&lt;br /&gt;
NOTE: The Public Beta viewer will be configured to use the beta grid, which will be a snapshot copy of portions of the main grid and a copy of your user account. You can do &amp;quot;anything you want&amp;quot; on this grid without risking damage to your &amp;quot;real account&amp;quot; on the main grid. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Phase 3 - Havok4 On A Select Few Main Grid Regions  (&amp;quot;YOU ARE HERE!&amp;quot; :)&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
In this phase we will use the new HetGrid functionality to deploy Havok4 simulators on a small number of regions of the main grid. This will still be a testing phase, and for this phase any participants will need to remember that you will be on the main grid, working with your real inventory (caveat emptor - don&#039;t rez &amp;quot;no copy/transfer&amp;quot; items on these early test Havok4 sims without understanding the potential risks)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Phase 4 - Partial Main Grid Rollout (50-100 regions)&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
At this point, we will have resolved outstanding issues found during beta testing and the Phase 3 &amp;quot;small deployment in a corner of the main grid&amp;quot; and will deploy Havok4 to a subset of the main grid. &lt;br /&gt;
&lt;br /&gt;
After collecting feedback, if all looks good, we will continue to...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Phase 5 - Full Havok4 Rollout On Main Grid (deploy to rest of grid)&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
If all is clean at this point, we will then roll out the Havok4 engine to the rest of the main grid, and we&#039;ll be &amp;quot;live&amp;quot; with Havok4 everywhere.&lt;br /&gt;
&lt;br /&gt;
===A Historical Note: Why Did &amp;quot;Doing Havok&amp;quot; Take So Long?===&lt;br /&gt;
Some of you who have been around for a long time will know that we talked about replacing Havok1 a long time ago, and did not seem to get this project done, and finally went silent about it. After several false starts, we decided that it would be best to stop talking about the work, or making public commitments, until we were far closer to the goal, and we believe that we are finally at this point. &lt;br /&gt;
&lt;br /&gt;
For &amp;quot;quite some time&amp;quot; we worked to replace Havok1 with Havok2. After working on that project, we realized that we really should rework the interfaces for how Havok is integrated with Second Life. We realized that we needed to define an abstraction layer - a layer of code that would make it easier to do future physics engine migrations so that they don&#039;t take as much effort as this migration took, and to allow for more flexibility down the road. At this point Havok4 became a much more reasonable target than implementing based on a then-older release... and thus we set Havok4 as the target. This project has been significantly larger than any of us anticipated, however the good news is that we are now here, ready for beta testing, and ready to fix the last minute issues before we bring Havok4-based sims to the main grid!&lt;br /&gt;
&lt;br /&gt;
== New experiences that are normal ==&lt;br /&gt;
&lt;br /&gt;
=== Ejection and separation of interpenetrating objects ===&lt;br /&gt;
One of the largest improvements over the previous Havok I engine is that Havok 4 supports separation of interpenetrating objects. That is, a cube that is embedded into the ground and turned physical will attempt to work its way out and up, until it has separated from from the ground and then rests on the ground.&lt;br /&gt;
&lt;br /&gt;
The previous engine did not handle interpenetrating objects very well. It would go into a deeply recursive processing loop known as the &amp;quot;Deep Think&amp;quot; condition, trying to determine where the overlapping objects should move, causing the simulator to run very slowly.&lt;br /&gt;
&lt;br /&gt;
The new engine quickly and easily separates overlapping objects. The objects are treated like compressed springs, so that a deeper interpenetration imparts a greater ejection force onto the object. The interpenetration resolver attempts to obey movement constraints and will not explode out through enclosing walls, but will expand out through whatever openings or spaces are available.&lt;br /&gt;
&lt;br /&gt;
Here is a Google Video showing an extreme example of how the interpenetration resolver works. A stack of about 200 very large disks about 0.5 meter thick overlap in a short stack about 10 meters tall, and enclosed inside a large hollow tube. When rezzed on the ground and turned physical, the disks explode upward and out of the top of the tube, with some disks shooting over 300 meters high from the repulsive force of the overlap resolution. No scripted movements or pushes are being applied to the disks. The motion is purely from the interpenetration resolver.&lt;br /&gt;
&lt;br /&gt;
Google Video: &#039;&#039;&#039;Second Life Havok 4 - Exploding Can of Disks&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
http://video.google.com/videoplay?docid=-2623683631644524154&lt;br /&gt;
&lt;br /&gt;
=== Simulator lag from huge piles of stacked objects ===&lt;br /&gt;
Even though this is a new and improved physics engine that should not crash as frequently as the original Havok-1 engine, there are times when the new simulator will still experience very bad lag due to a large number of touching physical objects.&lt;br /&gt;
&lt;br /&gt;
This lag is not a bug, and is not like the old Havok-1 Deep Think condition, but is due to a limitation in how physics engines work in general. This same problem affected Havok-1, but it wasn&#039;t as obvious, since large stacks often crashed the simulator before this condition could become apparant.&lt;br /&gt;
&lt;br /&gt;
Normally when physical objects slow down to below a critical speed for a period of time, the engine quiets the physics processing for that object, in order to save CPU time for the more active objects.&lt;br /&gt;
&lt;br /&gt;
In order for the physics processing to settle, the object needs to be in contact with a nonmoving reference object. A single physical bar coming to a stop touching the ground is therefore quieted.&lt;br /&gt;
&lt;br /&gt;
But for multiple stacked physical objects, it is difficult for them all to settle down, because one or more of the other touching objects may still be slightly moving when the other objects settle. This slight movement of the one then reawakens the objects that previously were settled, resulting in small movements rippling through the stack. The feedback of reawakening constantly circulates through the pile so that none of them are ever really able to settle completely. This constant moving and twitching of the spheres is similar to the physical concept of Brownian Motion with atoms.&lt;br /&gt;
&lt;br /&gt;
Google Video example of simulator lag generated from 565 physical spheres held inside a container:&lt;br /&gt;
&lt;br /&gt;
http://video.google.com/videoplay?docid=7316931483709158462&lt;br /&gt;
&lt;br /&gt;
This engine lag is not based on the size of the objects involved. A collection of 500 very small stacked objects can cause as much lag as 500 large stacked objects.&lt;br /&gt;
&lt;br /&gt;
=== Thousands of objects that don&#039;t touch do not lag ===&lt;br /&gt;
&lt;br /&gt;
The Havok-4 simulator will run at full speed, if there is enough space between physical objects so that the reawakening collisions are kept to a mininum.&lt;br /&gt;
&lt;br /&gt;
There can be thousands of physical objects in a simulator without any lag, just so long as the objects minimally touch each other.&lt;br /&gt;
&lt;br /&gt;
Google Video of 2000-3400 physical cubes in a sandbox, with no lag:&lt;br /&gt;
&lt;br /&gt;
http://video.google.com/videoplay?docid=-2779779276874540721&lt;/div&gt;</summary>
		<author><name>Sidewinder Linden</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Havok4/Office_Hours&amp;diff=48403</id>
		<title>Havok4/Office Hours</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Havok4/Office_Hours&amp;diff=48403"/>
		<updated>2008-01-11T03:41:45Z</updated>

		<summary type="html">&lt;p&gt;Sidewinder Linden: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Office Hours will be held at the Brampton Linden Stage&amp;lt;br /&amp;gt;&lt;br /&gt;
Content to Hover/128/128/25&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://slurl.com/secondlife/Content%20to%20Hover/128/128/25/?title=Havok4%20Public%20Beta%201%20Office%20Hours Content to Hover SLURL]&lt;br /&gt;
&lt;br /&gt;
Tuesdays 11:00am-12:00noon PST (ongoing)&lt;br /&gt;
Thursdays 17:00-18:00, or 5:00pm-6:00pm PST (ongoing)&lt;/div&gt;</summary>
		<author><name>Sidewinder Linden</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Havok4/Office_Hours&amp;diff=47819</id>
		<title>Havok4/Office Hours</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Havok4/Office_Hours&amp;diff=47819"/>
		<updated>2008-01-08T20:28:21Z</updated>

		<summary type="html">&lt;p&gt;Sidewinder Linden: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Office Hours will be held at the Brampton Linden Stage&amp;lt;br /&amp;gt;&lt;br /&gt;
Brampton 106/166/25&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://slurl.com/secondlife/Content%20to%20Hover/128/128/25/?title=Havok4%20Public%20Beta%201%20Office%20Hours Content to Hover SLURL]&lt;br /&gt;
&lt;br /&gt;
Tuesdays 11:00am-12:00noon PST (ongoing)&lt;br /&gt;
Thursdays 17:00-18:00, or 5:00pm-6:00pm PST (ongoing)&lt;/div&gt;</summary>
		<author><name>Sidewinder Linden</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Havok4/Office_Hours&amp;diff=47818</id>
		<title>Havok4/Office Hours</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Havok4/Office_Hours&amp;diff=47818"/>
		<updated>2008-01-08T20:19:43Z</updated>

		<summary type="html">&lt;p&gt;Sidewinder Linden: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Office Hours will be held at the Brampton Linden Stage&amp;lt;br /&amp;gt;&lt;br /&gt;
Brampton 106/166/25&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://slurl.com/secondlife/Content to Hover/128/128/25/?title=Havok4%20Public%20Beta%201%20Office%20Hours Content to Hover SLURL]&lt;br /&gt;
&lt;br /&gt;
Tuesdays 11:00am-12:00noon PST (ongoing)&lt;br /&gt;
Thursdays 17:00-18:00, or 5:00pm-6:00pm PST (ongoing)&lt;/div&gt;</summary>
		<author><name>Sidewinder Linden</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Havok4&amp;diff=46159</id>
		<title>Havok4</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Havok4&amp;diff=46159"/>
		<updated>2007-12-26T23:23:29Z</updated>

		<summary type="html">&lt;p&gt;Sidewinder Linden: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Havok4 (New Physics Engine) Beta Test Information Hub==&lt;br /&gt;
===Introduction===&lt;br /&gt;
The beta testing for the Havok4 implementation in Second Life is now in process. This page provides information on the project, as well as useful information that will help us all to make sure that Havok4 is tested well before it is rolled throughout the main Second Life grid.&lt;br /&gt;
&lt;br /&gt;
Please read the [[Havok4 Beta1 Release Notes]]&lt;br /&gt;
&lt;br /&gt;
===What Is Havok?===&lt;br /&gt;
The Second Life virtual world has a lot of moving parts that keep it going. One of these is the Physics Engine. A physics engine is a specialized piece of software that does the &amp;quot;real world&amp;quot; calculations to figure out what do when:&lt;br /&gt;
* Something or someone is pushed&lt;br /&gt;
* Something or someone collides with something or someone else&lt;br /&gt;
* Something or someone is in motion and has momentum&lt;br /&gt;
* Friction or damping slows the motion of something or someone&lt;br /&gt;
&lt;br /&gt;
Havok is a commercially produced physics engine, and Second Life was built using Havok1. on which it operated for several years. &lt;br /&gt;
&lt;br /&gt;
===How Can I Participate In Havok4 Physics Engine Testing?===&lt;br /&gt;
You can participate in the Beta Test of Havok4 with a few easy steps:&lt;br /&gt;
# Read &amp;quot;[[What&#039;s Changed With Havok4]]&amp;quot; to understand what should be different, and what should not be different, on the Havok4 Beta Test grid&lt;br /&gt;
# Read &amp;quot;[[Linkability_Rules|New Prim Linkability Rules]]&amp;quot; to understand how prim linkage works with Havok4 (it&#039;s better and should be much more reliable!)&lt;br /&gt;
# Login to the Public Issue Tracker at &amp;quot;[https://jira.secondlife.com/ Issue Tracker]&amp;quot; to see how easily you can tell us about problems you find during the beta test&lt;br /&gt;
# [http://secondlife.com/community/preview.php Download the install the Havok4 Beta Viewer here]&lt;br /&gt;
&lt;br /&gt;
===What To Test?===&lt;br /&gt;
Make sure that all of the your content works on the Havok4 grid, and try as many physics-related things as you can think of as well... Here is a short list, and a link to a page with a more exhaustive list of ideas:&lt;br /&gt;
* Building, linking, unlinking&lt;br /&gt;
* Vehicles&lt;br /&gt;
* Weapons&lt;br /&gt;
* &amp;quot;Spells&amp;quot;&lt;br /&gt;
* Shields&lt;br /&gt;
* Building Tools&lt;br /&gt;
* Rezzing large linked sets of prims&lt;br /&gt;
* Try building simple and complex items, taking them into inventory and rezzing them in different orientations and in different places&lt;br /&gt;
* Does walking, sitting, flying, swimming, running and other avatar motions work the way you expect it to?&lt;br /&gt;
* Do scripts work as expected? &lt;br /&gt;
* Try creating scripts and modifying them&lt;br /&gt;
* Are permissions working correctly?&lt;br /&gt;
* Can you get the sim to crash using &amp;quot;physics crashes&amp;quot;? (those of you who know what this means... &amp;quot;go for it&amp;quot; and let us know if you can... ;)&lt;br /&gt;
&lt;br /&gt;
There are [[Havok4_Beta_Test_Ideas|Many Things You Can Test In Havok4]] (a list of lots of things that would be helpful for you to test. Feel free to pick and choose from this list and make up your own things to try as well!&lt;br /&gt;
&lt;br /&gt;
===How Do I Stay &amp;quot;In The Loop&amp;quot; With Havok4 Testing?===&lt;br /&gt;
# Attend &amp;quot;[[Regular Havok4 Office Hours In-World]]&amp;quot;&lt;br /&gt;
# TELL US about everything you find using the Public Issue Tracker at &amp;quot;[https://jira.secondlife.com/ Issue Tracker]&amp;quot; &amp;lt;br /&amp;gt;&lt;br /&gt;
Please enter bugs using PROJECT &amp;quot;Second Life Service - SVC&amp;quot; and when entering the bug choose AFFECTS VERSIONS &amp;quot;Havok4 Beta&amp;quot; and COMPONENTS &amp;quot;Physics&amp;quot; to be sure we see them right away!&lt;br /&gt;
&lt;br /&gt;
===How Will Havok4 Be Tested And Rolled Out?===&lt;br /&gt;
This project replaces a core component of Second Life, and being sure that &amp;quot;anything that pushes, collides or has inertia&amp;quot; works right is a pretty extensive task. We have already done a lot of internal testing, and plowed through hundreds of internal bug fixes. We will be taking a phased approach to both catch as many problems as early as possible, and reduce risk of issues as Havok4 is rolled out. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Phase 1 - Internal Testing On Non-Public Test Grid (DONE!)&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
We already completed this phase, and had a variety of internal staff work on Havok4 enabled simulators. Basic functions were checked, as well as checking to see that the known physics-related simulator crashes were resolved.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Phase 2 - Public Beta Test On Beta Grid (&amp;quot;YOU ARE HERE!&amp;quot; :)&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
We expect the public beta test for Havok4 to be very active, with many participants. We have prepared a test grid that allows for many types of physics-related tests. The test regions will include:&lt;br /&gt;
* Orientation Islands&lt;br /&gt;
* Welcome Areas&lt;br /&gt;
* Lusk&lt;br /&gt;
* Several sandboxes&lt;br /&gt;
* Combat sandboxes&lt;br /&gt;
* Vehicle testing simulators&lt;br /&gt;
&lt;br /&gt;
NOTE: The Public Beta viewer will be configured to use the beta grid, which will be a snapshot copy of portions of the main grid and a copy of your user account. You can do &amp;quot;anything you want&amp;quot; on this grid without risking damage to your &amp;quot;real account&amp;quot; on the main grid. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Phase 3 - Havok4 On A Select Few Main Grid Regions&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
In this phase we will use the new HetGrid functionality to deploy Havok4 simulators on a small number of regions of the main grid. This will still be a testing phase, and for this phase any participants will need to remember that you will be on the main grid, working with your real inventory (caveat emptor - don&#039;t rez &amp;quot;no copy/no transfer&amp;quot; items on these early test Havok4 sims without understanding the potential risks)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Phase 4 - Partial Main Grid Rollout (50-100 regions)&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
At this point, we will have resolved outstanding issues found during beta testing and the Phase 3 &amp;quot;small deployment in a corner of the main grid&amp;quot; and will deploy Havok4 to a subset of the main grid. &lt;br /&gt;
&lt;br /&gt;
After collecting feedback, if all looks good, we will continue to...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Phase 5 - Full Havok4 Rollout On Main Grid (deploy to rest of grid)&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
If all is clean at this point, we will then roll out the Havok4 engine to the rest of the main grid, and we&#039;ll be &amp;quot;live&amp;quot; with Havok4 everywhere.&lt;br /&gt;
&lt;br /&gt;
===A Historical Note: Why Did &amp;quot;Doing Havok&amp;quot; Take So Long?===&lt;br /&gt;
Some of you who have been around for a long time will know that we talked about replacing Havok1 a long time ago, and did not seem to get this project done, and finally went silent about it. After several false starts, we decided that it would be best to stop talking about the work, or making public commitments, until we were far closer to the goal, and we believe that we are finally at this point. &lt;br /&gt;
&lt;br /&gt;
For &amp;quot;quite some time&amp;quot; we worked to replace Havok1 with Havok2. After working on that project, we realized that we really should rework the interfaces for how Havok is integrated with Second Life. We realized that we needed to define an abstraction layer - a layer of code that would make it easier to do future physics engine migrations so that they don&#039;t take as much effort as this migration took, and to allow for more flexibility down the road. At this point Havok4 became a much more reasonable target than implementing based on a then-older release... and thus we set Havok4 as the target. This project has been significantly larger than any of us anticipated, however the good news is that we are now here, ready for beta testing, and ready to fix the last minute issues before we bring Havok4-based sims to the main grid!&lt;br /&gt;
&lt;br /&gt;
== New experiences that are normal ==&lt;br /&gt;
&lt;br /&gt;
=== Ejection and separation of interpenetrating objects ===&lt;br /&gt;
One of the largest improvements over the previous Havok I engine is that Havok 4 supports separation of interpenetrating objects. That is, a cube that is embedded into the ground and turned physical will attempt to work its way out and up, until it has separated from from the ground and then rests on the ground.&lt;br /&gt;
&lt;br /&gt;
The previous engine did not handle interpenetrating objects very well. It would go into a deeply recursive processing loop known as the &amp;quot;Deep Think&amp;quot; condition, trying to determine where the overlapping objects should move, causing the simulator to run very slowly.&lt;br /&gt;
&lt;br /&gt;
The new engine quickly and easily separates overlapping objects. The objects are treated like compressed springs, so that a deeper interpenetration imparts a greater ejection force onto the object. The interpenetration resolver attempts to obey movement constraints and will not explode out through enclosing walls, but will expand out through whatever openings or spaces are available.&lt;br /&gt;
&lt;br /&gt;
Here is a Google Video showing an extreme example of how the interpenetration resolver works. A stack of about 200 very large disks about 0.5 meter thick overlap in a short stack about 10 meters tall, and enclosed inside a large hollow tube. When rezzed on the ground and turned physical, the disks explode upward and out of the top of the tube, with some disks shooting over 300 meters high from the repulsive force of the overlap resolution. No scripted movements or pushes are being applied to the disks. The motion is purely from the interpenetration resolver.&lt;br /&gt;
&lt;br /&gt;
Google Video: &#039;&#039;&#039;Second Life Havok 4 - Exploding Can of Disks&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
http://video.google.com/videoplay?docid=-2623683631644524154&lt;br /&gt;
&lt;br /&gt;
=== Simulator lag from huge piles of stacked objects ===&lt;br /&gt;
Even though this is a new and improved physics engine that should not crash as frequently as the original Havok-1 engine, there are times when the new simulator will still experience very bad lag due to a large number of touching physical objects.&lt;br /&gt;
&lt;br /&gt;
This lag is not a bug, and is not like the old Havok-1 Deep Think condition, but is due to a limitation in how physics engines work in general. This same problem affected Havok-1, but it wasn&#039;t as obvious, since large stacks often crashed the simulator before this condition could become apparant.&lt;br /&gt;
&lt;br /&gt;
Normally when physical objects slow down to below a critical speed for a period of time, the engine quiets the physics processing for that object, in order to save CPU time for the more active objects.&lt;br /&gt;
&lt;br /&gt;
In order for the physics processing to settle, the object needs to be in contact with a nonmoving reference object. A single physical bar coming to a stop touching the ground is therefore quieted.&lt;br /&gt;
&lt;br /&gt;
But for multiple stacked physical objects, it is difficult for them all to settle down, because one or more of the other touching objects may still be slightly moving when the other objects settle. This slight movement of the one then reawakens the objects that previously were settled, resulting in small movements rippling through the stack. The feedback of reawakening constantly circulates through the pile so that none of them are ever really able to settle completely. This constant moving and twitching of the spheres is similar to the physical concept of Brownian Motion with atoms.&lt;br /&gt;
&lt;br /&gt;
Google Video example of simulator lag generated from 565 physical spheres held inside a container:&lt;br /&gt;
&lt;br /&gt;
http://video.google.com/videoplay?docid=7316931483709158462&lt;br /&gt;
&lt;br /&gt;
This engine lag is not based on the size of the objects involved. A collection of 500 very small stacked objects can cause as much lag as 500 large stacked objects.&lt;br /&gt;
&lt;br /&gt;
=== Thousands of objects that don&#039;t touch do not lag ===&lt;br /&gt;
&lt;br /&gt;
The Havok-4 simulator will run at full speed, if there is enough space between physical objects so that the reawakening collisions are kept to a mininum.&lt;br /&gt;
&lt;br /&gt;
There can be thousands of physical objects in a simulator without any lag, just so long as the objects minimally touch each other.&lt;br /&gt;
&lt;br /&gt;
Google Video of 2000-3400 physical cubes in a sandbox, with no lag:&lt;br /&gt;
&lt;br /&gt;
http://video.google.com/videoplay?docid=-2779779276874540721&lt;/div&gt;</summary>
		<author><name>Sidewinder Linden</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Havok4/Office_Hours&amp;diff=40052</id>
		<title>Havok4/Office Hours</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Havok4/Office_Hours&amp;diff=40052"/>
		<updated>2007-11-11T04:30:19Z</updated>

		<summary type="html">&lt;p&gt;Sidewinder Linden: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Office Hours will be held at the Brampton Linden Stage&amp;lt;br /&amp;gt;&lt;br /&gt;
Brampton 106/166/25&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://slurl.com/secondlife/Brampton/106/166/25/?title=Havok4%20Public%20Beta%201%20Office%20Hours Brampton Linden Stage SLURL]&lt;br /&gt;
&lt;br /&gt;
Tuesdays 11:00am-12:00noon PST (ongoing)&lt;br /&gt;
Thursdays 17:00-18:00, or 5:00pm-6:00pm PST (ongoing)&lt;/div&gt;</summary>
		<author><name>Sidewinder Linden</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Havok4/Office_Hours&amp;diff=34281</id>
		<title>Havok4/Office Hours</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Havok4/Office_Hours&amp;diff=34281"/>
		<updated>2007-10-03T19:18:49Z</updated>

		<summary type="html">&lt;p&gt;Sidewinder Linden: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Office Hours will be held at the Brampton Linden Stage&amp;lt;br /&amp;gt;&lt;br /&gt;
Brampton 106/166/25&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://slurl.com/secondlife/Brampton/106/166/25/?title=Havok4%20Public%20Beta%201%20Office%20Hours Brampton Linden Stage SLURL]&lt;br /&gt;
&lt;br /&gt;
Tuesdays 16:30-17:30 PDT, also known as 4:30-5:30pm PDT (ongoing)&lt;br /&gt;
&lt;br /&gt;
Thursdays 08:00am PDT (ongoing)&lt;/div&gt;</summary>
		<author><name>Sidewinder Linden</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Havok4/Beta1_Release_Notes&amp;diff=33546</id>
		<title>Havok4/Beta1 Release Notes</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Havok4/Beta1_Release_Notes&amp;diff=33546"/>
		<updated>2007-09-28T21:47:50Z</updated>

		<summary type="html">&lt;p&gt;Sidewinder Linden: /* How Do I Stay &amp;quot;In The Loop&amp;quot; With Havok4 Testing? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Havok4 Public Beta 1 Release Notes===&lt;br /&gt;
&lt;br /&gt;
This release of the Second Life simulator includes an upgrade of the Havok physics engine to v4. This is an internal update release, not a &amp;quot;new features&amp;quot; release from a physics perspective. &lt;br /&gt;
&lt;br /&gt;
===Public Beta Test Grid===&lt;br /&gt;
We expect the public beta test for Havok4 to be very active, with many participants. We have prepared a test grid that allows for many types of physics-related tests. The test regions will include:&lt;br /&gt;
* Orientation Islands&lt;br /&gt;
* Welcome Areas&lt;br /&gt;
* Lusk&lt;br /&gt;
* Several sandboxes&lt;br /&gt;
* Combat sandboxes&lt;br /&gt;
* Vehicle testing simulators&lt;br /&gt;
&lt;br /&gt;
NOTE: The Public Beta viewer will be configured to use the beta grid, which will be a snapshot copy of portions of the main grid and a copy of your user account. You can do &amp;quot;anything you want&amp;quot; on this grid without risking damage to your &amp;quot;real account&amp;quot; on the main grid.&lt;br /&gt;
&lt;br /&gt;
===How Do I Stay &amp;quot;In The Loop&amp;quot; With Havok4 Testing?===&lt;br /&gt;
# Attend &amp;quot;[[Regular_Havok4_Office_Hours_In-World|Regular Havok4 Office Hours In-World]]&amp;quot;&lt;br /&gt;
# TELL US about everything you find using the Public Issue Tracker at &amp;quot;[https://jira.secondlife.com/ Issue Tracker]&amp;quot; &amp;lt;br /&amp;gt;&lt;br /&gt;
Please enter bugs using PROJECT &amp;quot;Second Life Service - SVC&amp;quot; and COMPONENT &amp;quot;Physics&amp;quot;!&lt;br /&gt;
&lt;br /&gt;
===Known Issues===&lt;br /&gt;
The following issues are known in the current Second Life Havok4 build, and several of them are already being worked on. We decided not to hold off on releasing the public beta for these, and will update the server code on the public beta test simulators as we have fixes completed. &lt;br /&gt;
&lt;br /&gt;
* Kart stops too quickly (and tumbles too easily when going over bumps, as well as some odd collision behavior)&lt;br /&gt;
&lt;br /&gt;
* Bonifacio has very high script time (and is running VERY slowly) &lt;br /&gt;
&lt;br /&gt;
* Short-range teleport script not working correctly&lt;br /&gt;
&lt;br /&gt;
* Flocking birds script behaves differently on Havok4 (birds acquire extra energy over time and eventually &amp;quot;rocket&amp;quot; out of sim)&lt;br /&gt;
&lt;br /&gt;
* Some physical TargetOmega objects do not spin&lt;br /&gt;
&lt;br /&gt;
* Sitting on anything but top face of a box will fail&lt;br /&gt;
&lt;br /&gt;
* C-Tech 2050 hover ship spirals out of control after several minutes of flying and turning&lt;br /&gt;
&lt;br /&gt;
* Sitting avatars do not always contact seat&lt;br /&gt;
&lt;br /&gt;
* Making an object non-physical while it&#039;s rolling leaves it rotating&lt;br /&gt;
&lt;br /&gt;
* Bouncing off of a plane is different if the plane is physical or non physical&lt;br /&gt;
&lt;br /&gt;
* Drop a large cube on a small cube, they interpenetrate when they shouldn&#039;t&lt;br /&gt;
&lt;br /&gt;
* A sphere interpenetrating into a larger object can launch both&lt;br /&gt;
&lt;br /&gt;
* Physical spheres on uneven ground sink into the ground&lt;br /&gt;
&lt;br /&gt;
* Your avatar direction does not update on other viewers (Avatar A turns, avatar b&#039;s viewer does not update showing the rotation until Avatar A does something else such as walk, run, jump or fly)&lt;br /&gt;
&lt;br /&gt;
* In some cases maximum link distance exceeds 32m&lt;br /&gt;
&lt;br /&gt;
* Vehicles collide with phantom tubes, rings, and torii&lt;br /&gt;
&lt;br /&gt;
* Some complex vehicles show incorrect behavior&lt;/div&gt;</summary>
		<author><name>Sidewinder Linden</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Havok4&amp;diff=33545</id>
		<title>Havok4</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Havok4&amp;diff=33545"/>
		<updated>2007-09-28T21:44:57Z</updated>

		<summary type="html">&lt;p&gt;Sidewinder Linden: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Havok4 (New Physics Engine) Beta Test Information Hub==&lt;br /&gt;
===Introduction===&lt;br /&gt;
The beta testing for the Havok4 implementation in Second Life is now in process. This page provides information on the project, as well as useful information that will help us all to make sure that Havok4 is tested well before it is rolled throughout the main Second Life grid.&lt;br /&gt;
&lt;br /&gt;
Please read the [[Havok4 Beta1 Release Notes]]&lt;br /&gt;
&lt;br /&gt;
===What Is Havok?===&lt;br /&gt;
The Second Life virtual world has a lot of moving parts that keep it going. One of these is the Physics Engine. A physics engine is a specialized piece of software that does the &amp;quot;real world&amp;quot; calculations to figure out what do when:&lt;br /&gt;
* Something or someone is pushed&lt;br /&gt;
* Something or someone collides with something or someone else&lt;br /&gt;
* Something or someone is in motion and has momentum&lt;br /&gt;
* Friction or damping slows the motion of something or someone&lt;br /&gt;
&lt;br /&gt;
Havok is a commercially produced physics engine, and Second Life was built using Havok1. on which it operated for several years. &lt;br /&gt;
&lt;br /&gt;
===How Can I Participate In Havok4 Physics Engine Testing?===&lt;br /&gt;
You can participate in the Beta Test of Havok4 with a few easy steps:&lt;br /&gt;
# Read &amp;quot;[[What&#039;s Changed With Havok4]]&amp;quot; to understand what should be different, and what should not be different, on the Havok4 Beta Test grid&lt;br /&gt;
# Read &amp;quot;[[Linkability_Rules|New Prim Linkability Rules]]&amp;quot; to understand how prim linkage works with Havok4 (it&#039;s better and should be much more reliable!)&lt;br /&gt;
# Login to the Public Issue Tracker at &amp;quot;[https://jira.secondlife.com/ Issue Tracker]&amp;quot; to see how easily you can tell us about problems you find during the beta test&lt;br /&gt;
# [http://secondlife.com/community/preview.php Download the install the Havok4 Beta Viewer here]&lt;br /&gt;
&lt;br /&gt;
===What To Test?===&lt;br /&gt;
Make sure that all of the your content works on the Havok4 grid, and try as many physics-related things as you can think of as well... Here is a short list, and a link to a page with a more exhaustive list of ideas:&lt;br /&gt;
* Building, linking, unlinking&lt;br /&gt;
* Vehicles&lt;br /&gt;
* Weapons&lt;br /&gt;
* &amp;quot;Spells&amp;quot;&lt;br /&gt;
* Shields&lt;br /&gt;
* Building Tools&lt;br /&gt;
* Rezzing large linked sets of prims&lt;br /&gt;
* Try building simple and complex items, taking them into inventory and rezzing them in different orientations and in different places&lt;br /&gt;
* Does walking, sitting, flying, swimming, running and other avatar motions work the way you expect it to?&lt;br /&gt;
* Do scripts work as expected? &lt;br /&gt;
* Try creating scripts and modifying them&lt;br /&gt;
* Are permissions working correctly?&lt;br /&gt;
* Can you get the sim to crash using &amp;quot;physics crashes&amp;quot;? (those of you who know what this means... &amp;quot;go for it&amp;quot; and let us know if you can... ;)&lt;br /&gt;
&lt;br /&gt;
There are [[Havok4_Beta_Test_Ideas|Many Things You Can Test In Havok4]] (a list of lots of things that would be helpful for you to test. Feel free to pick and choose from this list and make up your own things to try as well!&lt;br /&gt;
&lt;br /&gt;
===How Do I Stay &amp;quot;In The Loop&amp;quot; With Havok4 Testing?===&lt;br /&gt;
# Attend &amp;quot;[[Regular Havok4 Office Hours In-World]]&amp;quot;&lt;br /&gt;
# TELL US about everything you find using the Public Issue Tracker at &amp;quot;[https://jira.secondlife.com/ Issue Tracker]&amp;quot; &amp;lt;br /&amp;gt;&lt;br /&gt;
Please enter bugs using PROJECT &amp;quot;Second Life Service - SVC&amp;quot; and COMPONENT &amp;quot;Physics&amp;quot;!&lt;br /&gt;
&lt;br /&gt;
===How Will Havok4 Be Tested And Rolled Out?===&lt;br /&gt;
This project replaces a core component of Second Life, and being sure that &amp;quot;anything that pushes, collides or has inertia&amp;quot; works right is a pretty extensive task. We have already done a lot of internal testing, and plowed through hundreds of internal bug fixes. We will be taking a phased approach to both catch as many problems as early as possible, and reduce risk of issues as Havok4 is rolled out. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Phase 1 - Internal Testing On Non-Public Test Grid (DONE!)&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
We already completed this phase, and had a variety of internal staff work on Havok4 enabled simulators. Basic functions were checked, as well as checking to see that the known physics-related simulator crashes were resolved.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Phase 2 - Public Beta Test On Beta Grid (&amp;quot;YOU ARE HERE!&amp;quot; :)&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
We expect the public beta test for Havok4 to be very active, with many participants. We have prepared a test grid that allows for many types of physics-related tests. The test regions will include:&lt;br /&gt;
* Orientation Islands&lt;br /&gt;
* Welcome Areas&lt;br /&gt;
* Lusk&lt;br /&gt;
* Several sandboxes&lt;br /&gt;
* Combat sandboxes&lt;br /&gt;
* Vehicle testing simulators&lt;br /&gt;
&lt;br /&gt;
NOTE: The Public Beta viewer will be configured to use the beta grid, which will be a snapshot copy of portions of the main grid and a copy of your user account. You can do &amp;quot;anything you want&amp;quot; on this grid without risking damage to your &amp;quot;real account&amp;quot; on the main grid. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Phase 3 - Havok4 On A Select Few Main Grid Regions&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
In this phase we will use the new HetGrid functionality to deploy Havok4 simulators on a small number of regions of the main grid. This will still be a testing phase, and for this phase any participants will need to remember that you will be on the main grid, working with your real inventory (caveat emptor - don&#039;t rez &amp;quot;no copy/no transfer&amp;quot; items on these early test Havok4 sims without understanding the potential risks)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Phase 4 - Partial Main Grid Rollout (50-100 regions)&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
At this point, we will have resolved outstanding issues found during beta testing and the Phase 3 &amp;quot;small deployment in a corner of the main grid&amp;quot; and will deploy Havok4 to a subset of the main grid. &lt;br /&gt;
&lt;br /&gt;
After collecting feedback, if all looks good, we will continue to...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Phase 5 - Full Havok4 Rollout On Main Grid (deploy to rest of grid)&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
If all is clean at this point, we will then roll out the Havok4 engine to the rest of the main grid, and we&#039;ll be &amp;quot;live&amp;quot; with Havok4 everywhere.&lt;br /&gt;
&lt;br /&gt;
===A Historical Note: Why Did &amp;quot;Doing Havok&amp;quot; Take So Long?===&lt;br /&gt;
Some of you who have been around for a long time will know that we talked about replacing Havok1 a long time ago, and did not seem to get this project done, and finally went silent about it. After several false starts, we decided that it would be best to stop talking about the work, or making public commitments, until we were far closer to the goal, and we believe that we are finally at this point. &lt;br /&gt;
&lt;br /&gt;
For &amp;quot;quite some time&amp;quot; we worked to replace Havok1 with Havok2. After working on that project, we realized that we really should rework the interfaces for how Havok is integrated with Second Life. We realized that we needed to define an abstraction layer - a layer of code that would make it easier to do future physics engine migrations so that they don&#039;t take as much effort as this migration took, and to allow for more flexibility down the road. At this point Havok4 became a much more reasonable target than implementing based on a then-older release... and thus we set Havok4 as the target. This project has been significantly larger than any of us anticipated, however the good news is that we are now here, ready for beta testing, and ready to fix the last minute issues before we bring Havok4-based sims to the main grid!&lt;/div&gt;</summary>
		<author><name>Sidewinder Linden</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Havok4/Beta1_Release_Notes&amp;diff=33543</id>
		<title>Havok4/Beta1 Release Notes</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Havok4/Beta1_Release_Notes&amp;diff=33543"/>
		<updated>2007-09-28T21:44:45Z</updated>

		<summary type="html">&lt;p&gt;Sidewinder Linden: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Havok4 Public Beta 1 Release Notes===&lt;br /&gt;
&lt;br /&gt;
This release of the Second Life simulator includes an upgrade of the Havok physics engine to v4. This is an internal update release, not a &amp;quot;new features&amp;quot; release from a physics perspective. &lt;br /&gt;
&lt;br /&gt;
===Public Beta Test Grid===&lt;br /&gt;
We expect the public beta test for Havok4 to be very active, with many participants. We have prepared a test grid that allows for many types of physics-related tests. The test regions will include:&lt;br /&gt;
* Orientation Islands&lt;br /&gt;
* Welcome Areas&lt;br /&gt;
* Lusk&lt;br /&gt;
* Several sandboxes&lt;br /&gt;
* Combat sandboxes&lt;br /&gt;
* Vehicle testing simulators&lt;br /&gt;
&lt;br /&gt;
NOTE: The Public Beta viewer will be configured to use the beta grid, which will be a snapshot copy of portions of the main grid and a copy of your user account. You can do &amp;quot;anything you want&amp;quot; on this grid without risking damage to your &amp;quot;real account&amp;quot; on the main grid.&lt;br /&gt;
&lt;br /&gt;
===How Do I Stay &amp;quot;In The Loop&amp;quot; With Havok4 Testing?===&lt;br /&gt;
# Attend &amp;quot;[[Regular_Havok4_Office_Hours_In-World|Regular Havok4 Office Hours In-World]]&amp;quot;&lt;br /&gt;
# TELL US about everything you find using the [[Issue_tracker|Public Issue Tracker]]&amp;lt;br /&amp;gt;&lt;br /&gt;
Please enter bugs using PROJECT &amp;quot;Second Life Service - SVC&amp;quot; and COMPONENT &amp;quot;Physics&amp;quot;!&lt;br /&gt;
&lt;br /&gt;
===Known Issues===&lt;br /&gt;
The following issues are known in the current Second Life Havok4 build, and several of them are already being worked on. We decided not to hold off on releasing the public beta for these, and will update the server code on the public beta test simulators as we have fixes completed. &lt;br /&gt;
&lt;br /&gt;
* Kart stops too quickly (and tumbles too easily when going over bumps, as well as some odd collision behavior)&lt;br /&gt;
&lt;br /&gt;
* Bonifacio has very high script time (and is running VERY slowly) &lt;br /&gt;
&lt;br /&gt;
* Short-range teleport script not working correctly&lt;br /&gt;
&lt;br /&gt;
* Flocking birds script behaves differently on Havok4 (birds acquire extra energy over time and eventually &amp;quot;rocket&amp;quot; out of sim)&lt;br /&gt;
&lt;br /&gt;
* Some physical TargetOmega objects do not spin&lt;br /&gt;
&lt;br /&gt;
* Sitting on anything but top face of a box will fail&lt;br /&gt;
&lt;br /&gt;
* C-Tech 2050 hover ship spirals out of control after several minutes of flying and turning&lt;br /&gt;
&lt;br /&gt;
* Sitting avatars do not always contact seat&lt;br /&gt;
&lt;br /&gt;
* Making an object non-physical while it&#039;s rolling leaves it rotating&lt;br /&gt;
&lt;br /&gt;
* Bouncing off of a plane is different if the plane is physical or non physical&lt;br /&gt;
&lt;br /&gt;
* Drop a large cube on a small cube, they interpenetrate when they shouldn&#039;t&lt;br /&gt;
&lt;br /&gt;
* A sphere interpenetrating into a larger object can launch both&lt;br /&gt;
&lt;br /&gt;
* Physical spheres on uneven ground sink into the ground&lt;br /&gt;
&lt;br /&gt;
* Your avatar direction does not update on other viewers (Avatar A turns, avatar b&#039;s viewer does not update showing the rotation until Avatar A does something else such as walk, run, jump or fly)&lt;br /&gt;
&lt;br /&gt;
* In some cases maximum link distance exceeds 32m&lt;br /&gt;
&lt;br /&gt;
* Vehicles collide with phantom tubes, rings, and torii&lt;br /&gt;
&lt;br /&gt;
* Some complex vehicles show incorrect behavior&lt;/div&gt;</summary>
		<author><name>Sidewinder Linden</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Havok4/Office_Hours&amp;diff=33542</id>
		<title>Havok4/Office Hours</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Havok4/Office_Hours&amp;diff=33542"/>
		<updated>2007-09-28T21:44:03Z</updated>

		<summary type="html">&lt;p&gt;Sidewinder Linden: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Office Hours will be held at the Brampton Linden Stage&amp;lt;br /&amp;gt;&lt;br /&gt;
Brampton 106/166/25&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://slurl.com/secondlife/Brampton/106/166/25/?title=Havok4%20Public%20Beta%201%20Office%20Hours Brampton Linden Stage SLURL]&lt;br /&gt;
&lt;br /&gt;
THIS Saturday September 29, 2007 08:00 PDT&lt;br /&gt;
&lt;br /&gt;
Tuesdays 21:00 PDT (ongoing)&lt;br /&gt;
&lt;br /&gt;
Thursdays 08:00 PDT (starting October 4, 2007&lt;/div&gt;</summary>
		<author><name>Sidewinder Linden</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Havok4/Office_Hours&amp;diff=33541</id>
		<title>Havok4/Office Hours</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Havok4/Office_Hours&amp;diff=33541"/>
		<updated>2007-09-28T21:43:47Z</updated>

		<summary type="html">&lt;p&gt;Sidewinder Linden: New page: Office Hours will be held at the Brampton Linden Stage (Brampton 106/166/25 [http://slurl.com/secondlife/Brampton/106/166/25/?title=Havok4%20Public%20Beta%201%20Office%20Hours Brampton Lin...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Office Hours will be held at the Brampton Linden Stage (Brampton 106/166/25&lt;br /&gt;
[http://slurl.com/secondlife/Brampton/106/166/25/?title=Havok4%20Public%20Beta%201%20Office%20Hours Brampton Linden Stage SLURL]&lt;br /&gt;
&lt;br /&gt;
THIS Saturday September 29, 2007 08:00 PDT&lt;br /&gt;
&lt;br /&gt;
Tuesdays 21:00 PDT (ongoing)&lt;br /&gt;
&lt;br /&gt;
Thursdays 08:00 PDT (starting October 4, 2007&lt;/div&gt;</summary>
		<author><name>Sidewinder Linden</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Havok4/Beta1_Release_Notes&amp;diff=33540</id>
		<title>Havok4/Beta1 Release Notes</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Havok4/Beta1_Release_Notes&amp;diff=33540"/>
		<updated>2007-09-28T21:39:56Z</updated>

		<summary type="html">&lt;p&gt;Sidewinder Linden: New page: ===Havok4 Public Beta 1 Release Notes===  This release of the Second Life simulator includes an upgrade of the Havok physics engine to v4. This is an internal update release, not a &amp;quot;new fe...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Havok4 Public Beta 1 Release Notes===&lt;br /&gt;
&lt;br /&gt;
This release of the Second Life simulator includes an upgrade of the Havok physics engine to v4. This is an internal update release, not a &amp;quot;new features&amp;quot; release from a physics perspective. &lt;br /&gt;
&lt;br /&gt;
===Public Beta Test Grid===&lt;br /&gt;
We expect the public beta test for Havok4 to be very active, with many participants. We have prepared a test grid that allows for many types of physics-related tests. The test regions will include:&lt;br /&gt;
* Orientation Islands&lt;br /&gt;
* Welcome Areas&lt;br /&gt;
* Lusk&lt;br /&gt;
* Several sandboxes&lt;br /&gt;
* Combat sandboxes&lt;br /&gt;
* Vehicle testing simulators&lt;br /&gt;
&lt;br /&gt;
NOTE: The Public Beta viewer will be configured to use the beta grid, which will be a snapshot copy of portions of the main grid and a copy of your user account. You can do &amp;quot;anything you want&amp;quot; on this grid without risking damage to your &amp;quot;real account&amp;quot; on the main grid.&lt;br /&gt;
&lt;br /&gt;
===How Do I Stay &amp;quot;In The Loop&amp;quot; With Havok4 Testing?===&lt;br /&gt;
# Attend &amp;quot;[[Havok4_Office_Hours|Regular Havok4 Office Hours In-World]]&amp;quot;&lt;br /&gt;
# TELL US about everything you find using the [[Issue_tracker|Public Issue Tracker]]&amp;lt;br /&amp;gt;&lt;br /&gt;
Please enter bugs using PROJECT &amp;quot;Second Life Service - SVC&amp;quot; and COMPONENT &amp;quot;Physics&amp;quot;!&lt;br /&gt;
&lt;br /&gt;
===Known Issues===&lt;br /&gt;
The following issues are known in the current Second Life Havok4 build, and several of them are already being worked on. We decided not to hold off on releasing the public beta for these, and will update the server code on the public beta test simulators as we have fixes completed. &lt;br /&gt;
&lt;br /&gt;
* Kart stops too quickly (and tumbles too easily when going over bumps, as well as some odd collision behavior)&lt;br /&gt;
&lt;br /&gt;
* Bonifacio has very high script time (and is running VERY slowly) &lt;br /&gt;
&lt;br /&gt;
* Short-range teleport script not working correctly&lt;br /&gt;
&lt;br /&gt;
* Flocking birds script behaves differently on Havok4 (birds acquire extra energy over time and eventually &amp;quot;rocket&amp;quot; out of sim)&lt;br /&gt;
&lt;br /&gt;
* Some physical TargetOmega objects do not spin&lt;br /&gt;
&lt;br /&gt;
* Sitting on anything but top face of a box will fail&lt;br /&gt;
&lt;br /&gt;
* C-Tech 2050 hover ship spirals out of control after several minutes of flying and turning&lt;br /&gt;
&lt;br /&gt;
* Sitting avatars do not always contact seat&lt;br /&gt;
&lt;br /&gt;
* Making an object non-physical while it&#039;s rolling leaves it rotating&lt;br /&gt;
&lt;br /&gt;
* Bouncing off of a plane is different if the plane is physical or non physical&lt;br /&gt;
&lt;br /&gt;
* Drop a large cube on a small cube, they interpenetrate when they shouldn&#039;t&lt;br /&gt;
&lt;br /&gt;
* A sphere interpenetrating into a larger object can launch both&lt;br /&gt;
&lt;br /&gt;
* Physical spheres on uneven ground sink into the ground&lt;br /&gt;
&lt;br /&gt;
* Your avatar direction does not update on other viewers (Avatar A turns, avatar b&#039;s viewer does not update showing the rotation until Avatar A does something else such as walk, run, jump or fly)&lt;br /&gt;
&lt;br /&gt;
* In some cases maximum link distance exceeds 32m&lt;br /&gt;
&lt;br /&gt;
* Vehicles collide with phantom tubes, rings, and torii&lt;br /&gt;
&lt;br /&gt;
* Some complex vehicles show incorrect behavior&lt;/div&gt;</summary>
		<author><name>Sidewinder Linden</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Havok4&amp;diff=33539</id>
		<title>Havok4</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Havok4&amp;diff=33539"/>
		<updated>2007-09-28T21:38:53Z</updated>

		<summary type="html">&lt;p&gt;Sidewinder Linden: /* Introduction */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Havok4 (New Physics Engine) Beta Test Information Hub==&lt;br /&gt;
===Introduction===&lt;br /&gt;
The beta testing for the Havok4 implementation in Second Life is now in process. This page provides information on the project, as well as useful information that will help us all to make sure that Havok4 is tested well before it is rolled throughout the main Second Life grid.&lt;br /&gt;
&lt;br /&gt;
Please read the [[Havok4 Beta1 Release Notes]]&lt;br /&gt;
&lt;br /&gt;
===What Is Havok?===&lt;br /&gt;
The Second Life virtual world has a lot of moving parts that keep it going. One of these is the Physics Engine. A physics engine is a specialized piece of software that does the &amp;quot;real world&amp;quot; calculations to figure out what do when:&lt;br /&gt;
* Something or someone is pushed&lt;br /&gt;
* Something or someone collides with something or someone else&lt;br /&gt;
* Something or someone is in motion and has momentum&lt;br /&gt;
* Friction or damping slows the motion of something or someone&lt;br /&gt;
&lt;br /&gt;
Havok is a commercially produced physics engine, and Second Life was built using Havok1. on which it operated for several years. &lt;br /&gt;
&lt;br /&gt;
===How Can I Participate In Havok4 Physics Engine Testing?===&lt;br /&gt;
You can participate in the Beta Test of Havok4 with a few easy steps:&lt;br /&gt;
# Read &amp;quot;[[What&#039;s Changed With Havok4]]&amp;quot; to understand what should be different, and what should not be different, on the Havok4 Beta Test grid&lt;br /&gt;
# Read &amp;quot;[[Linkability_Rules|New Prim Linkability Rules]]&amp;quot; to understand how prim linkage works with Havok4 (it&#039;s better and should be much more reliable!)&lt;br /&gt;
# Login to the Public Issue Tracker at &amp;quot;[https://jira.secondlife.com/ Issue Tracker]&amp;quot; to see how easily you can tell us about problems you find during the beta test&lt;br /&gt;
# [http://secondlife.com/community/preview.php Download the install the Havok4 Beta Viewer here]&lt;br /&gt;
&lt;br /&gt;
===What To Test?===&lt;br /&gt;
Make sure that all of the your content works on the Havok4 grid, and try as many physics-related things as you can think of as well... Here is a short list, and a link to a page with a more exhaustive list of ideas:&lt;br /&gt;
* Building, linking, unlinking&lt;br /&gt;
* Vehicles&lt;br /&gt;
* Weapons&lt;br /&gt;
* &amp;quot;Spells&amp;quot;&lt;br /&gt;
* Shields&lt;br /&gt;
* Building Tools&lt;br /&gt;
* Rezzing large linked sets of prims&lt;br /&gt;
* Try building simple and complex items, taking them into inventory and rezzing them in different orientations and in different places&lt;br /&gt;
* Does walking, sitting, flying, swimming, running and other avatar motions work the way you expect it to?&lt;br /&gt;
* Do scripts work as expected? &lt;br /&gt;
* Try creating scripts and modifying them&lt;br /&gt;
* Are permissions working correctly?&lt;br /&gt;
* Can you get the sim to crash using &amp;quot;physics crashes&amp;quot;? (those of you who know what this means... &amp;quot;go for it&amp;quot; and let us know if you can... ;)&lt;br /&gt;
&lt;br /&gt;
There are [[Havok4_Beta_Test_Ideas|Many Things You Can Test In Havok4]] (a list of lots of things that would be helpful for you to test. Feel free to pick and choose from this list and make up your own things to try as well!&lt;br /&gt;
&lt;br /&gt;
===How Do I Stay &amp;quot;In The Loop&amp;quot; With Havok4 Testing?===&lt;br /&gt;
# Attend &amp;quot;[[Regular Havok4 Office Hours In-World]]&amp;quot;&lt;br /&gt;
# TELL US about everything you find using the [[Issue_tracker|Public Issue Tracker]]&amp;lt;br /&amp;gt;&lt;br /&gt;
Please enter bugs using PROJECT &amp;quot;Second Life Service - SVC&amp;quot; and COMPONENT &amp;quot;Physics&amp;quot;!&lt;br /&gt;
&lt;br /&gt;
===How Will Havok4 Be Tested And Rolled Out?===&lt;br /&gt;
This project replaces a core component of Second Life, and being sure that &amp;quot;anything that pushes, collides or has inertia&amp;quot; works right is a pretty extensive task. We have already done a lot of internal testing, and plowed through hundreds of internal bug fixes. We will be taking a phased approach to both catch as many problems as early as possible, and reduce risk of issues as Havok4 is rolled out. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Phase 1 - Internal Testing On Non-Public Test Grid (DONE!)&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
We already completed this phase, and had a variety of internal staff work on Havok4 enabled simulators. Basic functions were checked, as well as checking to see that the known physics-related simulator crashes were resolved.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Phase 2 - Public Beta Test On Beta Grid (&amp;quot;YOU ARE HERE!&amp;quot; :)&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
We expect the public beta test for Havok4 to be very active, with many participants. We have prepared a test grid that allows for many types of physics-related tests. The test regions will include:&lt;br /&gt;
* Orientation Islands&lt;br /&gt;
* Welcome Areas&lt;br /&gt;
* Lusk&lt;br /&gt;
* Several sandboxes&lt;br /&gt;
* Combat sandboxes&lt;br /&gt;
* Vehicle testing simulators&lt;br /&gt;
&lt;br /&gt;
NOTE: The Public Beta viewer will be configured to use the beta grid, which will be a snapshot copy of portions of the main grid and a copy of your user account. You can do &amp;quot;anything you want&amp;quot; on this grid without risking damage to your &amp;quot;real account&amp;quot; on the main grid. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Phase 3 - Havok4 On A Select Few Main Grid Regions&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
In this phase we will use the new HetGrid functionality to deploy Havok4 simulators on a small number of regions of the main grid. This will still be a testing phase, and for this phase any participants will need to remember that you will be on the main grid, working with your real inventory (caveat emptor - don&#039;t rez &amp;quot;no copy/no transfer&amp;quot; items on these early test Havok4 sims without understanding the potential risks)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Phase 4 - Partial Main Grid Rollout (50-100 regions)&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
At this point, we will have resolved outstanding issues found during beta testing and the Phase 3 &amp;quot;small deployment in a corner of the main grid&amp;quot; and will deploy Havok4 to a subset of the main grid. &lt;br /&gt;
&lt;br /&gt;
After collecting feedback, if all looks good, we will continue to...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Phase 5 - Full Havok4 Rollout On Main Grid (deploy to rest of grid)&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
If all is clean at this point, we will then roll out the Havok4 engine to the rest of the main grid, and we&#039;ll be &amp;quot;live&amp;quot; with Havok4 everywhere.&lt;br /&gt;
&lt;br /&gt;
===A Historical Note: Why Did &amp;quot;Doing Havok&amp;quot; Take So Long?===&lt;br /&gt;
Some of you who have been around for a long time will know that we talked about replacing Havok1 a long time ago, and did not seem to get this project done, and finally went silent about it. After several false starts, we decided that it would be best to stop talking about the work, or making public commitments, until we were far closer to the goal, and we believe that we are finally at this point. &lt;br /&gt;
&lt;br /&gt;
For &amp;quot;quite some time&amp;quot; we worked to replace Havok1 with Havok2. After working on that project, we realized that we really should rework the interfaces for how Havok is integrated with Second Life. We realized that we needed to define an abstraction layer - a layer of code that would make it easier to do future physics engine migrations so that they don&#039;t take as much effort as this migration took, and to allow for more flexibility down the road. At this point Havok4 became a much more reasonable target than implementing based on a then-older release... and thus we set Havok4 as the target. This project has been significantly larger than any of us anticipated, however the good news is that we are now here, ready for beta testing, and ready to fix the last minute issues before we bring Havok4-based sims to the main grid!&lt;/div&gt;</summary>
		<author><name>Sidewinder Linden</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Havok4&amp;diff=33538</id>
		<title>Havok4</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Havok4&amp;diff=33538"/>
		<updated>2007-09-28T21:38:25Z</updated>

		<summary type="html">&lt;p&gt;Sidewinder Linden: /* Havok4 (New Physics Engine) Beta Test Information Hub */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Havok4 (New Physics Engine) Beta Test Information Hub==&lt;br /&gt;
===Introduction===&lt;br /&gt;
The beta testing for the Havok4 implementation in Second Life is now in process. This page provides information on the project, as well as useful information that will help us all to make sure that Havok4 is tested well before it is rolled throughout the main Second Life grid.&lt;br /&gt;
&lt;br /&gt;
Please read the [Havok4 Beta1 Release Notes]&lt;br /&gt;
&lt;br /&gt;
===What Is Havok?===&lt;br /&gt;
The Second Life virtual world has a lot of moving parts that keep it going. One of these is the Physics Engine. A physics engine is a specialized piece of software that does the &amp;quot;real world&amp;quot; calculations to figure out what do when:&lt;br /&gt;
* Something or someone is pushed&lt;br /&gt;
* Something or someone collides with something or someone else&lt;br /&gt;
* Something or someone is in motion and has momentum&lt;br /&gt;
* Friction or damping slows the motion of something or someone&lt;br /&gt;
&lt;br /&gt;
Havok is a commercially produced physics engine, and Second Life was built using Havok1. on which it operated for several years. &lt;br /&gt;
&lt;br /&gt;
===How Can I Participate In Havok4 Physics Engine Testing?===&lt;br /&gt;
You can participate in the Beta Test of Havok4 with a few easy steps:&lt;br /&gt;
# Read &amp;quot;[[What&#039;s Changed With Havok4]]&amp;quot; to understand what should be different, and what should not be different, on the Havok4 Beta Test grid&lt;br /&gt;
# Read &amp;quot;[[Linkability_Rules|New Prim Linkability Rules]]&amp;quot; to understand how prim linkage works with Havok4 (it&#039;s better and should be much more reliable!)&lt;br /&gt;
# Login to the Public Issue Tracker at &amp;quot;[https://jira.secondlife.com/ Issue Tracker]&amp;quot; to see how easily you can tell us about problems you find during the beta test&lt;br /&gt;
# [http://secondlife.com/community/preview.php Download the install the Havok4 Beta Viewer here]&lt;br /&gt;
&lt;br /&gt;
===What To Test?===&lt;br /&gt;
Make sure that all of the your content works on the Havok4 grid, and try as many physics-related things as you can think of as well... Here is a short list, and a link to a page with a more exhaustive list of ideas:&lt;br /&gt;
* Building, linking, unlinking&lt;br /&gt;
* Vehicles&lt;br /&gt;
* Weapons&lt;br /&gt;
* &amp;quot;Spells&amp;quot;&lt;br /&gt;
* Shields&lt;br /&gt;
* Building Tools&lt;br /&gt;
* Rezzing large linked sets of prims&lt;br /&gt;
* Try building simple and complex items, taking them into inventory and rezzing them in different orientations and in different places&lt;br /&gt;
* Does walking, sitting, flying, swimming, running and other avatar motions work the way you expect it to?&lt;br /&gt;
* Do scripts work as expected? &lt;br /&gt;
* Try creating scripts and modifying them&lt;br /&gt;
* Are permissions working correctly?&lt;br /&gt;
* Can you get the sim to crash using &amp;quot;physics crashes&amp;quot;? (those of you who know what this means... &amp;quot;go for it&amp;quot; and let us know if you can... ;)&lt;br /&gt;
&lt;br /&gt;
There are [[Havok4_Beta_Test_Ideas|Many Things You Can Test In Havok4]] (a list of lots of things that would be helpful for you to test. Feel free to pick and choose from this list and make up your own things to try as well!&lt;br /&gt;
&lt;br /&gt;
===How Do I Stay &amp;quot;In The Loop&amp;quot; With Havok4 Testing?===&lt;br /&gt;
# Attend &amp;quot;[[Regular Havok4 Office Hours In-World]]&amp;quot;&lt;br /&gt;
# TELL US about everything you find using the [[Issue_tracker|Public Issue Tracker]]&amp;lt;br /&amp;gt;&lt;br /&gt;
Please enter bugs using PROJECT &amp;quot;Second Life Service - SVC&amp;quot; and COMPONENT &amp;quot;Physics&amp;quot;!&lt;br /&gt;
&lt;br /&gt;
===How Will Havok4 Be Tested And Rolled Out?===&lt;br /&gt;
This project replaces a core component of Second Life, and being sure that &amp;quot;anything that pushes, collides or has inertia&amp;quot; works right is a pretty extensive task. We have already done a lot of internal testing, and plowed through hundreds of internal bug fixes. We will be taking a phased approach to both catch as many problems as early as possible, and reduce risk of issues as Havok4 is rolled out. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Phase 1 - Internal Testing On Non-Public Test Grid (DONE!)&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
We already completed this phase, and had a variety of internal staff work on Havok4 enabled simulators. Basic functions were checked, as well as checking to see that the known physics-related simulator crashes were resolved.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Phase 2 - Public Beta Test On Beta Grid (&amp;quot;YOU ARE HERE!&amp;quot; :)&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
We expect the public beta test for Havok4 to be very active, with many participants. We have prepared a test grid that allows for many types of physics-related tests. The test regions will include:&lt;br /&gt;
* Orientation Islands&lt;br /&gt;
* Welcome Areas&lt;br /&gt;
* Lusk&lt;br /&gt;
* Several sandboxes&lt;br /&gt;
* Combat sandboxes&lt;br /&gt;
* Vehicle testing simulators&lt;br /&gt;
&lt;br /&gt;
NOTE: The Public Beta viewer will be configured to use the beta grid, which will be a snapshot copy of portions of the main grid and a copy of your user account. You can do &amp;quot;anything you want&amp;quot; on this grid without risking damage to your &amp;quot;real account&amp;quot; on the main grid. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Phase 3 - Havok4 On A Select Few Main Grid Regions&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
In this phase we will use the new HetGrid functionality to deploy Havok4 simulators on a small number of regions of the main grid. This will still be a testing phase, and for this phase any participants will need to remember that you will be on the main grid, working with your real inventory (caveat emptor - don&#039;t rez &amp;quot;no copy/no transfer&amp;quot; items on these early test Havok4 sims without understanding the potential risks)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Phase 4 - Partial Main Grid Rollout (50-100 regions)&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
At this point, we will have resolved outstanding issues found during beta testing and the Phase 3 &amp;quot;small deployment in a corner of the main grid&amp;quot; and will deploy Havok4 to a subset of the main grid. &lt;br /&gt;
&lt;br /&gt;
After collecting feedback, if all looks good, we will continue to...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Phase 5 - Full Havok4 Rollout On Main Grid (deploy to rest of grid)&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
If all is clean at this point, we will then roll out the Havok4 engine to the rest of the main grid, and we&#039;ll be &amp;quot;live&amp;quot; with Havok4 everywhere.&lt;br /&gt;
&lt;br /&gt;
===A Historical Note: Why Did &amp;quot;Doing Havok&amp;quot; Take So Long?===&lt;br /&gt;
Some of you who have been around for a long time will know that we talked about replacing Havok1 a long time ago, and did not seem to get this project done, and finally went silent about it. After several false starts, we decided that it would be best to stop talking about the work, or making public commitments, until we were far closer to the goal, and we believe that we are finally at this point. &lt;br /&gt;
&lt;br /&gt;
For &amp;quot;quite some time&amp;quot; we worked to replace Havok1 with Havok2. After working on that project, we realized that we really should rework the interfaces for how Havok is integrated with Second Life. We realized that we needed to define an abstraction layer - a layer of code that would make it easier to do future physics engine migrations so that they don&#039;t take as much effort as this migration took, and to allow for more flexibility down the road. At this point Havok4 became a much more reasonable target than implementing based on a then-older release... and thus we set Havok4 as the target. This project has been significantly larger than any of us anticipated, however the good news is that we are now here, ready for beta testing, and ready to fix the last minute issues before we bring Havok4-based sims to the main grid!&lt;/div&gt;</summary>
		<author><name>Sidewinder Linden</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Havok4&amp;diff=33537</id>
		<title>Havok4</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Havok4&amp;diff=33537"/>
		<updated>2007-09-28T21:34:15Z</updated>

		<summary type="html">&lt;p&gt;Sidewinder Linden: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Havok4 (New Physics Engine) Beta Test Information Hub==&lt;br /&gt;
===Introduction===&lt;br /&gt;
The beta testing for the Havok4 implementation in Second Life is now in process. This page provides information on the project, as well as useful information that will help us all to make sure that Havok4 is tested well before it is rolled throughout the main Second Life grid.&lt;br /&gt;
&lt;br /&gt;
Please read the [Havok_Beta1_Release_Notes Havok4 Beta Release Notes]&lt;br /&gt;
&lt;br /&gt;
===What Is Havok?===&lt;br /&gt;
The Second Life virtual world has a lot of moving parts that keep it going. One of these is the Physics Engine. A physics engine is a specialized piece of software that does the &amp;quot;real world&amp;quot; calculations to figure out what do when:&lt;br /&gt;
* Something or someone is pushed&lt;br /&gt;
* Something or someone collides with something or someone else&lt;br /&gt;
* Something or someone is in motion and has momentum&lt;br /&gt;
* Friction or damping slows the motion of something or someone&lt;br /&gt;
&lt;br /&gt;
Havok is a commercially produced physics engine, and Second Life was built using Havok1. on which it operated for several years. &lt;br /&gt;
&lt;br /&gt;
===How Can I Participate In Havok4 Physics Engine Testing?===&lt;br /&gt;
You can participate in the Beta Test of Havok4 with a few easy steps:&lt;br /&gt;
# Read &amp;quot;[[What&#039;s Changed With Havok4]]&amp;quot; to understand what should be different, and what should not be different, on the Havok4 Beta Test grid&lt;br /&gt;
# Read &amp;quot;[[Linkability_Rules|New Prim Linkability Rules]]&amp;quot; to understand how prim linkage works with Havok4 (it&#039;s better and should be much more reliable!)&lt;br /&gt;
# Login to the Public Issue Tracker at &amp;quot;[https://jira.secondlife.com/ Issue Tracker]&amp;quot; to see how easily you can tell us about problems you find during the beta test&lt;br /&gt;
# [http://secondlife.com/community/preview.php Download the install the Havok4 Beta Viewer here]&lt;br /&gt;
&lt;br /&gt;
===What To Test?===&lt;br /&gt;
Make sure that all of the your content works on the Havok4 grid, and try as many physics-related things as you can think of as well... Here is a short list, and a link to a page with a more exhaustive list of ideas:&lt;br /&gt;
* Building, linking, unlinking&lt;br /&gt;
* Vehicles&lt;br /&gt;
* Weapons&lt;br /&gt;
* &amp;quot;Spells&amp;quot;&lt;br /&gt;
* Shields&lt;br /&gt;
* Building Tools&lt;br /&gt;
* Rezzing large linked sets of prims&lt;br /&gt;
* Try building simple and complex items, taking them into inventory and rezzing them in different orientations and in different places&lt;br /&gt;
* Does walking, sitting, flying, swimming, running and other avatar motions work the way you expect it to?&lt;br /&gt;
* Do scripts work as expected? &lt;br /&gt;
* Try creating scripts and modifying them&lt;br /&gt;
* Are permissions working correctly?&lt;br /&gt;
* Can you get the sim to crash using &amp;quot;physics crashes&amp;quot;? (those of you who know what this means... &amp;quot;go for it&amp;quot; and let us know if you can... ;)&lt;br /&gt;
&lt;br /&gt;
There are [[Havok4_Beta_Test_Ideas|Many Things You Can Test In Havok4]] (a list of lots of things that would be helpful for you to test. Feel free to pick and choose from this list and make up your own things to try as well!&lt;br /&gt;
&lt;br /&gt;
===How Do I Stay &amp;quot;In The Loop&amp;quot; With Havok4 Testing?===&lt;br /&gt;
# Attend &amp;quot;[[Regular Havok4 Office Hours In-World]]&amp;quot;&lt;br /&gt;
# TELL US about everything you find using the [[Issue_tracker|Public Issue Tracker]]&amp;lt;br /&amp;gt;&lt;br /&gt;
Please enter bugs using PROJECT &amp;quot;Second Life Service - SVC&amp;quot; and COMPONENT &amp;quot;Physics&amp;quot;!&lt;br /&gt;
&lt;br /&gt;
===How Will Havok4 Be Tested And Rolled Out?===&lt;br /&gt;
This project replaces a core component of Second Life, and being sure that &amp;quot;anything that pushes, collides or has inertia&amp;quot; works right is a pretty extensive task. We have already done a lot of internal testing, and plowed through hundreds of internal bug fixes. We will be taking a phased approach to both catch as many problems as early as possible, and reduce risk of issues as Havok4 is rolled out. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Phase 1 - Internal Testing On Non-Public Test Grid (DONE!)&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
We already completed this phase, and had a variety of internal staff work on Havok4 enabled simulators. Basic functions were checked, as well as checking to see that the known physics-related simulator crashes were resolved.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Phase 2 - Public Beta Test On Beta Grid (&amp;quot;YOU ARE HERE!&amp;quot; :)&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
We expect the public beta test for Havok4 to be very active, with many participants. We have prepared a test grid that allows for many types of physics-related tests. The test regions will include:&lt;br /&gt;
* Orientation Islands&lt;br /&gt;
* Welcome Areas&lt;br /&gt;
* Lusk&lt;br /&gt;
* Several sandboxes&lt;br /&gt;
* Combat sandboxes&lt;br /&gt;
* Vehicle testing simulators&lt;br /&gt;
&lt;br /&gt;
NOTE: The Public Beta viewer will be configured to use the beta grid, which will be a snapshot copy of portions of the main grid and a copy of your user account. You can do &amp;quot;anything you want&amp;quot; on this grid without risking damage to your &amp;quot;real account&amp;quot; on the main grid. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Phase 3 - Havok4 On A Select Few Main Grid Regions&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
In this phase we will use the new HetGrid functionality to deploy Havok4 simulators on a small number of regions of the main grid. This will still be a testing phase, and for this phase any participants will need to remember that you will be on the main grid, working with your real inventory (caveat emptor - don&#039;t rez &amp;quot;no copy/no transfer&amp;quot; items on these early test Havok4 sims without understanding the potential risks)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Phase 4 - Partial Main Grid Rollout (50-100 regions)&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
At this point, we will have resolved outstanding issues found during beta testing and the Phase 3 &amp;quot;small deployment in a corner of the main grid&amp;quot; and will deploy Havok4 to a subset of the main grid. &lt;br /&gt;
&lt;br /&gt;
After collecting feedback, if all looks good, we will continue to...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Phase 5 - Full Havok4 Rollout On Main Grid (deploy to rest of grid)&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
If all is clean at this point, we will then roll out the Havok4 engine to the rest of the main grid, and we&#039;ll be &amp;quot;live&amp;quot; with Havok4 everywhere.&lt;br /&gt;
&lt;br /&gt;
===A Historical Note: Why Did &amp;quot;Doing Havok&amp;quot; Take So Long?===&lt;br /&gt;
Some of you who have been around for a long time will know that we talked about replacing Havok1 a long time ago, and did not seem to get this project done, and finally went silent about it. After several false starts, we decided that it would be best to stop talking about the work, or making public commitments, until we were far closer to the goal, and we believe that we are finally at this point. &lt;br /&gt;
&lt;br /&gt;
For &amp;quot;quite some time&amp;quot; we worked to replace Havok1 with Havok2. After working on that project, we realized that we really should rework the interfaces for how Havok is integrated with Second Life. We realized that we needed to define an abstraction layer - a layer of code that would make it easier to do future physics engine migrations so that they don&#039;t take as much effort as this migration took, and to allow for more flexibility down the road. At this point Havok4 became a much more reasonable target than implementing based on a then-older release... and thus we set Havok4 as the target. This project has been significantly larger than any of us anticipated, however the good news is that we are now here, ready for beta testing, and ready to fix the last minute issues before we bring Havok4-based sims to the main grid!&lt;/div&gt;</summary>
		<author><name>Sidewinder Linden</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Havok4_Beta_Test_Ideas&amp;diff=33534</id>
		<title>Havok4 Beta Test Ideas</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Havok4_Beta_Test_Ideas&amp;diff=33534"/>
		<updated>2007-09-28T21:08:31Z</updated>

		<summary type="html">&lt;p&gt;Sidewinder Linden: New page: ===Building and Linking=== * Construction tools and huds * manual linking/unlinking Linkability Rules * test link distance rules (for attachments too) Linkability Rules * Make sure...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Building and Linking===&lt;br /&gt;
* Construction tools and huds&lt;br /&gt;
* manual linking/unlinking [[Linkability Rules]]&lt;br /&gt;
* test link distance rules (for attachments too) [[Linkability Rules]]&lt;br /&gt;
* Make sure that linked objects remain linked when you rez them in any orientation&lt;br /&gt;
** Rez out large linked objects from your inventory and make sure they are still linked, eg. buildings, ships, aircraft, cars&lt;br /&gt;
** Rez out linked objects containing small prims, eg. jewelry, furniture, attachments, HUD attachments.&lt;br /&gt;
**Rez out linked objects that have both small and large prims, eg. furniture, vehicles.&lt;br /&gt;
** edit a prims of a linked object and move it as far from the other prims as possible. Take the linked object, rez it, and make sure it is still linked.&lt;br /&gt;
* moving/rotating/scaling sub-parts of linked sets (via UI and scripting)&lt;br /&gt;
&lt;br /&gt;
===Scripted Movement===&lt;br /&gt;
* all script movement, actions (hover, vehicle, buoyancy etc)&lt;br /&gt;
* sitting on objects, standing up [http://wiki.secondlife.com/wiki/Sitting_test Sitting test]&lt;br /&gt;
* interpenetration resolution when two dynamic objects are overlapping&lt;br /&gt;
* collision events (script callbacks, especially callbacks on linked children)&lt;br /&gt;
* avatar controls (flying, running, walking)&lt;br /&gt;
&lt;br /&gt;
===Collisions===&lt;br /&gt;
* collision correctness (do objects/avatars visually appear to collide/deflect at the right place?)&lt;br /&gt;
* piles of colliding objects&lt;br /&gt;
* creating objects from inventory&lt;br /&gt;
* reading the mass of objects after shape/scale changes, especially attachments&lt;br /&gt;
* scripted attachments that push the avatar or other objects, especially after shape/scale changes&lt;br /&gt;
&lt;br /&gt;
===Physics Overloads===&lt;br /&gt;
* &amp;quot;deep thinks&amp;quot; - regions slowness caused by Havok trying to untangle complex physical objects. (which may still exist but it would be interesting to find out how things are different)&lt;br /&gt;
* permission errors&lt;br /&gt;
* rezzing objects via script&lt;br /&gt;
&lt;br /&gt;
===Vehicles===&lt;br /&gt;
* Fly or drive any vehicles you have, make sure they behave the same as on the main grid.&lt;br /&gt;
* Fly or driver your vehicles across region boundaries. Verify they are no worse than on the main grid. (They may not be any better either)&lt;br /&gt;
&lt;br /&gt;
===Avatar Motion===&lt;br /&gt;
* Make sure Avatar controls feel the same&lt;br /&gt;
* Walk, fly and run&lt;br /&gt;
* Walk up and down stairs&lt;br /&gt;
* Walk up and down hills&lt;br /&gt;
* Walk, run and fly across region boundaries&lt;br /&gt;
* Collide with objects&lt;br /&gt;
* Collide with other avatars&lt;br /&gt;
* Wear any flight assist attachments and verify your flight speed and control feels the same&lt;br /&gt;
&lt;br /&gt;
===Scripted Behavior===&lt;br /&gt;
* Make sure script rezzing items work. eg. guns.&lt;br /&gt;
* Make sure push guns still push you, or cause damage. (get the other person&#039;s consent first!)&lt;br /&gt;
* Test scripted linking and unlinking&lt;br /&gt;
* Make lots of physical objects and drop them in a pile. Drive a vehicle through the pile.&lt;br /&gt;
* Test phantom&lt;br /&gt;
* Toggle phantom status with a script and verify phantom actually toggles&lt;br /&gt;
* Test targetomega, targetomega child prims, and targetomega attachments and HUD objects.&lt;br /&gt;
* Test mega prim rezzing and physics&lt;br /&gt;
* Estate tools &amp;quot;Get Top Colliders&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Permissions===&lt;br /&gt;
* Walking, flying and driving vehicles into parcels you are banned from.&lt;br /&gt;
* Walking, flying and driving vehicles into regions you are banned from.&lt;br /&gt;
* Test being ejected from a parcel via right-clicking an avatar &amp;gt; More &amp;gt; Eject...&lt;/div&gt;</summary>
		<author><name>Sidewinder Linden</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Havok4&amp;diff=33532</id>
		<title>Havok4</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Havok4&amp;diff=33532"/>
		<updated>2007-09-28T21:04:36Z</updated>

		<summary type="html">&lt;p&gt;Sidewinder Linden: /* How Can I Participate In Havok4 Physics Engine Testing? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Havok4 (New Physics Engine) Beta Test Information Hub==&lt;br /&gt;
===Introduction===&lt;br /&gt;
The beta testing for the Havok4 implementation in Second Life is now in process. This page provides information on the project, as well as useful information that will help us all to make sure that Havok4 is tested well before it is rolled throughout the main Second Life grid.&lt;br /&gt;
&lt;br /&gt;
===What Is Havok?===&lt;br /&gt;
The Second Life virtual world has a lot of moving parts that keep it going. One of these is the Physics Engine. A physics engine is a specialized piece of software that does the &amp;quot;real world&amp;quot; calculations to figure out what do when:&lt;br /&gt;
* Something or someone is pushed&lt;br /&gt;
* Something or someone collides with something or someone else&lt;br /&gt;
* Something or someone is in motion and has momentum&lt;br /&gt;
* Friction or damping slows the motion of something or someone&lt;br /&gt;
&lt;br /&gt;
Havok is a commercially produced physics engine, and Second Life was built using Havok1. on which it operated for several years. &lt;br /&gt;
&lt;br /&gt;
===How Can I Participate In Havok4 Physics Engine Testing?===&lt;br /&gt;
You can participate in the Beta Test of Havok4 with a few easy steps:&lt;br /&gt;
# Read &amp;quot;[[What&#039;s Changed With Havok4]]&amp;quot; to understand what should be different, and what should not be different, on the Havok4 Beta Test grid&lt;br /&gt;
# Read &amp;quot;[[Linkability_Rules|New Prim Linkability Rules]]&amp;quot; to understand how prim linkage works with Havok4 (it&#039;s better and should be much more reliable!)&lt;br /&gt;
# Login to the Public Issue Tracker at &amp;quot;[https://jira.secondlife.com/ | Issue Tracker]&amp;quot; to see how easily you can tell us about problems you find during the beta test&lt;br /&gt;
# [http://secondlife.com/community/preview.php Download the install the Havok4 Beta Viewer here]&lt;br /&gt;
&lt;br /&gt;
===What To Test?===&lt;br /&gt;
Make sure that all of the your content works on the Havok4 grid, and try as many physics-related things as you can think of as well... Here is a short list, and a link to a page with a more exhaustive list of ideas:&lt;br /&gt;
* Building, linking, unlinking&lt;br /&gt;
* Vehicles&lt;br /&gt;
* Weapons&lt;br /&gt;
* &amp;quot;Spells&amp;quot;&lt;br /&gt;
* Shields&lt;br /&gt;
* Building Tools&lt;br /&gt;
* Rezzing large linked sets of prims&lt;br /&gt;
* Try building simple and complex items, taking them into inventory and rezzing them in different orientations and in different places&lt;br /&gt;
* Does walking, sitting, flying, swimming, running and other avatar motions work the way you expect it to?&lt;br /&gt;
* Do scripts work as expected? &lt;br /&gt;
* Try creating scripts and modifying them&lt;br /&gt;
* Are permissions working correctly?&lt;br /&gt;
* Can you get the sim to crash using &amp;quot;physics crashes&amp;quot;? (those of you who know what this means... &amp;quot;go for it&amp;quot; and let us know if you can... ;)&lt;br /&gt;
&lt;br /&gt;
There are [[Havok4_Beta_Test_Ideas|Many Things You Can Test In Havok4]] (a list of lots of things that would be helpful for you to test. Feel free to pick and choose from this list and make up your own things to try as well!&lt;br /&gt;
&lt;br /&gt;
===How Do I Stay &amp;quot;In The Loop&amp;quot; With Havok4 Testing?===&lt;br /&gt;
# Attend &amp;quot;[[Regular Havok4 Office Hours In-World]]&amp;quot;&lt;br /&gt;
# TELL US about everything you find using the [[Issue_tracker|Public Issue Tracker]]&amp;lt;br /&amp;gt;&lt;br /&gt;
Please enter bugs using PROJECT &amp;quot;Second Life Service - SVC&amp;quot; and COMPONENT &amp;quot;Physics&amp;quot;!&lt;br /&gt;
&lt;br /&gt;
===How Will Havok4 Be Tested And Rolled Out?===&lt;br /&gt;
This project replaces a core component of Second Life, and being sure that &amp;quot;anything that pushes, collides or has inertia&amp;quot; works right is a pretty extensive task. We have already done a lot of internal testing, and plowed through hundreds of internal bug fixes. We will be taking a phased approach to both catch as many problems as early as possible, and reduce risk of issues as Havok4 is rolled out. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Phase 1 - Internal Testing On Non-Public Test Grid (DONE!)&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
We already completed this phase, and had a variety of internal staff work on Havok4 enabled simulators. Basic functions were checked, as well as checking to see that the known physics-related simulator crashes were resolved.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Phase 2 - Public Beta Test On Beta Grid (&amp;quot;YOU ARE HERE!&amp;quot; :)&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
We expect the public beta test for Havok4 to be very active, with many participants. We have prepared a test grid that allows for many types of physics-related tests. The test regions will include:&lt;br /&gt;
* Orientation Islands&lt;br /&gt;
* Welcome Areas&lt;br /&gt;
* Lusk&lt;br /&gt;
* Several sandboxes&lt;br /&gt;
* Combat sandboxes&lt;br /&gt;
* Vehicle testing simulators&lt;br /&gt;
&lt;br /&gt;
NOTE: The Public Beta viewer will be configured to use the beta grid, which will be a snapshot copy of portions of the main grid and a copy of your user account. You can do &amp;quot;anything you want&amp;quot; on this grid without risking damage to your &amp;quot;real account&amp;quot; on the main grid. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Phase 3 - Havok4 On A Select Few Main Grid Regions&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
In this phase we will use the new HetGrid functionality to deploy Havok4 simulators on a small number of regions of the main grid. This will still be a testing phase, and for this phase any participants will need to remember that you will be on the main grid, working with your real inventory (caveat emptor - don&#039;t rez &amp;quot;no copy/no transfer&amp;quot; items on these early test Havok4 sims without understanding the potential risks)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Phase 4 - Partial Main Grid Rollout (50-100 regions)&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
At this point, we will have resolved outstanding issues found during beta testing and the Phase 3 &amp;quot;small deployment in a corner of the main grid&amp;quot; and will deploy Havok4 to a subset of the main grid. &lt;br /&gt;
&lt;br /&gt;
After collecting feedback, if all looks good, we will continue to...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Phase 5 - Full Havok4 Rollout On Main Grid (deploy to rest of grid)&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
If all is clean at this point, we will then roll out the Havok4 engine to the rest of the main grid, and we&#039;ll be &amp;quot;live&amp;quot; with Havok4 everywhere.&lt;br /&gt;
&lt;br /&gt;
===A Historical Note: Why Did &amp;quot;Doing Havok&amp;quot; Take So Long?===&lt;br /&gt;
Some of you who have been around for a long time will know that we talked about replacing Havok1 a long time ago, and did not seem to get this project done, and finally went silent about it. After several false starts, we decided that it would be best to stop talking about the work, or making public commitments, until we were far closer to the goal, and we believe that we are finally at this point. &lt;br /&gt;
&lt;br /&gt;
For &amp;quot;quite some time&amp;quot; we worked to replace Havok1 with Havok2. After working on that project, we realized that we really should rework the interfaces for how Havok is integrated with Second Life. We realized that we needed to define an abstraction layer - a layer of code that would make it easier to do future physics engine migrations so that they don&#039;t take as much effort as this migration took, and to allow for more flexibility down the road. At this point Havok4 became a much more reasonable target than implementing based on a then-older release... and thus we set Havok4 as the target. This project has been significantly larger than any of us anticipated, however the good news is that we are now here, ready for beta testing, and ready to fix the last minute issues before we bring Havok4-based sims to the main grid!&lt;/div&gt;</summary>
		<author><name>Sidewinder Linden</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Havok4&amp;diff=33533</id>
		<title>Havok4</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Havok4&amp;diff=33533"/>
		<updated>2007-09-28T21:04:32Z</updated>

		<summary type="html">&lt;p&gt;Sidewinder Linden: /* How Can I Participate In Havok4 Physics Engine Testing? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Havok4 (New Physics Engine) Beta Test Information Hub==&lt;br /&gt;
===Introduction===&lt;br /&gt;
The beta testing for the Havok4 implementation in Second Life is now in process. This page provides information on the project, as well as useful information that will help us all to make sure that Havok4 is tested well before it is rolled throughout the main Second Life grid.&lt;br /&gt;
&lt;br /&gt;
===What Is Havok?===&lt;br /&gt;
The Second Life virtual world has a lot of moving parts that keep it going. One of these is the Physics Engine. A physics engine is a specialized piece of software that does the &amp;quot;real world&amp;quot; calculations to figure out what do when:&lt;br /&gt;
* Something or someone is pushed&lt;br /&gt;
* Something or someone collides with something or someone else&lt;br /&gt;
* Something or someone is in motion and has momentum&lt;br /&gt;
* Friction or damping slows the motion of something or someone&lt;br /&gt;
&lt;br /&gt;
Havok is a commercially produced physics engine, and Second Life was built using Havok1. on which it operated for several years. &lt;br /&gt;
&lt;br /&gt;
===How Can I Participate In Havok4 Physics Engine Testing?===&lt;br /&gt;
You can participate in the Beta Test of Havok4 with a few easy steps:&lt;br /&gt;
# Read &amp;quot;[[What&#039;s Changed With Havok4]]&amp;quot; to understand what should be different, and what should not be different, on the Havok4 Beta Test grid&lt;br /&gt;
# Read &amp;quot;[[Linkability_Rules|New Prim Linkability Rules]]&amp;quot; to understand how prim linkage works with Havok4 (it&#039;s better and should be much more reliable!)&lt;br /&gt;
# Login to the Public Issue Tracker at &amp;quot;[https://jira.secondlife.com/ Issue Tracker]&amp;quot; to see how easily you can tell us about problems you find during the beta test&lt;br /&gt;
# [http://secondlife.com/community/preview.php Download the install the Havok4 Beta Viewer here]&lt;br /&gt;
&lt;br /&gt;
===What To Test?===&lt;br /&gt;
Make sure that all of the your content works on the Havok4 grid, and try as many physics-related things as you can think of as well... Here is a short list, and a link to a page with a more exhaustive list of ideas:&lt;br /&gt;
* Building, linking, unlinking&lt;br /&gt;
* Vehicles&lt;br /&gt;
* Weapons&lt;br /&gt;
* &amp;quot;Spells&amp;quot;&lt;br /&gt;
* Shields&lt;br /&gt;
* Building Tools&lt;br /&gt;
* Rezzing large linked sets of prims&lt;br /&gt;
* Try building simple and complex items, taking them into inventory and rezzing them in different orientations and in different places&lt;br /&gt;
* Does walking, sitting, flying, swimming, running and other avatar motions work the way you expect it to?&lt;br /&gt;
* Do scripts work as expected? &lt;br /&gt;
* Try creating scripts and modifying them&lt;br /&gt;
* Are permissions working correctly?&lt;br /&gt;
* Can you get the sim to crash using &amp;quot;physics crashes&amp;quot;? (those of you who know what this means... &amp;quot;go for it&amp;quot; and let us know if you can... ;)&lt;br /&gt;
&lt;br /&gt;
There are [[Havok4_Beta_Test_Ideas|Many Things You Can Test In Havok4]] (a list of lots of things that would be helpful for you to test. Feel free to pick and choose from this list and make up your own things to try as well!&lt;br /&gt;
&lt;br /&gt;
===How Do I Stay &amp;quot;In The Loop&amp;quot; With Havok4 Testing?===&lt;br /&gt;
# Attend &amp;quot;[[Regular Havok4 Office Hours In-World]]&amp;quot;&lt;br /&gt;
# TELL US about everything you find using the [[Issue_tracker|Public Issue Tracker]]&amp;lt;br /&amp;gt;&lt;br /&gt;
Please enter bugs using PROJECT &amp;quot;Second Life Service - SVC&amp;quot; and COMPONENT &amp;quot;Physics&amp;quot;!&lt;br /&gt;
&lt;br /&gt;
===How Will Havok4 Be Tested And Rolled Out?===&lt;br /&gt;
This project replaces a core component of Second Life, and being sure that &amp;quot;anything that pushes, collides or has inertia&amp;quot; works right is a pretty extensive task. We have already done a lot of internal testing, and plowed through hundreds of internal bug fixes. We will be taking a phased approach to both catch as many problems as early as possible, and reduce risk of issues as Havok4 is rolled out. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Phase 1 - Internal Testing On Non-Public Test Grid (DONE!)&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
We already completed this phase, and had a variety of internal staff work on Havok4 enabled simulators. Basic functions were checked, as well as checking to see that the known physics-related simulator crashes were resolved.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Phase 2 - Public Beta Test On Beta Grid (&amp;quot;YOU ARE HERE!&amp;quot; :)&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
We expect the public beta test for Havok4 to be very active, with many participants. We have prepared a test grid that allows for many types of physics-related tests. The test regions will include:&lt;br /&gt;
* Orientation Islands&lt;br /&gt;
* Welcome Areas&lt;br /&gt;
* Lusk&lt;br /&gt;
* Several sandboxes&lt;br /&gt;
* Combat sandboxes&lt;br /&gt;
* Vehicle testing simulators&lt;br /&gt;
&lt;br /&gt;
NOTE: The Public Beta viewer will be configured to use the beta grid, which will be a snapshot copy of portions of the main grid and a copy of your user account. You can do &amp;quot;anything you want&amp;quot; on this grid without risking damage to your &amp;quot;real account&amp;quot; on the main grid. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Phase 3 - Havok4 On A Select Few Main Grid Regions&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
In this phase we will use the new HetGrid functionality to deploy Havok4 simulators on a small number of regions of the main grid. This will still be a testing phase, and for this phase any participants will need to remember that you will be on the main grid, working with your real inventory (caveat emptor - don&#039;t rez &amp;quot;no copy/no transfer&amp;quot; items on these early test Havok4 sims without understanding the potential risks)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Phase 4 - Partial Main Grid Rollout (50-100 regions)&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
At this point, we will have resolved outstanding issues found during beta testing and the Phase 3 &amp;quot;small deployment in a corner of the main grid&amp;quot; and will deploy Havok4 to a subset of the main grid. &lt;br /&gt;
&lt;br /&gt;
After collecting feedback, if all looks good, we will continue to...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Phase 5 - Full Havok4 Rollout On Main Grid (deploy to rest of grid)&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
If all is clean at this point, we will then roll out the Havok4 engine to the rest of the main grid, and we&#039;ll be &amp;quot;live&amp;quot; with Havok4 everywhere.&lt;br /&gt;
&lt;br /&gt;
===A Historical Note: Why Did &amp;quot;Doing Havok&amp;quot; Take So Long?===&lt;br /&gt;
Some of you who have been around for a long time will know that we talked about replacing Havok1 a long time ago, and did not seem to get this project done, and finally went silent about it. After several false starts, we decided that it would be best to stop talking about the work, or making public commitments, until we were far closer to the goal, and we believe that we are finally at this point. &lt;br /&gt;
&lt;br /&gt;
For &amp;quot;quite some time&amp;quot; we worked to replace Havok1 with Havok2. After working on that project, we realized that we really should rework the interfaces for how Havok is integrated with Second Life. We realized that we needed to define an abstraction layer - a layer of code that would make it easier to do future physics engine migrations so that they don&#039;t take as much effort as this migration took, and to allow for more flexibility down the road. At this point Havok4 became a much more reasonable target than implementing based on a then-older release... and thus we set Havok4 as the target. This project has been significantly larger than any of us anticipated, however the good news is that we are now here, ready for beta testing, and ready to fix the last minute issues before we bring Havok4-based sims to the main grid!&lt;/div&gt;</summary>
		<author><name>Sidewinder Linden</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Havok4&amp;diff=33525</id>
		<title>Havok4</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Havok4&amp;diff=33525"/>
		<updated>2007-09-28T21:04:08Z</updated>

		<summary type="html">&lt;p&gt;Sidewinder Linden: /* How Can I Participate In Havok4 Physics Engine Testing? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Havok4 (New Physics Engine) Beta Test Information Hub==&lt;br /&gt;
===Introduction===&lt;br /&gt;
The beta testing for the Havok4 implementation in Second Life is now in process. This page provides information on the project, as well as useful information that will help us all to make sure that Havok4 is tested well before it is rolled throughout the main Second Life grid.&lt;br /&gt;
&lt;br /&gt;
===What Is Havok?===&lt;br /&gt;
The Second Life virtual world has a lot of moving parts that keep it going. One of these is the Physics Engine. A physics engine is a specialized piece of software that does the &amp;quot;real world&amp;quot; calculations to figure out what do when:&lt;br /&gt;
* Something or someone is pushed&lt;br /&gt;
* Something or someone collides with something or someone else&lt;br /&gt;
* Something or someone is in motion and has momentum&lt;br /&gt;
* Friction or damping slows the motion of something or someone&lt;br /&gt;
&lt;br /&gt;
Havok is a commercially produced physics engine, and Second Life was built using Havok1. on which it operated for several years. &lt;br /&gt;
&lt;br /&gt;
===How Can I Participate In Havok4 Physics Engine Testing?===&lt;br /&gt;
You can participate in the Beta Test of Havok4 with a few easy steps:&lt;br /&gt;
# Read &amp;quot;[[What&#039;s Changed With Havok4]]&amp;quot; to understand what should be different, and what should not be different, on the Havok4 Beta Test grid&lt;br /&gt;
# Read &amp;quot;[[Linkability_Rules|New Prim Linkability Rules]]&amp;quot; to understand how prim linkage works with Havok4 (it&#039;s better and should be much more reliable!)&lt;br /&gt;
# Login to the &amp;quot;[https://jira.secondlife.com/|Public Issue Tracker]&amp;quot; to see how easily you can tell us about problems you find during the beta test&lt;br /&gt;
# [http://secondlife.com/community/preview.php Download the install the Havok4 Beta Viewer here]&lt;br /&gt;
&lt;br /&gt;
===What To Test?===&lt;br /&gt;
Make sure that all of the your content works on the Havok4 grid, and try as many physics-related things as you can think of as well... Here is a short list, and a link to a page with a more exhaustive list of ideas:&lt;br /&gt;
* Building, linking, unlinking&lt;br /&gt;
* Vehicles&lt;br /&gt;
* Weapons&lt;br /&gt;
* &amp;quot;Spells&amp;quot;&lt;br /&gt;
* Shields&lt;br /&gt;
* Building Tools&lt;br /&gt;
* Rezzing large linked sets of prims&lt;br /&gt;
* Try building simple and complex items, taking them into inventory and rezzing them in different orientations and in different places&lt;br /&gt;
* Does walking, sitting, flying, swimming, running and other avatar motions work the way you expect it to?&lt;br /&gt;
* Do scripts work as expected? &lt;br /&gt;
* Try creating scripts and modifying them&lt;br /&gt;
* Are permissions working correctly?&lt;br /&gt;
* Can you get the sim to crash using &amp;quot;physics crashes&amp;quot;? (those of you who know what this means... &amp;quot;go for it&amp;quot; and let us know if you can... ;)&lt;br /&gt;
&lt;br /&gt;
There are [[Havok4_Beta_Test_Ideas|Many Things You Can Test In Havok4]] (a list of lots of things that would be helpful for you to test. Feel free to pick and choose from this list and make up your own things to try as well!&lt;br /&gt;
&lt;br /&gt;
===How Do I Stay &amp;quot;In The Loop&amp;quot; With Havok4 Testing?===&lt;br /&gt;
# Attend &amp;quot;[[Regular Havok4 Office Hours In-World]]&amp;quot;&lt;br /&gt;
# TELL US about everything you find using the [[Issue_tracker|Public Issue Tracker]]&amp;lt;br /&amp;gt;&lt;br /&gt;
Please enter bugs using PROJECT &amp;quot;Second Life Service - SVC&amp;quot; and COMPONENT &amp;quot;Physics&amp;quot;!&lt;br /&gt;
&lt;br /&gt;
===How Will Havok4 Be Tested And Rolled Out?===&lt;br /&gt;
This project replaces a core component of Second Life, and being sure that &amp;quot;anything that pushes, collides or has inertia&amp;quot; works right is a pretty extensive task. We have already done a lot of internal testing, and plowed through hundreds of internal bug fixes. We will be taking a phased approach to both catch as many problems as early as possible, and reduce risk of issues as Havok4 is rolled out. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Phase 1 - Internal Testing On Non-Public Test Grid (DONE!)&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
We already completed this phase, and had a variety of internal staff work on Havok4 enabled simulators. Basic functions were checked, as well as checking to see that the known physics-related simulator crashes were resolved.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Phase 2 - Public Beta Test On Beta Grid (&amp;quot;YOU ARE HERE!&amp;quot; :)&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
We expect the public beta test for Havok4 to be very active, with many participants. We have prepared a test grid that allows for many types of physics-related tests. The test regions will include:&lt;br /&gt;
* Orientation Islands&lt;br /&gt;
* Welcome Areas&lt;br /&gt;
* Lusk&lt;br /&gt;
* Several sandboxes&lt;br /&gt;
* Combat sandboxes&lt;br /&gt;
* Vehicle testing simulators&lt;br /&gt;
&lt;br /&gt;
NOTE: The Public Beta viewer will be configured to use the beta grid, which will be a snapshot copy of portions of the main grid and a copy of your user account. You can do &amp;quot;anything you want&amp;quot; on this grid without risking damage to your &amp;quot;real account&amp;quot; on the main grid. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Phase 3 - Havok4 On A Select Few Main Grid Regions&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
In this phase we will use the new HetGrid functionality to deploy Havok4 simulators on a small number of regions of the main grid. This will still be a testing phase, and for this phase any participants will need to remember that you will be on the main grid, working with your real inventory (caveat emptor - don&#039;t rez &amp;quot;no copy/no transfer&amp;quot; items on these early test Havok4 sims without understanding the potential risks)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Phase 4 - Partial Main Grid Rollout (50-100 regions)&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
At this point, we will have resolved outstanding issues found during beta testing and the Phase 3 &amp;quot;small deployment in a corner of the main grid&amp;quot; and will deploy Havok4 to a subset of the main grid. &lt;br /&gt;
&lt;br /&gt;
After collecting feedback, if all looks good, we will continue to...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Phase 5 - Full Havok4 Rollout On Main Grid (deploy to rest of grid)&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
If all is clean at this point, we will then roll out the Havok4 engine to the rest of the main grid, and we&#039;ll be &amp;quot;live&amp;quot; with Havok4 everywhere.&lt;br /&gt;
&lt;br /&gt;
===A Historical Note: Why Did &amp;quot;Doing Havok&amp;quot; Take So Long?===&lt;br /&gt;
Some of you who have been around for a long time will know that we talked about replacing Havok1 a long time ago, and did not seem to get this project done, and finally went silent about it. After several false starts, we decided that it would be best to stop talking about the work, or making public commitments, until we were far closer to the goal, and we believe that we are finally at this point. &lt;br /&gt;
&lt;br /&gt;
For &amp;quot;quite some time&amp;quot; we worked to replace Havok1 with Havok2. After working on that project, we realized that we really should rework the interfaces for how Havok is integrated with Second Life. We realized that we needed to define an abstraction layer - a layer of code that would make it easier to do future physics engine migrations so that they don&#039;t take as much effort as this migration took, and to allow for more flexibility down the road. At this point Havok4 became a much more reasonable target than implementing based on a then-older release... and thus we set Havok4 as the target. This project has been significantly larger than any of us anticipated, however the good news is that we are now here, ready for beta testing, and ready to fix the last minute issues before we bring Havok4-based sims to the main grid!&lt;/div&gt;</summary>
		<author><name>Sidewinder Linden</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Havok4&amp;diff=33529</id>
		<title>Havok4</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Havok4&amp;diff=33529"/>
		<updated>2007-09-28T21:03:55Z</updated>

		<summary type="html">&lt;p&gt;Sidewinder Linden: /* How Can I Participate In Havok4 Physics Engine Testing? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Havok4 (New Physics Engine) Beta Test Information Hub==&lt;br /&gt;
===Introduction===&lt;br /&gt;
The beta testing for the Havok4 implementation in Second Life is now in process. This page provides information on the project, as well as useful information that will help us all to make sure that Havok4 is tested well before it is rolled throughout the main Second Life grid.&lt;br /&gt;
&lt;br /&gt;
===What Is Havok?===&lt;br /&gt;
The Second Life virtual world has a lot of moving parts that keep it going. One of these is the Physics Engine. A physics engine is a specialized piece of software that does the &amp;quot;real world&amp;quot; calculations to figure out what do when:&lt;br /&gt;
* Something or someone is pushed&lt;br /&gt;
* Something or someone collides with something or someone else&lt;br /&gt;
* Something or someone is in motion and has momentum&lt;br /&gt;
* Friction or damping slows the motion of something or someone&lt;br /&gt;
&lt;br /&gt;
Havok is a commercially produced physics engine, and Second Life was built using Havok1. on which it operated for several years. &lt;br /&gt;
&lt;br /&gt;
===How Can I Participate In Havok4 Physics Engine Testing?===&lt;br /&gt;
You can participate in the Beta Test of Havok4 with a few easy steps:&lt;br /&gt;
# Read &amp;quot;[[What&#039;s Changed With Havok4]]&amp;quot; to understand what should be different, and what should not be different, on the Havok4 Beta Test grid&lt;br /&gt;
# Read &amp;quot;[[Linkability_Rules|New Prim Linkability Rules]]&amp;quot; to understand how prim linkage works with Havok4 (it&#039;s better and should be much more reliable!)&lt;br /&gt;
# Login to the Public Issue Tracker at &amp;quot;[https://jira.secondlife.com/]&amp;quot; to see how easily you can tell us about problems you find during the beta test&lt;br /&gt;
# [http://secondlife.com/community/preview.php Download the install the Havok4 Beta Viewer here]&lt;br /&gt;
&lt;br /&gt;
===What To Test?===&lt;br /&gt;
Make sure that all of the your content works on the Havok4 grid, and try as many physics-related things as you can think of as well... Here is a short list, and a link to a page with a more exhaustive list of ideas:&lt;br /&gt;
* Building, linking, unlinking&lt;br /&gt;
* Vehicles&lt;br /&gt;
* Weapons&lt;br /&gt;
* &amp;quot;Spells&amp;quot;&lt;br /&gt;
* Shields&lt;br /&gt;
* Building Tools&lt;br /&gt;
* Rezzing large linked sets of prims&lt;br /&gt;
* Try building simple and complex items, taking them into inventory and rezzing them in different orientations and in different places&lt;br /&gt;
* Does walking, sitting, flying, swimming, running and other avatar motions work the way you expect it to?&lt;br /&gt;
* Do scripts work as expected? &lt;br /&gt;
* Try creating scripts and modifying them&lt;br /&gt;
* Are permissions working correctly?&lt;br /&gt;
* Can you get the sim to crash using &amp;quot;physics crashes&amp;quot;? (those of you who know what this means... &amp;quot;go for it&amp;quot; and let us know if you can... ;)&lt;br /&gt;
&lt;br /&gt;
There are [[Havok4_Beta_Test_Ideas|Many Things You Can Test In Havok4]] (a list of lots of things that would be helpful for you to test. Feel free to pick and choose from this list and make up your own things to try as well!&lt;br /&gt;
&lt;br /&gt;
===How Do I Stay &amp;quot;In The Loop&amp;quot; With Havok4 Testing?===&lt;br /&gt;
# Attend &amp;quot;[[Regular Havok4 Office Hours In-World]]&amp;quot;&lt;br /&gt;
# TELL US about everything you find using the [[Issue_tracker|Public Issue Tracker]]&amp;lt;br /&amp;gt;&lt;br /&gt;
Please enter bugs using PROJECT &amp;quot;Second Life Service - SVC&amp;quot; and COMPONENT &amp;quot;Physics&amp;quot;!&lt;br /&gt;
&lt;br /&gt;
===How Will Havok4 Be Tested And Rolled Out?===&lt;br /&gt;
This project replaces a core component of Second Life, and being sure that &amp;quot;anything that pushes, collides or has inertia&amp;quot; works right is a pretty extensive task. We have already done a lot of internal testing, and plowed through hundreds of internal bug fixes. We will be taking a phased approach to both catch as many problems as early as possible, and reduce risk of issues as Havok4 is rolled out. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Phase 1 - Internal Testing On Non-Public Test Grid (DONE!)&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
We already completed this phase, and had a variety of internal staff work on Havok4 enabled simulators. Basic functions were checked, as well as checking to see that the known physics-related simulator crashes were resolved.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Phase 2 - Public Beta Test On Beta Grid (&amp;quot;YOU ARE HERE!&amp;quot; :)&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
We expect the public beta test for Havok4 to be very active, with many participants. We have prepared a test grid that allows for many types of physics-related tests. The test regions will include:&lt;br /&gt;
* Orientation Islands&lt;br /&gt;
* Welcome Areas&lt;br /&gt;
* Lusk&lt;br /&gt;
* Several sandboxes&lt;br /&gt;
* Combat sandboxes&lt;br /&gt;
* Vehicle testing simulators&lt;br /&gt;
&lt;br /&gt;
NOTE: The Public Beta viewer will be configured to use the beta grid, which will be a snapshot copy of portions of the main grid and a copy of your user account. You can do &amp;quot;anything you want&amp;quot; on this grid without risking damage to your &amp;quot;real account&amp;quot; on the main grid. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Phase 3 - Havok4 On A Select Few Main Grid Regions&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
In this phase we will use the new HetGrid functionality to deploy Havok4 simulators on a small number of regions of the main grid. This will still be a testing phase, and for this phase any participants will need to remember that you will be on the main grid, working with your real inventory (caveat emptor - don&#039;t rez &amp;quot;no copy/no transfer&amp;quot; items on these early test Havok4 sims without understanding the potential risks)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Phase 4 - Partial Main Grid Rollout (50-100 regions)&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
At this point, we will have resolved outstanding issues found during beta testing and the Phase 3 &amp;quot;small deployment in a corner of the main grid&amp;quot; and will deploy Havok4 to a subset of the main grid. &lt;br /&gt;
&lt;br /&gt;
After collecting feedback, if all looks good, we will continue to...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Phase 5 - Full Havok4 Rollout On Main Grid (deploy to rest of grid)&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
If all is clean at this point, we will then roll out the Havok4 engine to the rest of the main grid, and we&#039;ll be &amp;quot;live&amp;quot; with Havok4 everywhere.&lt;br /&gt;
&lt;br /&gt;
===A Historical Note: Why Did &amp;quot;Doing Havok&amp;quot; Take So Long?===&lt;br /&gt;
Some of you who have been around for a long time will know that we talked about replacing Havok1 a long time ago, and did not seem to get this project done, and finally went silent about it. After several false starts, we decided that it would be best to stop talking about the work, or making public commitments, until we were far closer to the goal, and we believe that we are finally at this point. &lt;br /&gt;
&lt;br /&gt;
For &amp;quot;quite some time&amp;quot; we worked to replace Havok1 with Havok2. After working on that project, we realized that we really should rework the interfaces for how Havok is integrated with Second Life. We realized that we needed to define an abstraction layer - a layer of code that would make it easier to do future physics engine migrations so that they don&#039;t take as much effort as this migration took, and to allow for more flexibility down the road. At this point Havok4 became a much more reasonable target than implementing based on a then-older release... and thus we set Havok4 as the target. This project has been significantly larger than any of us anticipated, however the good news is that we are now here, ready for beta testing, and ready to fix the last minute issues before we bring Havok4-based sims to the main grid!&lt;/div&gt;</summary>
		<author><name>Sidewinder Linden</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Havok4&amp;diff=33527</id>
		<title>Havok4</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Havok4&amp;diff=33527"/>
		<updated>2007-09-28T21:03:24Z</updated>

		<summary type="html">&lt;p&gt;Sidewinder Linden: /* How Can I Participate In Havok4 Physics Engine Testing? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Havok4 (New Physics Engine) Beta Test Information Hub==&lt;br /&gt;
===Introduction===&lt;br /&gt;
The beta testing for the Havok4 implementation in Second Life is now in process. This page provides information on the project, as well as useful information that will help us all to make sure that Havok4 is tested well before it is rolled throughout the main Second Life grid.&lt;br /&gt;
&lt;br /&gt;
===What Is Havok?===&lt;br /&gt;
The Second Life virtual world has a lot of moving parts that keep it going. One of these is the Physics Engine. A physics engine is a specialized piece of software that does the &amp;quot;real world&amp;quot; calculations to figure out what do when:&lt;br /&gt;
* Something or someone is pushed&lt;br /&gt;
* Something or someone collides with something or someone else&lt;br /&gt;
* Something or someone is in motion and has momentum&lt;br /&gt;
* Friction or damping slows the motion of something or someone&lt;br /&gt;
&lt;br /&gt;
Havok is a commercially produced physics engine, and Second Life was built using Havok1. on which it operated for several years. &lt;br /&gt;
&lt;br /&gt;
===How Can I Participate In Havok4 Physics Engine Testing?===&lt;br /&gt;
You can participate in the Beta Test of Havok4 with a few easy steps:&lt;br /&gt;
# Read &amp;quot;[[What&#039;s Changed With Havok4]]&amp;quot; to understand what should be different, and what should not be different, on the Havok4 Beta Test grid&lt;br /&gt;
# Read &amp;quot;[[Linkability_Rules|New Prim Linkability Rules]]&amp;quot; to understand how prim linkage works with Havok4 (it&#039;s better and should be much more reliable!)&lt;br /&gt;
# Login to the &amp;quot;[https://jira.secondlife.com/ Public Issue Tracker]&amp;quot; to see how easily you can tell us about problems you find during the beta test&lt;br /&gt;
# [http://secondlife.com/community/preview.php Download the install the Havok4 Beta Viewer here]&lt;br /&gt;
&lt;br /&gt;
===What To Test?===&lt;br /&gt;
Make sure that all of the your content works on the Havok4 grid, and try as many physics-related things as you can think of as well... Here is a short list, and a link to a page with a more exhaustive list of ideas:&lt;br /&gt;
* Building, linking, unlinking&lt;br /&gt;
* Vehicles&lt;br /&gt;
* Weapons&lt;br /&gt;
* &amp;quot;Spells&amp;quot;&lt;br /&gt;
* Shields&lt;br /&gt;
* Building Tools&lt;br /&gt;
* Rezzing large linked sets of prims&lt;br /&gt;
* Try building simple and complex items, taking them into inventory and rezzing them in different orientations and in different places&lt;br /&gt;
* Does walking, sitting, flying, swimming, running and other avatar motions work the way you expect it to?&lt;br /&gt;
* Do scripts work as expected? &lt;br /&gt;
* Try creating scripts and modifying them&lt;br /&gt;
* Are permissions working correctly?&lt;br /&gt;
* Can you get the sim to crash using &amp;quot;physics crashes&amp;quot;? (those of you who know what this means... &amp;quot;go for it&amp;quot; and let us know if you can... ;)&lt;br /&gt;
&lt;br /&gt;
There are [[Havok4_Beta_Test_Ideas|Many Things You Can Test In Havok4]] (a list of lots of things that would be helpful for you to test. Feel free to pick and choose from this list and make up your own things to try as well!&lt;br /&gt;
&lt;br /&gt;
===How Do I Stay &amp;quot;In The Loop&amp;quot; With Havok4 Testing?===&lt;br /&gt;
# Attend &amp;quot;[[Regular Havok4 Office Hours In-World]]&amp;quot;&lt;br /&gt;
# TELL US about everything you find using the [[Issue_tracker|Public Issue Tracker]]&amp;lt;br /&amp;gt;&lt;br /&gt;
Please enter bugs using PROJECT &amp;quot;Second Life Service - SVC&amp;quot; and COMPONENT &amp;quot;Physics&amp;quot;!&lt;br /&gt;
&lt;br /&gt;
===How Will Havok4 Be Tested And Rolled Out?===&lt;br /&gt;
This project replaces a core component of Second Life, and being sure that &amp;quot;anything that pushes, collides or has inertia&amp;quot; works right is a pretty extensive task. We have already done a lot of internal testing, and plowed through hundreds of internal bug fixes. We will be taking a phased approach to both catch as many problems as early as possible, and reduce risk of issues as Havok4 is rolled out. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Phase 1 - Internal Testing On Non-Public Test Grid (DONE!)&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
We already completed this phase, and had a variety of internal staff work on Havok4 enabled simulators. Basic functions were checked, as well as checking to see that the known physics-related simulator crashes were resolved.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Phase 2 - Public Beta Test On Beta Grid (&amp;quot;YOU ARE HERE!&amp;quot; :)&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
We expect the public beta test for Havok4 to be very active, with many participants. We have prepared a test grid that allows for many types of physics-related tests. The test regions will include:&lt;br /&gt;
* Orientation Islands&lt;br /&gt;
* Welcome Areas&lt;br /&gt;
* Lusk&lt;br /&gt;
* Several sandboxes&lt;br /&gt;
* Combat sandboxes&lt;br /&gt;
* Vehicle testing simulators&lt;br /&gt;
&lt;br /&gt;
NOTE: The Public Beta viewer will be configured to use the beta grid, which will be a snapshot copy of portions of the main grid and a copy of your user account. You can do &amp;quot;anything you want&amp;quot; on this grid without risking damage to your &amp;quot;real account&amp;quot; on the main grid. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Phase 3 - Havok4 On A Select Few Main Grid Regions&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
In this phase we will use the new HetGrid functionality to deploy Havok4 simulators on a small number of regions of the main grid. This will still be a testing phase, and for this phase any participants will need to remember that you will be on the main grid, working with your real inventory (caveat emptor - don&#039;t rez &amp;quot;no copy/no transfer&amp;quot; items on these early test Havok4 sims without understanding the potential risks)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Phase 4 - Partial Main Grid Rollout (50-100 regions)&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
At this point, we will have resolved outstanding issues found during beta testing and the Phase 3 &amp;quot;small deployment in a corner of the main grid&amp;quot; and will deploy Havok4 to a subset of the main grid. &lt;br /&gt;
&lt;br /&gt;
After collecting feedback, if all looks good, we will continue to...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Phase 5 - Full Havok4 Rollout On Main Grid (deploy to rest of grid)&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
If all is clean at this point, we will then roll out the Havok4 engine to the rest of the main grid, and we&#039;ll be &amp;quot;live&amp;quot; with Havok4 everywhere.&lt;br /&gt;
&lt;br /&gt;
===A Historical Note: Why Did &amp;quot;Doing Havok&amp;quot; Take So Long?===&lt;br /&gt;
Some of you who have been around for a long time will know that we talked about replacing Havok1 a long time ago, and did not seem to get this project done, and finally went silent about it. After several false starts, we decided that it would be best to stop talking about the work, or making public commitments, until we were far closer to the goal, and we believe that we are finally at this point. &lt;br /&gt;
&lt;br /&gt;
For &amp;quot;quite some time&amp;quot; we worked to replace Havok1 with Havok2. After working on that project, we realized that we really should rework the interfaces for how Havok is integrated with Second Life. We realized that we needed to define an abstraction layer - a layer of code that would make it easier to do future physics engine migrations so that they don&#039;t take as much effort as this migration took, and to allow for more flexibility down the road. At this point Havok4 became a much more reasonable target than implementing based on a then-older release... and thus we set Havok4 as the target. This project has been significantly larger than any of us anticipated, however the good news is that we are now here, ready for beta testing, and ready to fix the last minute issues before we bring Havok4-based sims to the main grid!&lt;/div&gt;</summary>
		<author><name>Sidewinder Linden</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Linkability_Rules&amp;diff=33513</id>
		<title>Linkability Rules</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Linkability_Rules&amp;diff=33513"/>
		<updated>2007-09-28T20:52:48Z</updated>

		<summary type="html">&lt;p&gt;Sidewinder Linden: New page: === Linkability formulae ===  Consider two primitives, A and B.  The maximum distance at which they can be linked is given by the following formula:      (1)     max_link_distance = minimu...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Linkability formulae ===&lt;br /&gt;
&lt;br /&gt;
Consider two primitives, A and B.  The maximum distance at which they can be&lt;br /&gt;
linked is given by the following formula:&lt;br /&gt;
&lt;br /&gt;
    (1)     max_link_distance = minimum( diameter_A + diameter_B + SMALLEST_MAX, LARGEST_MAX )&lt;br /&gt;
&lt;br /&gt;
where:&lt;br /&gt;
&lt;br /&gt;
    (3)     SMALLEST_MAX = 1.0 meters&lt;br /&gt;
    (4)     LARGEST_MAX = 32.0 meters&lt;br /&gt;
    (5)     diameter_X = diameter of the primitive X&#039;s &#039;&#039;bounding sphere&#039;&#039; (Figure A)&lt;br /&gt;
    (6)     minimum(C, D) = C if less than D, otherwise D&lt;br /&gt;
&lt;br /&gt;
If the distance between &#039;&#039;the geometric centers&#039;&#039; of the two primitives is less&lt;br /&gt;
than or equal to max_link_distance then they can be linked.  Put in mathematical&lt;br /&gt;
terms:&lt;br /&gt;
&lt;br /&gt;
    (7)     A_can_link_to_B = ( length(center_A - center_B) &amp;lt;= max_link_distance )&lt;br /&gt;
&lt;br /&gt;
{|align=&amp;quot;right&amp;quot;&lt;br /&gt;
|[[Image:Primitive_diameter.png]]&lt;br /&gt;
|}&lt;br /&gt;
The &#039;&#039;&#039;bounding sphere&#039;&#039;&#039; is the smallest sphere that totally encloses the&lt;br /&gt;
primitive&#039;s &#039;&#039;local bounding box&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;local bounding box&#039;&#039;&#039; is centered at the primitive&#039;s &#039;&#039;geometric center&#039;&#039; and &lt;br /&gt;
whose local-frame sides are equal to the primitive&#039;s &#039;&#039;scale&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;geometric center&#039;&#039;&#039; of the primitive is its local symmetric center prior to&lt;br /&gt;
any &#039;&#039;cut&#039;&#039;, &#039;&#039;shear&#039;&#039;, &#039;&#039;twist&#039;&#039;, &#039;&#039;taper&#039;&#039;, or &#039;&#039;hollow&#039;&#039; operations.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039; that a primitive&#039;s bounding sphere is not necessarily the tightest sphere &lt;br /&gt;
possible for its shape, unless it is a simple box or sphere.  The bounding sphere&lt;br /&gt;
depends only on the primitive&#039;s position and scale, so any &lt;br /&gt;
severly cut and hollowed primitive will be significantly smaller than its bounding&lt;br /&gt;
sphere, and not necessarily near the center.  Also, a primitive with twist and/or &lt;br /&gt;
shear may have corners that extend outside of its bounding sphere.  Since the &lt;br /&gt;
linkability rules depend only on the bounding sphere, which is ultimately dependent &lt;br /&gt;
only on the primitive&#039;s position and scale, the linkability of two prims is independent &lt;br /&gt;
of changes to form and rotation.&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
{|align=&amp;quot;right&amp;quot;&lt;br /&gt;
|[[Image:Link_rules.png]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
=== Linkability algorithm ===&lt;br /&gt;
{|align=&amp;quot;right&amp;quot;&lt;br /&gt;
|[[Image:Fig_c.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The rules governing the &#039;&#039;&#039;linkability of multi-prim objects&#039;&#039;&#039; is very similar to &lt;br /&gt;
the two-primitive case.  The same formulae (1) and (7) apply, but the &lt;br /&gt;
bounding spheres of multi-prim objects are the smallest spheres that completely &lt;br /&gt;
contain all of the bounding spheres of the corresponding primitives. (See Figure C)&lt;br /&gt;
&lt;br /&gt;
When linking &#039;&#039;&#039;three or more objects&#039;&#039;&#039; the algorithm iterates over the candidate&lt;br /&gt;
objects until all linkable pieces have been found.  First the root object&lt;br /&gt;
is tested against each candidate object and the larger bounding sphere is&lt;br /&gt;
recomputed after a successful link.  Then any unlinked pieces are tested between&lt;br /&gt;
themselves and merged into larger collections according to the formulae.  The&lt;br /&gt;
root object is then re-tested against the modified candidates and the process&lt;br /&gt;
continues until all objects are linked, or no new links have been found.&lt;br /&gt;
&lt;br /&gt;
=== Failure modes ===&lt;br /&gt;
&lt;br /&gt;
If an &#039;&#039;&#039;unlinkable set&#039;&#039;&#039; is tested by the linkability algorithm then the final subset&lt;br /&gt;
of linkable parts is determined by the order in which the candidates were submitted.&lt;br /&gt;
The trivial proof for this is to consider a root primitive in the middle of an infinite&lt;br /&gt;
grid of other primitives.  It can&#039;t link to everything, but it were first tested against&lt;br /&gt;
all primitives west of it the final linkable subset of that first operation might not &lt;br /&gt;
link to any primitives to the east because of the LARGEST_MAX requirement (4).  If the &lt;br /&gt;
primitives to the east were tested first then the final result would be different.&lt;br /&gt;
&lt;br /&gt;
If a &#039;&#039;&#039;linkable set&#039;&#039;&#039; is tested by the linkability algorithm then the final subset&lt;br /&gt;
of linkable parts is NOT affected by the order in which the candidates were submitted.&lt;br /&gt;
That is, if just the linkable subsets of the failure modes above are tested for&lt;br /&gt;
all permutations of sequence they will always link.  The proof of this is left&lt;br /&gt;
as an exercise for the reader.&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
&lt;br /&gt;
==== 2 very small prims ====&lt;br /&gt;
diameter_A = ~0.01&lt;br /&gt;
&lt;br /&gt;
diameter_B = ~0.01&lt;br /&gt;
&lt;br /&gt;
SMALLEST_MAX = 1.0 meters&lt;br /&gt;
&lt;br /&gt;
LARGEST_MAX = 32.0 meters&lt;br /&gt;
&lt;br /&gt;
max_link_distance = 1.02m&lt;br /&gt;
&lt;br /&gt;
==== one large prim and one small prim ====&lt;br /&gt;
diameter_A = 10m&lt;br /&gt;
&lt;br /&gt;
diameter_B = ~0.01&lt;br /&gt;
&lt;br /&gt;
SMALLEST_MAX = 1.0 meters&lt;br /&gt;
&lt;br /&gt;
LARGEST_MAX = 32.0 meters&lt;br /&gt;
&lt;br /&gt;
diameter_A + diameter_B + SMALLEST_MAX = 11.01m &lt;br /&gt;
&lt;br /&gt;
11.01m is smaller than 32.0m&lt;br /&gt;
&lt;br /&gt;
Thus the max_link_distance = 11.01m&lt;br /&gt;
&lt;br /&gt;
==== 2 very large prims ====&lt;br /&gt;
The diameter of a bounding sphere is the square root of x^2 + y^2 + z^2&lt;br /&gt;
thus, the diameter of a 10m x 10m x 10m prim is the square root of (100+100+100) = ~17.3m&lt;br /&gt;
and the diameter of a 10m x 1m x 1m prim is square root (100+1+1) = ~10.1m&lt;br /&gt;
(The type of prim doesn&#039;t matter for this calculation. We only care about the dimentions.)&lt;br /&gt;
Let&#039;s take the case of two 10m x 10m x 10m prims.&lt;br /&gt;
&lt;br /&gt;
diameter_A = 17.3m&lt;br /&gt;
&lt;br /&gt;
diameter_B = 17.3m&lt;br /&gt;
&lt;br /&gt;
SMALLEST_MAX = 1.0 meters&lt;br /&gt;
&lt;br /&gt;
LARGEST_MAX = 32.0 meters&lt;br /&gt;
&lt;br /&gt;
diameter_A + diameter_B + SMALLEST_MAX = ~35.6m&lt;br /&gt;
&lt;br /&gt;
32.0m is smaller than 35.6m&lt;br /&gt;
&lt;br /&gt;
Thus max_link_distance = 32.0m&lt;/div&gt;</summary>
		<author><name>Sidewinder Linden</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=What%27s_Changed_With_Havok4&amp;diff=33512</id>
		<title>What&#039;s Changed With Havok4</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=What%27s_Changed_With_Havok4&amp;diff=33512"/>
		<updated>2007-09-28T20:51:35Z</updated>

		<summary type="html">&lt;p&gt;Sidewinder Linden: New page: ===Interpenetration Resolution=== When objects collide, they can end up &amp;quot;interpenetrating&amp;quot;, in a situation where the two objects are &amp;quot;attempting to occupy the same space&amp;quot;. Havok4 resolves ...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Interpenetration Resolution===&lt;br /&gt;
When objects collide, they can end up &amp;quot;interpenetrating&amp;quot;, in a situation where the two objects are &amp;quot;attempting to occupy the same space&amp;quot;. Havok4 resolves interpenetration scenarios in a different and generally better way than Havok1. &lt;br /&gt;
* Interpenetration resolution is enabled for all dynamic objects&lt;br /&gt;
** In Havok 1 dynamic objects that started penetrating would stop colliding until they ceased to penetrate&lt;br /&gt;
** In Havok 4 dynamic objects will be pushed apart when penetrating&lt;br /&gt;
&lt;br /&gt;
===Volume Detection===&lt;br /&gt;
* Volume detection is now the exact shape of the object instead of the bounding box&lt;br /&gt;
* Uniformly scaled spheres are implicit (roll like spheres instead of faceted blocks)&lt;br /&gt;
* Shapes are quantized&lt;br /&gt;
** The colliding shape may differ slightly from the aparent shape&lt;br /&gt;
** The errors should be smaller than the collision tolerance threshold, and thus not noticeable&lt;br /&gt;
** Shape errors would be most noticable for large objects if they are noticable at all&lt;br /&gt;
&lt;br /&gt;
===Object Mass===&lt;br /&gt;
* llGetMass() will tend to return a larger value when an object is attached &lt;br /&gt;
** Attachment &amp;quot;mass&amp;quot; is estimated using a bounding box for each prim instead of the real shape&lt;br /&gt;
&lt;br /&gt;
===Linkability Rules===&lt;br /&gt;
* [[Linkability_Rules | Link rules]] are different&lt;br /&gt;
** More robust: depend only on primitive position and scale (NOT rotation, cut, shear, twist, taper, or hollow)&lt;br /&gt;
** Larger linkability distances (proportional to sum of scales, rather than the root mean square of the sum)&lt;br /&gt;
&lt;br /&gt;
===Avatar Motion===&lt;br /&gt;
* Avatar motion will be subtly different&lt;br /&gt;
** Flying/walking diagonal will not result in a speed boost&lt;br /&gt;
** Speed of walking up hills and ramps may be different&lt;br /&gt;
** Steepest hill or ramp that can be navigated may be different&lt;br /&gt;
** Largest step obstacle that can be climbed may be different&lt;br /&gt;
** Speed of walking up stairs may be different&lt;br /&gt;
** Run speed may be different&lt;br /&gt;
** Jump height and horizontal response may be different&lt;br /&gt;
** Acceleration/deceleration is higher when walking and stopping&lt;br /&gt;
&lt;br /&gt;
===Energy===&lt;br /&gt;
* Energy system thresholds may be different&lt;br /&gt;
** Energy depends on mass of all prims in an object&lt;br /&gt;
** Energy of attachments are always equal to or greater than when non-attached (because of llMass() issue mentioned above)&lt;br /&gt;
* llPushObject() can no longer push arbitrarily hard at long distances&lt;br /&gt;
** The absolute largest push an object can attempt to make is determined by the size of its Energy tank (which is then attenuated based on its current Energy budget and distance^3 as per Havok1 implementation)&lt;br /&gt;
&lt;br /&gt;
===Physics Engine Overload And Level Of Detail (LOD)===&lt;br /&gt;
* The collision level of detail (LOD) of objects may change when the physics engine lags (this is controlled by the Runtime Collision Control System (RCCS))&lt;br /&gt;
** At the moment there is only one LOD below the highest level: primitives collide like boxes&lt;br /&gt;
** Correct collision shapes will gradually return to normal when the physics engine recovers (at a rate of one prim per physics engine timestep)&lt;br /&gt;
** When objects transition from static to dynamic their LOD will be pre-emptively dropped and they will collide at the lower LOD until the RCCS automagically raises it&lt;br /&gt;
* Duplicate scripted Actions are collapsed on multi-prim objects.&lt;br /&gt;
** An Action is a behavior that pushes the object around, such as a Vehicle, Buoyancy, or Hover behavior.&lt;br /&gt;
** Making two scripts on one object each producing the same Action (such as llSetBuoyancy()) will result in a single instance of the Action instead of two&lt;br /&gt;
** When two scripts on distinct prims of a multi-prim object try to produce duplicate Actions from two distinct primitives and the prims are then separated in a delink operation then the single Action instance will migrate with the script that first created it; the other piece of the object will have no Action.&lt;br /&gt;
&lt;br /&gt;
===Other Misc Changes===&lt;br /&gt;
* Vertical simulation extent has been increased from 768m to 1024m, however script and UI limitations have not yet been changed accordingly yet.&lt;br /&gt;
&lt;br /&gt;
===What Is NOT Changed?===&lt;br /&gt;
* Dynamic objects are still limited to 31 primitives&lt;br /&gt;
* Most primitives still have a &amp;quot;collision tolerance&amp;quot; of 0.1 meters (everything except implicit spheres)&lt;br /&gt;
* Spheres with non-uniform scale will collide with faceted geometry&lt;br /&gt;
* Region crossing lag will not be significantly relieved by Havok4 changes&lt;br /&gt;
* llGetCenterOfMass() on attachments fails&lt;br /&gt;
&lt;br /&gt;
===Known Bugs===&lt;br /&gt;
* There is a resource leak in the simulator that may cause it to crash after an extended uptime&lt;br /&gt;
* Avatar&#039;s don&#039;t always sit in the &amp;quot;right spot&amp;quot;&lt;br /&gt;
* LSL collision() events are broken&lt;br /&gt;
* LSL VolumeDetect feature is broken&lt;/div&gt;</summary>
		<author><name>Sidewinder Linden</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Havok4&amp;diff=33511</id>
		<title>Havok4</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Havok4&amp;diff=33511"/>
		<updated>2007-09-28T20:49:23Z</updated>

		<summary type="html">&lt;p&gt;Sidewinder Linden: New page: ==Havok4 (New Physics Engine) Beta Test Information Hub== ===Introduction=== The beta testing for the Havok4 implementation in Second Life is now in process. This page provides information...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Havok4 (New Physics Engine) Beta Test Information Hub==&lt;br /&gt;
===Introduction===&lt;br /&gt;
The beta testing for the Havok4 implementation in Second Life is now in process. This page provides information on the project, as well as useful information that will help us all to make sure that Havok4 is tested well before it is rolled throughout the main Second Life grid.&lt;br /&gt;
&lt;br /&gt;
===What Is Havok?===&lt;br /&gt;
The Second Life virtual world has a lot of moving parts that keep it going. One of these is the Physics Engine. A physics engine is a specialized piece of software that does the &amp;quot;real world&amp;quot; calculations to figure out what do when:&lt;br /&gt;
* Something or someone is pushed&lt;br /&gt;
* Something or someone collides with something or someone else&lt;br /&gt;
* Something or someone is in motion and has momentum&lt;br /&gt;
* Friction or damping slows the motion of something or someone&lt;br /&gt;
&lt;br /&gt;
Havok is a commercially produced physics engine, and Second Life was built using Havok1. on which it operated for several years. &lt;br /&gt;
&lt;br /&gt;
===How Can I Participate In Havok4 Physics Engine Testing?===&lt;br /&gt;
You can participate in the Beta Test of Havok4 with a few easy steps:&lt;br /&gt;
# Read &amp;quot;[[What&#039;s Changed With Havok4]]&amp;quot; to understand what should be different, and what should not be different, on the Havok4 Beta Test grid&lt;br /&gt;
# Read &amp;quot;[[Linkability_Rules|New Prim Linkability Rules]]&amp;quot; to understand how prim linkage works with Havok4 (it&#039;s better and should be much more reliable!)&lt;br /&gt;
# Login to the &amp;quot;[[Public Issue Tracker]]&amp;quot; to see how easily you can tell us about problems you find during the beta test&lt;br /&gt;
# [http://secondlife.com/community/preview.php Download the install the Havok4 Beta Viewer here]&lt;br /&gt;
&lt;br /&gt;
===What To Test?===&lt;br /&gt;
Make sure that all of the your content works on the Havok4 grid, and try as many physics-related things as you can think of as well... Here is a short list, and a link to a page with a more exhaustive list of ideas:&lt;br /&gt;
* Building, linking, unlinking&lt;br /&gt;
* Vehicles&lt;br /&gt;
* Weapons&lt;br /&gt;
* &amp;quot;Spells&amp;quot;&lt;br /&gt;
* Shields&lt;br /&gt;
* Building Tools&lt;br /&gt;
* Rezzing large linked sets of prims&lt;br /&gt;
* Try building simple and complex items, taking them into inventory and rezzing them in different orientations and in different places&lt;br /&gt;
* Does walking, sitting, flying, swimming, running and other avatar motions work the way you expect it to?&lt;br /&gt;
* Do scripts work as expected? &lt;br /&gt;
* Try creating scripts and modifying them&lt;br /&gt;
* Are permissions working correctly?&lt;br /&gt;
* Can you get the sim to crash using &amp;quot;physics crashes&amp;quot;? (those of you who know what this means... &amp;quot;go for it&amp;quot; and let us know if you can... ;)&lt;br /&gt;
&lt;br /&gt;
There are [[Havok4_Beta_Test_Ideas|Many Things You Can Test In Havok4]] (a list of lots of things that would be helpful for you to test. Feel free to pick and choose from this list and make up your own things to try as well!&lt;br /&gt;
&lt;br /&gt;
===How Do I Stay &amp;quot;In The Loop&amp;quot; With Havok4 Testing?===&lt;br /&gt;
# Attend &amp;quot;[[Regular Havok4 Office Hours In-World]]&amp;quot;&lt;br /&gt;
# TELL US about everything you find using the [[Issue_tracker|Public Issue Tracker]]&amp;lt;br /&amp;gt;&lt;br /&gt;
Please enter bugs using PROJECT &amp;quot;Second Life Service - SVC&amp;quot; and COMPONENT &amp;quot;Physics&amp;quot;!&lt;br /&gt;
&lt;br /&gt;
===How Will Havok4 Be Tested And Rolled Out?===&lt;br /&gt;
This project replaces a core component of Second Life, and being sure that &amp;quot;anything that pushes, collides or has inertia&amp;quot; works right is a pretty extensive task. We have already done a lot of internal testing, and plowed through hundreds of internal bug fixes. We will be taking a phased approach to both catch as many problems as early as possible, and reduce risk of issues as Havok4 is rolled out. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Phase 1 - Internal Testing On Non-Public Test Grid (DONE!)&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
We already completed this phase, and had a variety of internal staff work on Havok4 enabled simulators. Basic functions were checked, as well as checking to see that the known physics-related simulator crashes were resolved.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Phase 2 - Public Beta Test On Beta Grid (&amp;quot;YOU ARE HERE!&amp;quot; :)&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
We expect the public beta test for Havok4 to be very active, with many participants. We have prepared a test grid that allows for many types of physics-related tests. The test regions will include:&lt;br /&gt;
* Orientation Islands&lt;br /&gt;
* Welcome Areas&lt;br /&gt;
* Lusk&lt;br /&gt;
* Several sandboxes&lt;br /&gt;
* Combat sandboxes&lt;br /&gt;
* Vehicle testing simulators&lt;br /&gt;
&lt;br /&gt;
NOTE: The Public Beta viewer will be configured to use the beta grid, which will be a snapshot copy of portions of the main grid and a copy of your user account. You can do &amp;quot;anything you want&amp;quot; on this grid without risking damage to your &amp;quot;real account&amp;quot; on the main grid. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Phase 3 - Havok4 On A Select Few Main Grid Regions&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
In this phase we will use the new HetGrid functionality to deploy Havok4 simulators on a small number of regions of the main grid. This will still be a testing phase, and for this phase any participants will need to remember that you will be on the main grid, working with your real inventory (caveat emptor - don&#039;t rez &amp;quot;no copy/no transfer&amp;quot; items on these early test Havok4 sims without understanding the potential risks)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Phase 4 - Partial Main Grid Rollout (50-100 regions)&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
At this point, we will have resolved outstanding issues found during beta testing and the Phase 3 &amp;quot;small deployment in a corner of the main grid&amp;quot; and will deploy Havok4 to a subset of the main grid. &lt;br /&gt;
&lt;br /&gt;
After collecting feedback, if all looks good, we will continue to...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Phase 5 - Full Havok4 Rollout On Main Grid (deploy to rest of grid)&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
If all is clean at this point, we will then roll out the Havok4 engine to the rest of the main grid, and we&#039;ll be &amp;quot;live&amp;quot; with Havok4 everywhere.&lt;br /&gt;
&lt;br /&gt;
===A Historical Note: Why Did &amp;quot;Doing Havok&amp;quot; Take So Long?===&lt;br /&gt;
Some of you who have been around for a long time will know that we talked about replacing Havok1 a long time ago, and did not seem to get this project done, and finally went silent about it. After several false starts, we decided that it would be best to stop talking about the work, or making public commitments, until we were far closer to the goal, and we believe that we are finally at this point. &lt;br /&gt;
&lt;br /&gt;
For &amp;quot;quite some time&amp;quot; we worked to replace Havok1 with Havok2. After working on that project, we realized that we really should rework the interfaces for how Havok is integrated with Second Life. We realized that we needed to define an abstraction layer - a layer of code that would make it easier to do future physics engine migrations so that they don&#039;t take as much effort as this migration took, and to allow for more flexibility down the road. At this point Havok4 became a much more reasonable target than implementing based on a then-older release... and thus we set Havok4 as the target. This project has been significantly larger than any of us anticipated, however the good news is that we are now here, ready for beta testing, and ready to fix the last minute issues before we bring Havok4-based sims to the main grid!&lt;/div&gt;</summary>
		<author><name>Sidewinder Linden</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Performance_Sponsors&amp;diff=33164</id>
		<title>Performance Sponsors</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Performance_Sponsors&amp;diff=33164"/>
		<updated>2007-09-27T16:07:31Z</updated>

		<summary type="html">&lt;p&gt;Sidewinder Linden: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==What is Performance Sponsorship in Second Life?==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Why Would I Sponsor Performance in Second Life?===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Types of sponsorship===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===How to Get Started===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Finding an Organization or Artist to Sponsor===&lt;/div&gt;</summary>
		<author><name>Sidewinder Linden</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Live_Performances&amp;diff=33075</id>
		<title>Live Performances</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Live_Performances&amp;diff=33075"/>
		<updated>2007-09-27T03:32:47Z</updated>

		<summary type="html">&lt;p&gt;Sidewinder Linden: /* What Is A Live Performance In Second Life? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Live Performance In Second Life==&lt;br /&gt;
&lt;br /&gt;
===What Is A Live Performance In Second Life?===&lt;br /&gt;
A live performance in Second Life is presented by a person who is represented in-world by an avatar, and is creating the performance in real-time, streaming the audio (or audio and video) portions into Second Life as they are being created.&lt;br /&gt;
&lt;br /&gt;
Playing back a previously recorded performance, whether audio, video or Second Life machinima, is generally not considered to be a live performance if there are no live elements performed while the audience is watching the show (although even this definition will likely raise some &amp;quot;discussion&amp;quot; from some corners ;).&lt;br /&gt;
&lt;br /&gt;
===Types of Live Performances===&lt;br /&gt;
* Spoken word (poetry, fiction or other reading)&lt;br /&gt;
* Live musical performers (vocalists/instrumentalists with or without &amp;quot;backing tracks&amp;quot;)&lt;br /&gt;
* Theatrical performance (plays, dramatic productions)&lt;br /&gt;
* Dance&lt;br /&gt;
* DJ/Scratch&lt;br /&gt;
* Other?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Who Is Involved With Second Life Live Performance?===&lt;br /&gt;
* Performers [[Performance_Performer|Learn more...]]&lt;br /&gt;
* Second Life audience [[Performance_Audience|Learn more...]]&lt;br /&gt;
* Talent agents/managers/promoters [[Performance_TalentMgmt|Learn more...]]&lt;br /&gt;
* Venue operators [[Performance_Venue_Operators|Learn more...]]&lt;br /&gt;
* Sponsors [[Performance_Sponsors|Learn more...]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===How Is Linden Lab Encouraging And Supporting Live Performance In Second Life?===&lt;br /&gt;
* Performance area on web site&lt;br /&gt;
* System features&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===How Did Live Performance In Second Life Start?===&lt;br /&gt;
... there are probably a lot of views on this one... let&#039;s fill this in in a way that tells the story, and where we don&#039;t spend a lot of time on &amp;quot;no, actually i was the first&amp;quot;, eh ;)&lt;/div&gt;</summary>
		<author><name>Sidewinder Linden</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Talent_Management&amp;diff=33073</id>
		<title>Talent Management</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Talent_Management&amp;diff=33073"/>
		<updated>2007-09-27T03:28:31Z</updated>

		<summary type="html">&lt;p&gt;Sidewinder Linden: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Talent Agents==&lt;br /&gt;
&lt;br /&gt;
===A Note On Adding To This Page===&lt;br /&gt;
&lt;br /&gt;
Please respect the fact that this wiki is for education and information, and is not here to advertise any particular performer, manager or venue. Mentions of specific venues, managers or performers will be removed. Thanks! &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
===Role of an Agent or Manager in Second Life===&lt;br /&gt;
&lt;br /&gt;
====Finding Talent====&lt;br /&gt;
&lt;br /&gt;
====Finding Gigs====&lt;br /&gt;
&lt;br /&gt;
====Working with Talent====&lt;br /&gt;
&lt;br /&gt;
====Working with Venues====&lt;br /&gt;
&lt;br /&gt;
====Technical Issues====&lt;br /&gt;
&lt;br /&gt;
====Business Issues====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
===Role of Talent Promoters and Managers in Second Life===&lt;br /&gt;
&lt;br /&gt;
====Working with Talent====&lt;br /&gt;
&lt;br /&gt;
====Working with Venues====&lt;br /&gt;
&lt;br /&gt;
====Finding Gigs====&lt;br /&gt;
&lt;br /&gt;
====Technical Issues====&lt;br /&gt;
&lt;br /&gt;
====Business Issues====&lt;/div&gt;</summary>
		<author><name>Sidewinder Linden</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Talent_Management&amp;diff=33071</id>
		<title>Talent Management</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Talent_Management&amp;diff=33071"/>
		<updated>2007-09-27T03:27:33Z</updated>

		<summary type="html">&lt;p&gt;Sidewinder Linden: /* Talent Agents */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Talent Agents==&lt;br /&gt;
&lt;br /&gt;
===A Note On Adding To This Page===&lt;br /&gt;
&lt;br /&gt;
Please respect the fact that this wiki is for education and information, and is not here to advertise any particular performer, manager or venue. Mentions of specific venues or performers will be removed. Thanks! &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
===Role of an Agent or Manager in Second Life===&lt;br /&gt;
&lt;br /&gt;
====Finding Talent====&lt;br /&gt;
&lt;br /&gt;
====Finding Gigs====&lt;br /&gt;
&lt;br /&gt;
====Working with Talent====&lt;br /&gt;
&lt;br /&gt;
====Working with Venues====&lt;br /&gt;
&lt;br /&gt;
====Technical Issues====&lt;br /&gt;
&lt;br /&gt;
====Business Issues====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
===Role of Talent Promoters and Managers in Second Life===&lt;br /&gt;
&lt;br /&gt;
====Working with Talent====&lt;br /&gt;
&lt;br /&gt;
====Working with Venues====&lt;br /&gt;
&lt;br /&gt;
====Finding Gigs====&lt;br /&gt;
&lt;br /&gt;
====Technical Issues====&lt;br /&gt;
&lt;br /&gt;
====Business Issues====&lt;/div&gt;</summary>
		<author><name>Sidewinder Linden</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Getting_Started_As_A_Second_Life_Performer&amp;diff=33074</id>
		<title>Getting Started As A Second Life Performer</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Getting_Started_As_A_Second_Life_Performer&amp;diff=33074"/>
		<updated>2007-09-27T03:24:31Z</updated>

		<summary type="html">&lt;p&gt;Sidewinder Linden: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Getting Started As A Second Life Performer==&lt;br /&gt;
&lt;br /&gt;
===A Note On Adding To This Page===&lt;br /&gt;
&lt;br /&gt;
Please respect the fact that this wiki is for education and information, and is not here to advertise any particular performer, manager or venue. Mentions of specific venues, managers or performers will be removed. Thanks! &lt;br /&gt;
&lt;br /&gt;
===Getting Started With Live Music===&lt;br /&gt;
* You don&#039;t need your own land to perform. There are several clubs, stages and other locations where musicians can perform on a regular basis. Contact them and try to find an empty time slot on the mic.&lt;br /&gt;
&lt;br /&gt;
===Getting Started With DJ/Scratch===&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Getting Started With Theatrical/Dance===&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Getting Started With Spoken Word===&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Getting Started With Other Kinds of Live Performance===&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Setting Up A Stream For Second Life===&lt;br /&gt;
* There are several ways to stream music into second life. One is a shoutcast server. You as the performer need to set up a broadcasting client [http://www.shoutcast.com/download/broadcast.phtml]. That client connects to a shoutcast server. Either you set up your own server [http://www.shoutcast.com/download/serve.phtml] or you find and rent an existing server. Several event locations in Second Live have their own shoutcast server, so you only need a client to send out your voice.&lt;br /&gt;
&lt;br /&gt;
How it works:&lt;br /&gt;
&lt;br /&gt;
* Your streaming client sends the data to the server.&lt;br /&gt;
* The Listeners&#039; Second Life clients grab the server&#039;s URL from the parcel&#039;s media settings and tune in.&lt;/div&gt;</summary>
		<author><name>Sidewinder Linden</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Getting_Started_As_A_Venue_Operator&amp;diff=33072</id>
		<title>Getting Started As A Venue Operator</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Getting_Started_As_A_Venue_Operator&amp;diff=33072"/>
		<updated>2007-09-27T03:23:54Z</updated>

		<summary type="html">&lt;p&gt;Sidewinder Linden: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Getting Started As A Venue Operator In Second Life==&lt;br /&gt;
&lt;br /&gt;
===A Note On Adding To This Page===&lt;br /&gt;
&lt;br /&gt;
Please respect the fact that this wiki is for education and information, and is not here to advertise any particular performer, manager or venue. Mentions of specific venues, managers or performers will be removed. Thanks! &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Setting up your Sim===&lt;br /&gt;
* Deciding on a business model&lt;br /&gt;
* Designing the performance space&lt;br /&gt;
* Optimizing the sim for low lag and maximum capacity&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Operations===&lt;br /&gt;
* Event Planning&lt;br /&gt;
* Marketing&lt;br /&gt;
* Event management&lt;br /&gt;
* Interacting with Promoters, Agents, Managers and Talent&lt;br /&gt;
* Dealing with griefers&lt;/div&gt;</summary>
		<author><name>Sidewinder Linden</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Talent_Management&amp;diff=33070</id>
		<title>Talent Management</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Talent_Management&amp;diff=33070"/>
		<updated>2007-09-27T03:23:39Z</updated>

		<summary type="html">&lt;p&gt;Sidewinder Linden: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Talent Agents==&lt;br /&gt;
&lt;br /&gt;
A Note On Adding To This Page&lt;br /&gt;
&lt;br /&gt;
Please respect the fact that this wiki is for education and information, and is not here to advertise any particular performer, manager or venue. Mentions of specific venues or performers will be removed. Thanks! &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
===Role of an Agent or Manager in Second Life===&lt;br /&gt;
&lt;br /&gt;
====Finding Talent====&lt;br /&gt;
&lt;br /&gt;
====Finding Gigs====&lt;br /&gt;
&lt;br /&gt;
====Working with Talent====&lt;br /&gt;
&lt;br /&gt;
====Working with Venues====&lt;br /&gt;
&lt;br /&gt;
====Technical Issues====&lt;br /&gt;
&lt;br /&gt;
====Business Issues====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
===Role of Talent Promoters and Managers in Second Life===&lt;br /&gt;
&lt;br /&gt;
====Working with Talent====&lt;br /&gt;
&lt;br /&gt;
====Working with Venues====&lt;br /&gt;
&lt;br /&gt;
====Finding Gigs====&lt;br /&gt;
&lt;br /&gt;
====Technical Issues====&lt;br /&gt;
&lt;br /&gt;
====Business Issues====&lt;/div&gt;</summary>
		<author><name>Sidewinder Linden</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Getting_Started_As_A_Second_Life_Performer&amp;diff=33069</id>
		<title>Getting Started As A Second Life Performer</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Getting_Started_As_A_Second_Life_Performer&amp;diff=33069"/>
		<updated>2007-09-27T03:16:53Z</updated>

		<summary type="html">&lt;p&gt;Sidewinder Linden: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Getting Started As A Second Life Performer==&lt;br /&gt;
&lt;br /&gt;
===A Note On Adding To This Page===&lt;br /&gt;
Please respect the fact that this wiki is for education and information, and is not here to advertise any particular performer or venue. Mentions of specific venues or performers will be removed. Thanks!&lt;br /&gt;
&lt;br /&gt;
===Getting Started With Live Music===&lt;br /&gt;
* You don&#039;t need your own land to perform. There are several clubs, stages and other locations where musicians can perform on a regular basis. Contact them and try to find an empty time slot on the mic.&lt;br /&gt;
&lt;br /&gt;
===Getting Started With DJ/Scratch===&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Getting Started With Theatrical/Dance===&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Getting Started With Spoken Word===&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Getting Started With Other Kinds of Live Performance===&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Setting Up A Stream For Second Life===&lt;br /&gt;
* There are several ways to stream music into second life. One is a shoutcast server. You as the performer need to set up a broadcasting client [http://www.shoutcast.com/download/broadcast.phtml]. That client connects to a shoutcast server. Either you set up your own server [http://www.shoutcast.com/download/serve.phtml] or you find and rent an existing server. Several event locations in Second Live have their own shoutcast server, so you only need a client to send out your voice.&lt;br /&gt;
&lt;br /&gt;
How it works:&lt;br /&gt;
&lt;br /&gt;
* Your streaming client sends the data to the server.&lt;br /&gt;
* The Listeners&#039; Second Life clients grab the server&#039;s URL from the parcel&#039;s media settings and tune in.&lt;/div&gt;</summary>
		<author><name>Sidewinder Linden</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Getting_Started_As_A_Second_Life_Performer&amp;diff=33067</id>
		<title>Getting Started As A Second Life Performer</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Getting_Started_As_A_Second_Life_Performer&amp;diff=33067"/>
		<updated>2007-09-27T03:12:51Z</updated>

		<summary type="html">&lt;p&gt;Sidewinder Linden: Added caveat to not post ads for venues or performers&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Getting Started As A Second Life Performer==&lt;br /&gt;
&lt;br /&gt;
===A Note On Adding To This Page===&lt;br /&gt;
Please respect the fact that this wiki is for education and information, and is not here to advertise any particular performer or venue. Mentions of specific venues or performers will be removed. Thanks!&lt;br /&gt;
&lt;br /&gt;
===Getting Started With Live Music===&lt;br /&gt;
* You don&#039;t need your own land to perform. There are several clubs, stages and other locations where musicians can perform on a regular basis. Contact them and try to find an empty time slot on the mic.&lt;br /&gt;
&lt;br /&gt;
** One of these locations with daily schedule is &#039;&#039;&#039;The Vibe&#039;&#039; in Shaea [http://slurl.com/secondlife/Shaea/221/197/25]. It has a nice beach ambiente with a stage in a large tiki hut, and a second open air stage in front of a waterfall. Management is pretty good. Recommended. Contact Lucius Templar for details.&lt;br /&gt;
&lt;br /&gt;
===Getting Started With DJ/Scratch===&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Getting Started With Theatrical/Dance===&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Getting Started With Spoken Word===&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Getting Started With Other Kinds of Live Performance===&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Setting Up A Stream For Second Life===&lt;br /&gt;
* There are several ways to stream music into second life. One is a shoutcast server. You as the performer need to set up a broadcasting client [http://www.shoutcast.com/download/broadcast.phtml]. That client connects to a shoutcast server. Either you set up your own server [http://www.shoutcast.com/download/serve.phtml] or you find and rent an existing server. Several event locations in Second Live have their own shoutcast server, so you only need a client to send out your voice.&lt;br /&gt;
&lt;br /&gt;
How it works:&lt;br /&gt;
&lt;br /&gt;
* Your streaming client sends the data to the server.&lt;br /&gt;
* The Listeners&#039; Second Life clients grab the server&#039;s URL from the parcel&#039;s media settings and tune in.&lt;/div&gt;</summary>
		<author><name>Sidewinder Linden</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Live_Performance/Draft/Home&amp;diff=32968</id>
		<title>Live Performance/Draft/Home</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Live_Performance/Draft/Home&amp;diff=32968"/>
		<updated>2007-09-26T20:03:35Z</updated>

		<summary type="html">&lt;p&gt;Sidewinder Linden: Live Performance/Draft/Home moved to Live Performance Home&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Live Performance Home]]&lt;/div&gt;</summary>
		<author><name>Sidewinder Linden</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Live_Performances&amp;diff=32967</id>
		<title>Live Performances</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Live_Performances&amp;diff=32967"/>
		<updated>2007-09-26T20:03:35Z</updated>

		<summary type="html">&lt;p&gt;Sidewinder Linden: Live Performance/Draft/Home moved to Live Performance Home&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Live Performance In Second Life==&lt;br /&gt;
&lt;br /&gt;
===What Is A Live Performance In Second Life?===&lt;br /&gt;
A live performance in Second Life is presented by a person who is represented in-world by an avatar, and is creating the performance in real-time, streaming the audio (or audio and video) portions into Second Life as they are being created.&lt;br /&gt;
&lt;br /&gt;
Playing back a previously recorded performance, whether audio, video or Second Life machinima, is generally not considered to be a live performance (although even this definition will likely raise some &amp;quot;discussion&amp;quot; from some corners ;).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Types of Live Performances===&lt;br /&gt;
* Spoken word (poetry, fiction or other reading)&lt;br /&gt;
* Live musical performers (vocalists/instrumentalists with or without &amp;quot;backing tracks&amp;quot;)&lt;br /&gt;
* Theatrical performance (plays, dramatic productions)&lt;br /&gt;
* Dance&lt;br /&gt;
* DJ/Scratch&lt;br /&gt;
* Other?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Who Is Involved With Second Life Live Performance?===&lt;br /&gt;
* Performers [[Performance_Performer|Learn more...]]&lt;br /&gt;
* Second Life audience [[Performance_Audience|Learn more...]]&lt;br /&gt;
* Talent agents/managers/promoters [[Performance_TalentMgmt|Learn more...]]&lt;br /&gt;
* Venue operators [[Performance_Venue_Operators|Learn more...]]&lt;br /&gt;
* Sponsors [[Performance_Sponsors|Learn more...]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===How Is Linden Lab Encouraging And Supporting Live Performance In Second Life?===&lt;br /&gt;
* Performance area on web site&lt;br /&gt;
* System features&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===How Did Live Performance In Second Life Start?===&lt;br /&gt;
... there are probably a lot of views on this one... let&#039;s fill this in in a way that tells the story, and where we don&#039;t spend a lot of time on &amp;quot;no, actually i was the first&amp;quot;, eh ;)&lt;/div&gt;</summary>
		<author><name>Sidewinder Linden</name></author>
	</entry>
</feed>