A look at Second Life updates in 2017

La Vie; Inara Pey, October 2017, on FlickrLa Vie, October 2017 – blog post

Each week through the year, I try to get to as many in-world and other meetings held by the Lab to keep an eye on technical developments and updates which are in the works for the viewer and the simulator, relaying the notable items via my SL project updates. As such, I thought it might be interesting to look back at some of the technical changes and updates have come our way in 2017.

Visible Projects

The year started with everyone still getting their heads around 2016’s Project Bento, which reached release status at the end of that year, bringing with it a much extended avatar skeleton with masses of new bones allowing a range of new animations and opportunities for more diverse avatar looks that used bone animations rather than resource-heavy options such as alpha flipping and so on.

Thus, 2017 – or at least the early part of it at least – saw many Bento releases hitting Second Life, from animal avatars through to Bento-enabled avatar mesh heads and hands which offer a greater range of expressions and natural motions, natural jaw and mouth movements to go with Voice or with text chat, and so on. Given the interest in Bento, I offered a behind-the-scenes look at the project from a personal perspective, having been an observer of the work from the initial closed development work all the way through the open beta to release.

I eventually made the move to a Bento head in September 2017, after extensive fiddling with demos from all the major makers, with (r) Lelutka proving to be the best in terms of maintaining much of my “original” (aka “2010 onwards”) look (l), as I played with the demo model & test skin)

The Bento project gave rise to several potential follow-on projects, of which the three most popular among creators at the Bento / Content Creation meetings were: supplemental animations, to allow smooth interaction between animations as a result of conflicts arising between the extended bone groups (currently on hold), animated mesh – eventually renamed “Animesh”, and bakes on mesh – with the latter two becoming a particular focus of the in-world Content Creation User Group meetings, together with the Environment Enhancement Project (EEP).

Animesh is a means of animating rigged mesh objects using the avatar skeleton, in whole or in part, to provide things like independently moveable pets / creatures, and animated scenery features via scripted animation. It involves both viewer and server-side changes. It can be used with any object (generally rigged / skinned mesh) which and contains the necessary animations and controlling scripts in its own inventory (Contents tab of the Build floater) required for it to animate itself. During 2017, the focus has been on getting a basic Animesh capability working in Second Life, which by the end of the years saw a project viewer at an advanced stage of development. 2018 should see this move to RC status, and the project as a whole move to release. A potential follow-on project may then see the capability extended to allow more in the way of NPC creation through Animesh.

Animesh allows you to take rigged mesh objects, add animations and controlling scripts to them, associate them with an avatar skeleton, and have them run in-world without the need for any supervising viewer / client

Bakes on Mesh extends the current avatar baking service to allow wearable textures (skins, tattoos, clothing) to be applied directly to mesh bodies as well as system avatars. This involves server-side changes, including updating the baking service to support 1024×1024 textures (but does not include normal or specular support). Once this initial work has been completed, an intended follow-on project to actually support baking textures onto mesh surfaces. This has yet to fully defined in terms of implementation and when it might be slotted into SL development time frames.

Environment Enhancement Project is a set of updates to Windlight settings, etc. These include the ability to define the environment (sky, sun, moon, clouds, water settings) at the parcel level; a new environment asset type that can be stored in inventory and traded through the Marketplace / exchanged with others; scripted, experience-based environment functions, an extended day cycle and extended environmental parameters. This work involves both a viewer updates (with a project viewer coming soon) and server-side updates.

While 2017 didn’t see the deployment of many high-profile user-facing projects, it did see a considerable amount of back-end work take place, not all of which was necessarily user-visible, and some of which also affected the viewer. In summary this work included:

  • A complete overhaul of the simulator code build process, including upgrading the Linux OS for the simulator servers – the first of such rounds of OS update.
  • Moving most of the remaining SL asset (inventory items) handling from UDP messaging through the simulators to HTTP delivery via the CDN.
  • Increasing Region capacity (avatar numbers), with a perk for Premium members.
  • Announcing a major initiative to move all the Second Life services into the cloud, if possible. More info came through a TPVD meeting and Tara Hernandez, Senior Director of Systems and Build Engineering at Linden Lab, touched on the project in a presentation at AWS:Invent.
  • Changing how multiple, repeat teleport requests made via scripted HUDs were handled to reduce the impact such requests have on region performance.
  • The start of a project to revise the complexity calculations (in-world objects and Avatar Rendering Complexity) to make them more accurate / stable and reflective of the true cost of rendering items – this work is still ongoing.
  • Continuing work to eliminate exploits use to crash regions and to make the simulator code generally more robust, trying to curb illicit content copying, etc.

The Viewer

Much of 2017’s focus on the viewer was directed at moving it to 64-bit for Windows (whilst also maintaining a 32-bit version as well) and for Mac OS X. Started in 2016, with a significant overhaul of the viewer build process and its associated libraries, the first project viewer release for the 64-bit viewer – code-named Alex Ivy (aLeX IVy = LXIV = 64) – arrived in early January, with work continuing throughout the year to refine the viewer, work out issues in the build process, and move the project towards release status – which should now happen in early 2018.

The 360-snapshot viewer received an overdue update which, while suffering from pro resolution issues, did streamline the production of 360-images. This was the only update to the viewer in 2017, leaving it as project viewer status. More work will be forthcoming in 2018.

The revised snapshot floater in the July 2017 360-snapshot project viewer

The Lab also restated their desire to continue with Linux, by offering a Debian build of the viewer – but only with the help ogf the Linux community.

Other updates for the viewer in 2017 included custom folders for uploads, the launch of a new release candidate branch of the viewer specifically to manage fixes and updates to the viewer’s rendering pipe, the first pass at improving region / estate ban lists for estate owners,  the viewer’s avatar rendering options (right-click context menu and Preferences > Graphics) were improved to allow users to better define how avatars around them are defined. New region / parcel access controls were introduced and a WORN tab was (finally) added to the inventory floater. There was also the ongoing series of Maintenance RC releases throughout the year, aimed specifically at fixing bugs and issues, which in 2017 gained their own code-name series, each one being named for an alcoholic beverage.

Other Updates and Changes

You can follow my updates on SL technical developments and updates through the likes of my weekly SL project updates and weekly viewer release summaries (which also cover TPV releases).