Put a log on the fire, take a glass of mulled wine and sit for a tale or two

The Seanchai Library will be presenting another round of stories and readings in Voice this coming week, where they continue three of their serialisations, together with a lot of other goodies.

As always, all times SLT, and unless otherwise stated, events will be held on the Seanchai Library’s home on Imagination Island.

Sunday December 2nd, 18:00: Peter Pan

Illustration from “Peter and Wendy” by James Matthew Barrie, Published 1911 by C. Scribner’s Sons, New York

Caledonia Skytower presents the final part of novelist and playwright J. M. Barrie’s most famous work.

While Peter Pan first appeared in another of Barrie’s works, The Little White Bird, written for adults in 1902, it was in the 1904 stage play, Peter Pan, or The Boy Who Wouldn’t Grow Up in which he first came to widespread public attention. The play was later expanded upon by Barrie to form the 1911 novel, Peter and Wendy, which later became Peter Pan and Wendy and, eventually, simply Peter Pan.

Both the stage play and the novel tell the story of Peter Pan, a mischievous little boy who can fly, and his adventures on the island of Neverland with Wendy Darling and her brothers, the fairy Tinker Bell, the Lost Boys, the Indian princess Tiger Lily, and the pirate Captain Hook.

Caledonia will be reading this installment at Magiclands, commencing at 18:00 SLT.

Monday December 3rd, 19:00: All Seated on the Ground

All-SeatedCaledonia Skytower continues her reading of All Seated on the Ground, Connie Willis’ 2007 science-fiction novella and winner of the 2008 Hugo Award for Best Novella.

The story follows Meg, a newspaper columnist who has joined a commission studying aliens that have landed on the Denver University campus. The aliens glare at everyone, and allow themselves to be led to various locations, but the commission has no idea how to communicate with them. Following an incident at a local mall during the Christmas shopping season, Meg and a school choir director team up to try to decipher the aliens’ actions before they leave Earth.

Tuesday December 4th, 19:00: Christmas at The Vinyl Cafe

Dave owns the world’s smallest record store, where the motto is “We may not be big but we’re small.” Dave is frequently neurotic and prone to small accidents and mishaps – but he’s not the only one in his family, or his neighbourhood.

Bear Silvershade reads two stories penned by Stuart McLean for his CBC Radio show, The Vinyl Cafe. In The Great Gift Giving we find that all it takes is one pebble to start an avalanche. While in Morley’s Christmas Pageant, Dave’s wife, the long-suffering Morley, tries her hand at running a children’s Christmas concert.

Wednesday December 5th, 19:00: Miracle on 34th Street

Caledonia Skytower commences an adaptation of the George Seaton / Valentine Davies Christmas classic, which first appeared in 1947 starring Maureen O’Hara, John Payne, Natalie Wood and Edmund Gwenn, and which has been subject to a number of remakes and updates, including the 1994 version starring Sir Richard Attenborough. A novella based on the film, also penned by Davies, was published simultaneously with the film’s release, and was itself turned into a stage play in about 2006 by Will Severin, Patricia Di Benedetto Snyder and John Vreeke.

Join Caledonia at Imagination Island as she retells the story of how Kris Kringle is hired by Macy’s to become their “Santa Claus” in what is regarded as a classic tale for Christmas.

Thursday December 6, 19:00 The Santa Clause

Shandon Loring one more hitches a ride on a sleigh drawn by a team of rangifer tarandus to Imagination Island to bring us the second part of The Santa Clause, a “novelisation” of the Leo Benvenuti / Steve Rudnick screenplay from the 1994 film starring Tim Allen.

Santa Clause b

Saturday December 8th, 18:00: Christmas Classics

Join Derry McMahon and Bear Silvershade at the Holiday Sim (please check the Seanchai Library SL blog for the LM, which will be available on the day) for a round of classic Christmas tales.

Saturday December 8th, 18:00: Christmas Classics

Join Derry McMahon and Bear Silvershade at Fruit Islands’ Winterland (please check the Seanchai Library SL blog for the LM, which will be available on the day) for a further round of classic Christmas tales.

Related Links

SL project news: week 48/3: Interest List update

Andrew Linden continues to forge ahead with his initial work on Interest Lists, which forms a part of the Shining Project. As reported last time around, the issue of people’s HUDs appearing on other people’s screen has been fixed, and the code is currently with LL’s QA for testing.

Given the progress made, Andrew re-capped on the project / gave further insight into this initial phase of the work Server Beta User Group meeting on Thursday November 29th.

Object Updates

The first phase of the new interest list code is aimed at reducing the amount of information being sent to the viewer by the server. This done through the code only sending required updates to the viewer for objects which are within the camera’s line-of-sight. Essentially, updates on objects take three forms regardless of which Interest List code is being used:

  • A “full” update – required when an object is “seen” for the first time or which is constantly updating position / appearance
  • A “terse” update – required only when an object is changing appearance / position relative to the viewer’s in-world view
  • A “please delete” update when the object has been removed from the viewer’s in-world view (e.g. it has been deleted or taken back to inventory).

The new updates are aimed specifically at the number of “terse” updates being sent to the viewer. Under the current Interest List code, these updates are continuously sent out by the server to all viewers in range of an object in motion or undergoing change, regardless as to whether what is being updated (in terms of movement or appearance) is actually visible in the window of the viewer. With the new Interest List code, updates are only sent to your viewer based upon what is actually in your world view.

This means, for example, that if you can see a bouncing ball on your screen and then turn your avatar or camera so it is no longer visible to you, under the old system, data packets relative to the ball’s motion continue to be sent to your viewer, even though they are no longer required. With the new system, the updates cease shortly after the ball moves off your screen, and only resume as the ball moves back on to your screen once more (no actual content is broken by this change, it is simply a change in the amount of updates being sent from server to viewer).

The net result of this is to reduce the amount of data the server is sending to the viewer, thus helping improve performance. As the new code applies to both objects and avatars, this can amount to a substantial improvement, as Andrew commented during the meeting, “I think we’re currently seeing a 30% improvement (in the time spent in “Agents” in the stats) for the case of about 30 avatars running around in a region with 12k prims”.

However, there is a side issue with these changes, which Andrew and the devs are currently looking into. If you turn away from a moving object for a length of time such that the terse updates from the server are no longer sent, then suddenly pan the camera / turn so the object is once again in view, there might be a brief delay (one second, currently) before the object correctly updates. This is because the viewer is rendering the object based on its “old” data received from the server before getting the latest updates from the simulator. The time delay can potentially be reduced, but doing so can negatively impact the overall performance gains made. Because of this, Andrew is holding it at one second in order to ascertain how much of an impact the delay actually has as the code is tested.

Camera Follow

Currently, everything you see in-world is almost exclusively based on its position relative to your avatar, regardless as to where you move the camera. This is why, as you cam further away from your avatar, objects may appear with less and less detail, or may not render at all (particularly smaller objects) – their respective level of detail is being calculated based of their distance from your avatar, not from their distance from your camera.

With the new Interest List code, what you see in-world is now based upon the position of your camera. The benefit of this being that as you cam around, objects should render at the correct level of detail relative to your camera (so no more sculpts which appear to be stuck at a lower LOD despite your camera hovering a few metres away from them, for example). The difference between the two approaches can be seen in the image below.

Interest List in action: in the top image, the current problem. The interest list code is based on the avatar position. I'm standing 100m from a .5-cube with a 0.001 cube on it. When zoomed in on the cubes, the smaller one remains invisible (and I vanish from view). In the bottom image is the same set-up using the new interest list code. The 0.001 cube is now visible when I zoom in via camera, and I'm also visible, over 100m away.
Interest List in action: In both images, I’m standing 100m from a .5-cube with a 0.001 black cube on top of it. When I cam out to the cubes using the existing Interest List code (top image), the black cube fails to render, due to the level of detail sent to the viewer is based on my AVATAR’S position, despite my camera only being a metre or so away from the small cube. However, under the NEW Interest List code (bottom image), the small black cube is rendered, because the level of detail being sent to my viewer is now based on my CAMERA’S position (click to enlarge)

Continue reading “SL project news: week 48/3: Interest List update”

SL project news: week 48/2: RC issues, region performance and Aditi issues

Server Deployments Week 48

After a smooth deployment to the main channel on Tuesday 27th November, things got a little unsettled on Wednesday 28th November with the deployments to the RC channels. As noted in part 1 of this report, these were supposed to comprise a maint-server release to BlueSteel and LeTigre, with the same package and a few extras going to Magnum.

The problems started during the actual deployment on Wednesday, wherein after successfully updating Magnum and BlueSteel, the deployment team started noticing issues unrelated to the deployment which caused Coyot Linden to call off the LeTigre roll-out until things were sorted. However, as Maestro Linden takes up the story:

Then there were reports in the forums about offline IM emails from objects being broken; if an object sent you an IM and you were offline, the offline email would contain all the usual details *except* for the message. This bug affected both BlueSteel and Magnum since they both shared the responsible change. Then, after digging into offline emails a bit more, we noticed that the ‘To’ field of offline emails would show the object owner’s name instead of the recipient’s name … which was a little confusing … Anyway, these bugs were kind of bad, but we weren’t sure that they were worth the trauma and downtime of an emergency rollback …But then this morning, we became aware of a 3rd bug, from support. It turned out that deeding parcels to groups was failing.

It was this third bug which was deemed sufficiently serious enough to warrant a roll-back of the RC deployments, which took place on Thursday 29th November, with the result that all four channels are now running on the same release – Kelly Linden has fixes for all three issues, but they are currently in testing, and the plan is to try again next week with the RC deployments.

Region Performance / Memory Issues

The physics memory issues which I reported in week 47, and then provided an update on in Part 1 of this report have received further attention from Linden Lab. The problem has been with some regions experiencing severe physics memory bloat within a short time of being restarted, with the result being that they rapidly reach a threshold of memory use (~230MB for homesteads, ~920MB for full regions) which prevents rezzing of any objects, in-world or attached.

In investigating the issue, Simon Linden located a source of memory leak related to the Havok system which may address the issue, and is hopeful he has found a fix. Commenting on the matter at the Server Beta meeting on 29th November, “I’m in the midst of hacking a special test mode for a region … I’m going to make it continuously re-bake the navmesh and terrain data. I’ll let that run overnight and see what happens … I’m not going to claim victory quite yet … this is like that point where you hit the zombie hard, but you have to see if it comes back again.”

Aditi Grid Log-in Issues

It had been hoped that the Aditi situation, wherein problems with inventory-related data is preventing people from being able to log-in to the beta grid – would be discussed at the Server Beta meeting, but these were somewhat side-lined by discussions on other projects, most notably Interest Lists (work on which prevented Andrew Linden from digging into the matter following the Simulator User Group meeting on Tuesday 27th November).

While Maestro was able to confirm that a member of Linden Labs is, “Working on a script to help the Aditi inventory situation”, little more information was provided at the meeting due to other ongoing conversations. Hopefully, this matter will be picked up next week.


In working on Interest Lists, Andrew Linden had hoped he’d sorted a fix for PATHBUG-183, which relates to offscreen physical objects flying across your in-world view. The code for the fix has been available on Ahern, on the Aditi grid, but there are reports that while the problem may have been somewhat reduced in scale, it is still very apparent. Andrew hopes to look into this during week 49.

Region “Flicker” and  Content “Warping”

There has been some issues related to viewing neighbouring regions and crossing region boundaries. These issues take a number of forms, and are related to both server and viewer issues:

  • The entire neighbouring region “flickers” if you are near its edge
  • After crossing between regions, the content of the region you have just left seems to appear in the region you’ve just entered, usually somewhat warped / deformed
  • “Cachable” objects (e.g. unscripted and non-physical) objects vanish from your view of a region on leaving it
  • A region appears to “reset” (re-renders) itself shortly after leaving it
Sometimes on crossing between regions, objects from the region you’ve just left seem to appear warped and deformed in the region you’ve just entered…
...only to disappear after a few seconds / as you approach them
…only to disappear after a few seconds / as you approach them

The first two of these issues are considered to be viewer-related bugs which are thought to have been resolved in code currently in the viewer development. The final item in the list is related to a server issue which Andrew Linden believes to have been fixed as a part of his work on Interest Lists. The “cacheable” objects problem was also considered to be a viewer-side bug which has also been addressed in viewer development, but in considering the problem at the Server Beta meeting, Andrew Linden thought there might actually be more than one bug responsible and indicated he would be looking into this some more.