SL project updates 2017 12/2: TPV Dev and Content Creation meetings

The Heart of the Seablog post

The notes in this update are taken from the following sources:

  • Content Creation User Group meeting, held on  Thursday March 23rd, 2017 at 1:00pm SLT
  • The TPV Developer meeting held on Friday, March 24th, 2017 at 12:00 noon SLT.

A video of the TPV Developer meeting is included, and timestamps to it are included in the text, where relevant. Notes from the Content Creation User Group appear towards the end of this update.

SL Viewer Pipeline

Maintenance RC Re-issue

On Thursday, March 23rd, the Lab released a new Maintenance RC viewer – version 5.0.5.324882 – to replace the faulty March 16th release.  As such, it includes the same set of updates, and I’ve written an overview of the core changes.

Voice RC

[0:19] The Voice RC viewer, version 5.0.4.324770, has a problem with the SSL Certificate Authorities update included with it. This triggers some code deep within the viewer which should not be triggered. This tends to affect TPVs for than the official viewer (the issue was actually noted by Firestorm). It’s be at least a couple of weeks before this matter is resolved, and until it is, the Voice RC viewer will not be progressing, and the Lab is unlikely to expand the cohort of users running it. Alongside of this, but separate to is, is an issue which is giving the viewer a higher than expected crash rate. which is also being looked into. Additionally, among the updates to this viewer and not included in the release notes, is support for the Opus Interactive Audio Codec, although server-side support is still required. This should eventually see further Voice quality improvements.

64-bit Project Alex Ivy

[3:10] As noted in part 1 of this week’s update, the 64-bit viewer was updated on Friday, March 17th to version 5.1.0.503537. This viewer is showing a significantly lower crash rate, although it does have some other issues. It should have a further update in the next two weeks.

360 Snapshot Viewer

[4:06] It appears unlikely that the 360 snapshot viewer will be update in the next week due to the ongoing work with the 64-bit viewer.

Asset Fetching Via HTTP

Vir Linden has been focused on the viewer side of this work, which will see the remaining inventory asset classes – landmarks, gestures, animations, shapes, sounds and wearables (system layer clothing) – switch from UDP delivery through the simulator to HTTP delivery via the via the Content Delivery Network(s) the Lab uses.

[4:42] The viewer for this work may be appearing in week #13 (week commencing Monday, March 27th). However, this is dependent on some back-end web configuration work being completed so that the required simulator changes can be correctly enabled on the Main grid.

Once these remaining assets have been shifted to delivery to the viewer via HTTP / CDN, the remaining UDP messaging for asset delivery will be turned off on the simulator end. This may be around July / August time (to be confirmed once the HTTP updates have reached release status), and will mean any older viewers still using UDP messaging for asset data fetching will be unable to do so.

New JIRA – Soon

[14:35] There is a new JIRA update coming, in line with recent updates made by Atlassian. It is currently on internal testing at the Lab, but there is no time frame as to when it will make a public appearance.

FMod Studio

[16:00] Around the start of the 64-bit viewer project there was a potential for an open-source contributed project for using Fmod Studio with viewer audio. This is likely to be re-examined, and if found suitable it may be up for adoption. However, given it will require a licence, which is likely to take a while to be processed by the Lab, it will not prevent the 64-bit viewer progressing forward toward release. Instead, the code module will be integrated as and when the licence has been obtained.

Content Creation Meeting Round-up

Animation Transitions: as noted in my March 9th CCUG meeting notes, people have been noting issues with animation playback, some of which appear to be related to llSetAnimationOverride, one of the server-side functions for controlling your animation state (see  BUG-7488 as an example).

Vir has been looking at this, but no definitive cause has been found. One suggestion is that it might be related to  Walk Adjust cutting in, which can occur when transitioning from standing to almost any other state when using llSetAnimationOverride. Although is that some transitional animation, such as a pre-jump or landing might be accidentally set to loop, causing an apparently freeze / lock. Vir will continue to poke at this.

Avatar Rendering Calculations:  work continues on refining the rendering cost calculations for avatars. However, this work is still not ready for shipping. Theses adjustments are twofold: to account for more “recent” changes which have been made since the system was last properly evaluated, and to address known issues in how the calculations are made.

Applying Baked Textures to Mesh Avatars: this is still on the short list, but is not an adopted or active project within the Lab as yet.

Rigging Animated Attachments to the Skeleton: there are issues trying to rig animated attachment to the avatar skeleton (e.g. a set of nunchaku or a gun that twirls before being holstered). While they may work OK using a specific avatar shape, problems can occur should the shape be changed (e.g. the nachaku  / gun no longer accurately positions relative to the hand). Medhue Simoni suggests items like this might be rigged and animated to the relevant attachment point instead.

NPCs / Animated Objects: this is still not a formal project at the Lab, but there has been some discussion on the potential feature set, were it to become a project.

Scripted method to position bones: see BUG11407. VIr’s concern with this approach would be the level of complexity / risk of conflicts with animations / need to expand the scripting capabilities on the back-end in order to make full scripted positions of bones useful. However, within the meeting, it was seen as being more useful in being able to fine tune poses for things like photography (e.g. to prevent hands vanishing into breasts or thighs), and thus supplant something like Anypose. As a result, Vir’s agreed to look at tools like Anypose and have a fresh look at the JIRA.

Other Items

Bento Ridable Horse

Strawberry Singh has all the information on a new Bento Rideable horse, which has a release had of Saturday, March 25th. As the name implies, this is a horse which makes full used of the Bento skeleton extensions (so when worn, it is an extension of your avatar).  Berry has produced a tidy video on the horse, and I’ll finish this update by embedding it – read Berry’s blog post for the specifics.

Advertisements

Behind the scenes with Bento in Second Life

Bento: extending the avatar skeleton
Bento: extending the avatar skeleton

Note: this is a compressed version of an article which first appeared in Kultivate Magazine’s January 2017 issue, and which here includes some personal feedback on being peripherally involved in the project.

There can now be few – even among those having only joined Second Life in the last few months – who cannot be aware of project Bento, the work to significantly enhance the Second Life avatar skeleton to better support mesh avatar models, how they are animated and how they might be customised. I was able to observe Bento almost throughout its lifespan. As such, I thought more of a look inside the project might be of interest.

Bento’s heart comes in the form of one person: Vir Linden. Despite the avatar skeleton being one of the most fundamental parts of Second Life which could if interfered with, cause all sorts of issues, Vir was convinced things could be done to make the lot of mesh avatar creators and animators much easier, and without putting additional stress on either the simulator or the viewer. So in early 2015, he started looking at what might be achievable.

Vir Linden, Senior Software Engineer at Linden Lab, and technical project lead for Bento
Vir Linden, Senior Software Engineer at Linden Lab, and technical project lead for Bento

By roughly April 2015 he felt he had enough information to put together a presentation he could put before senior staff at the Lab. Despite the ambitious nature of the project, potentially adding (at that time) 106 new bones to the avatar, the response was enthusiastic and positive. Troy Linden joined Vir from the Product Team, and Bento was born.

Initially, the work was in-house, involving Lab staff and the Moles. However, as the potential  for the project grew, it quickly became apparent that wider expertise would be needed to both give input to the project and help steer the development work. And so it was that a core Bento User Group came together, comprising Lab staff with expertise with the viewer, with the server, and – most significantly – content creators noted for their expertise in developing mesh avatars and avatar accessories (human and non-human), and the people behind the most popular tools for avatar creation and animation: Gaia Clary and Matrice Laville (Avastar) and Cathy Foil (Mayastar).

Like, Vir, Cathy, Gaia and Matrice deserve special recognition for their work on Bento. Not only did they embrace the project and work to update their products to support Bento, they also took on a lot of the grunt work involved in updating essential code used by the viewer to make Bento happen – and they were enthusiastic about doing so. If you make use of a Bento head and are adjusting things using the sliders, offer a word of thanks to the three of them: they’re the people who carefully went through the avatar files in the viewer to get as many of the sliders as possible working with the new facial bones for you to be able to do so.

Vir linden (foreground) and Matrice Laville at a Bento project meeting
Vir Linden (foreground) and Matrice Laville (in the top hat, left) at one of the closed user group Bento project meetings (note the fellow in the top hat to the right of the picture is Rider Linden)

Bento meetings initially took place at a small desert island on Agni, the Main grid. This sat on its own channel to ensure the necessary tweaks to the simulator end of things could be made to try out ideas and options and generally lay the foundations of the project. This work progressed over a period of just over six months until there was a good level of confidence that the project could be taken to the next stage.

This involved moving things to Aditi, the beta grid, and opening things to the public at large. The use of Aditi meant that more extensive testing of simulator and viewer changes could take place, more space could easily be made available for people to experiment, and more people in general could get involved. In time, these meetings would eventually move back to the main grid. It also marked the start of my ability to publicly report Bento progress on an almost weekly basis.

Bento enables much more flexibility when creating and animating human and non-human mesh avatars
Bento enables much more flexibility when creating and animating human and non-human mesh avatars

At the start of the public phase of Bento, the skeleton had stabilised with some 92 additional bones – 60 of which were evenly split between hands and head. However, as the work progressed, this number tended to vary for a time as the need for further bones was identified while some of the new bones were found to be redundant and could be removed. As the same time, additional use cases for Bento were proposed, with every effort being made to incorporate as many as practicable. There were even some fundamental shifts made in how Second Life functions so that more could be achieved through Bento.

An example of this lies with bone translations and rotations. In essence the SL animation system had always worked on the assumption that sliders only affect translation and scale whilst animations only affect rotation, allowing both to work cooperatively.As the animation system was not necessarily seen as an intrinsic part of Bento, little thought was initially given to changing it. However, during the public beta phase of the project, a strong case was made for allowing both translation and rotation through animations – and as a result, the necessary updates were made to the animation system to support this without potential conflicts occurring.

Continue reading “Behind the scenes with Bento in Second Life”

SL project updates 2016 51: server, simulator OS update

DRD Arctic Express
DRD Arctic Expressblog post

Server Deployment

While the No Change window was supposed to have come into operation on Friday, December 16th, there was indeed a deployment to the Main (SLS) channel on Tuesday, December 20th. It comprised the same server maintenance package as deployed to the RC channel in week #50, comprising internal logging changes.

The deployment means that all of the server channels on the main grid (Agni) are now running the same simulator version. As there are no planned deployments to the RC channels, all four channels should remain on this release until deployments resume after the holiday period.

SL Viewer

We might see a 64-bit project viewer appear during the week. However, at the time of writing,  the list of viewers in the various pipelines remains as:

  • Current Release version: 5.0.0.321958, dated December 1st, promoted December 5th – formerly the Project Bento RC viewer.
  • Release channel cohorts:
    • Maintenance RC viewer, version 5.0.1.322219, dated December 9th – some 42 fixes and improvements + Bento support
  • Project viewers:
    • 360-degree snapshot viewer, version 4.1.3.321712 dated November 23rd – ability to take 360-degree panoramic images – hands-on review
  • Obsolete platform viewer version 3.7.28.300847 dated May 8, 2015 – provided for users on Windows XP and OS X versions below 10.7.

Bento Support

With the release of Kokua for Second Life 5.0.0 and RLV 2.9.21 (see my article here), the following currently maintained viewers all have Bento support: Black Dragon, Catznip, Cool VL, Firestorm, Kokua for Second Life, Restrained Love. Alchemy is expected to update to include Bento “soon” and UKanDo is still awaiting a complete overhaul.

In terms of clients with 3D viewing capabilities, Radegast has been updated to support Bento, but the update is pending release. Lumiya for Android will have Bento support added “soon” (Lumiya 3.3 with Voice support released on Sunday, December 18th, and my review is available here).

Simulator OS Update

The Lab is in the process of updating the operating system on the simulator servers. At the moment the new OS version is installed on a number of regions on Aditi (the beta grid), including: Fire Ants 1, Fire Ants 2, Grasmere, Oak Forest, and Twilight Shores, not all of which are open to the public.

“This is one of those ‘features’ that might perform a bit better, but otherwise is a success if it behaves exactly like our current servers,” Simon Linden said at the Simulator User Group meeting on Tuesday, December 20th.

“We’re in the starting process of testing things. We have a lot of testing to do. [We’re] updating from an old version of Linux to a not-so-old version of Linux,” April Linden added. “Just to keep things moving. All the usual reasons. Performance updates, security, etc.”

Second Life hits a lot of low-level server code hard, including networking, memory and multi-processing. The overall hope is to have the newer revisions of the operating system will improve these. Expect this work to reach Agni in early 2017.

Group Chat

Group chat was long a bane of Second Life. In 2014/15 however, the Lab put a considerable amount of work into improving things, although some issues remain. One of these is that if an individual role outside of the default “Everyone” has a very high number of group members assigned to it (e.g. several thousand), it can dramatically impact things like group chat performance and can prevent the members’ list loading. One solution might be to delete the role (converting those in it to Everyone).

SL project updates 2016 50/2: re-caps and Content Creation UG

Fris' Land, Liebe; Inara Pey, December 2016, on Flickr Fris’ Land, Liebeblog post

Server Deployments – Recap

As always, please refer to the server deployment thread for the latest updates and information.

  • On Tuesday, December 13th, the Main (SLS) channel received the same server maintenance package, as deployed to the RC channels in week #49. This includes the following feature requests: BUG-6377 – llGetObjectDetails(id,[OBJECT_ATTACHED_SLOTS_AVAILABLE])  and BUG-40871 – llGetEnv() constant “region_object_bonus”.
  • On Wednesday, December 14th, all three RC channels received the same new server maintenance package, comprising improved internal server logging.

SL Viewer

The official viewers list remains unchanged from earlier in the week:

  • Current release viewer, version 5.0.0.321958, dated December 1, promoted December 5 – formerly the Project Bento RC viewer download page, release notes
  • Maintenance RC viewer, version 5.0.1.322219, dated December 9th
  • 360-degree snapshot viewer, version 4.1.3.321712, dated November 23rd.
  • Obsolete platform viewer, version 3.7.28.300847, dated May 8th, 2015 – provided for users on Windows XP and OS X versions below 10.7.

No Change Window

A reminder that the end-of-year No Change window comes into effect from Friday, December 16th. There will be no further planned server deployments or official viewer promotions after that date, through until Monday, January 2nd, 2017.

Content Creation User Group

On Thursday, December 15th, the Project Bento User Group officially morphed into the Content Creators User Group (thus in a way  also now standing as a revamp of Nyx Linden’s old group).

Meetings will continue to take place at 13:00 SLT on Thursdays, at the Hippotropolis camp fire circle, with the exceptions of Thursday, December 29th and Thursday, January 5th. Anything related to Bento remains on topic for the group, but things of general interest to content creators are also open for discussion.

New Bento Issues

Bento is generating considerable interest among users – as witnessed by the release of Firestorm 5.0.1, when demand overwhelmed the Firestorm servers, and additional mirror services had to be set-up, with assistance from the Lab in doing so. However, some further issues have been identified as a result of Bento reaching a broader audience:

  • BUG-41063 – [Bento] Some Fitted Mesh No Longer Fits on Bento Avatars
  • BUG-41048 – [Bento] When wearing some Bento content, all walking animations freeze

The first of these bugs has been accepted by the Lab and is being investigated. The second appears to be most notably related to animations using the Bento wing bones, which appear to be overriding animation walks, causing an avatar to slide along the ground, rather than walking.

The issue particularly seems to impact walk animation using the llSetAnimationOverride capability, while older ZHAO systems (which tend to use the llPlayAnimation capability, appear to be unaffected. This may be due to the manner in which the latter handle start / stop animations calls, which is successfully preventing the issue manifesting with them.

The underlying cause is thought to be a possible animation priority setting / conflict or possibly the result of the wing bone animations having bone positions being set for all other, but not rotation data – but further investigation is required. Vir has taken samples of items which can cause the issue (again, notably, but not necessarily limited to, wings), and is going to have a poke at them to see if he can see what is going on.

Elsewhere, creators are waiting on Avastar to update, and Damien Fate has a rather neat HUD to help animate Bento hands and fingers. It’s unlisted, so I’m linking to it, rather than sharing it via embedding.

Fun Fact

The new Linden Lab portal parks have a LI capacity of 45,000 (with thanks to Cube Republic and Arton Rotaru for the pointers).

Portal Park LI capacity
Portal Park LI capacity