SL project updates 51/3: Project Bento initial feedback

Vir linden (foreground) and Matrice Laville at a Bento project meeting
Vir Linden (foreground) and Matrice Laville, Rider Linden and Flea Bussy (right) at a Bento project meeting

On Wednesday, December 16th, the Lab issues the Project Bento viewer, version 5.0.0.309171. This viewer introduces extensions to the standard Second Life avatar skeleton providing dozens of new bones to support both rigging and animation, and accompanying new attachment points. It is fully backwards-compatible with existing avatars, rigging and animation. The skeleton extensions include:

  • 11 extra limb bones for wings, which could also be used for additional arms, or extra legs.
  • 6 tail bones
  • 30 bones in the hands
  • 30 bones for facial expressions
  • 2 other new bones in the head for animating ears or antennae
  • 13 new attachment points associated with the new bones

Read the official announcement for more (my report is here). I’ll be providing more updates and background notes to the project in due course.

There has already been some detailed discussion on the Bento forum, including some concerns raised about the nature of the initial work being a “closed beta”. This is something of a misconception, as the project has been an iterative and shared process between the Lab and the content creators invited to participate in defining how the avatar skeleton could best be improved, what needed to be considered for backwards compatibility, etc., As such, it is only now that any beta can be considered to have been initiated – as Oz Linden explains in the forum, with Vir Linden also noting:

Nothing is final until we go to the main grid. The purpose of the testing period on Aditi is to identify and if possible fix any issues with the proposed skeleton. It’s possible we will add, remove or change bones as a result of feedback from the project viewer – so bone suggestions or bug reports are both very much fair game.

Project Bento also came in for significant discussion at the TPV Developer meeting on Thursday, December 18th, as noted below (see also the meeting video).

Potential Non-Bento Viewer Crashes

Concerns have been raised over avatars using Bento updates potentially crashing viewers which do not yet have the updates. however, the Lab has indicated that uploads using the new Bento skeleton will remain blocked on the main grid until the viewer code reaches RC status (see below), which should limit the risk of issues.

In addition, the Lab indicates it has pro-actively incorporated a range of bug fixes into recent versions of their viewer, up to and including the 4.0.0 CEF release, which are intended to handle a number of situations  where a crash might result from a viewer without the Bento updates encountering an avatar using the Bento skeleton. It is hoped that by the time the Bento viewer does reach RC status, these fixes will have propagated out to TPVs, and will help prevent any potential clashes between viewers lacking the Bento updates and avatars using the new skeleton until such time as all viewers and release versions with the Bento code.

An avatar using the Bento skeleton, as modelled by Matrice Laville
An avatar using the Bento skeleton, as modelled by Matrice Laville

Bone Translation as Well as Rotation

One concern / suggestion already raised is on the matter of providing bone translation rather than just rotation in order to better handle facial expressions (see BUG-1090, “[Bento] A formal method of bone-translating animations is vital for the creation of proper facial expressions”).  This bug was raised at the TPV Developer meeting, with Vir Linden commenting:

 

This is obviously a very complicated and controversial topic; there’s been a lot of feedback about it in the forums. Where we are right now is, animating positions is not something we ever supported on purpose, which means that our code for it …  it doesn’t work particularly well in the viewer. And our hope is, with adding the new joints, that workaround would no longer be needed to do interesting, alternate avatar shapes.

So the plan, and the way I believe it is currently configured is that on Aditi, uploads of animations that alter positions shouldn’t be allowed. And the intent there is to make sure we’re exercising the alternative pathway and making sure we actually can create the kinds of avatar people want to create using the new Bento skeleton without positions.

That’s where we are right now, but obviously, we’re in the very early stages of testing Bento, and we don’t really know for sure yet whether there are cases where this is required or not until people have actually exercised it. So that’s the kind of feedback we’re hoping to get: people trying different things and letting us know what can and can’t be done in this alternate paradigm which we think is a bit better supported.

As to the specific proposal to have translations for facial expressions, I’m really curious to how that would work. We talked about it when we were putting together the skeleton, and it seemed like it would be kind-of incompatible with the notion of any kind of avatar scaling. If you make the head bigger, or the whole avatar bigger, your translation-based facial animation, it seems like, is not going to scale up with the size of the head. So I’m not sure how well that would work. In any case, I’ll take a look at the report in more detail, and may want to respond to specifics in there, but that’s where we are overall with position animations right now.

It is just disabled on Aditi … for testing Bento, and nothing is final until we go to the main grid. But our hope is that this is just a temporary work-around that you’re not going to have to have, since it doesn’t work particularly well currently.

To this, Oz Linden added:

I think it will help inform that, and any other discussion of how the new skeleton extensions and restrictions work, [is] to try to make everything very concrete. That is, the assertion that “A” cannot be done, or that given the current restrictions, “A” cannot be done well, I think would be well-informed by having people share, publish what exactly they tried to do and exactly what the results are, and share the animation files and the meshes and the rigging and all that; so that everyone can see very, very specifically, what’s going on.

And  it may be that there are different ways to do what people are trying to do, and that they can accomplish a satisfactory result in a different way, and we can all learn what that is, or collectively discover that they can’t, and we need to make some adjustments.

But the assertion that XYZ can never be done, in general and with no specific example, doesn’t really help us to make good decisions.

Potential Timeline for Bento

Uploading of content designed to use the Bento skeleton  to Agni (the main gird) will remain blocked until such time as the Bento viewer reaches release candidate status.

This is unlikely to be much before the end of February 2016, partially because of the Christmas / New Year break, but also to give plenty of time for testing on Aditi and to provide feedback which may help the Lab in making further changes if needed, as per the comments above. It is also hoped the long lead-in time will give everyone the confidence that Bento is going to be something content creators are able to effectively use.

Feedback on Bento

SL project updates: 51/2: TPVD meeting, Aditi inventory changes

Whispering Wind; Inara Pey, December 2015, on FlickrWhispering Wind (Flickr) – click any image for full size

The following notes are primarily taken from the Server Beta User Group meeting of Thursday, December 17th and the TPV Developer (TPVD) meeting held on Friday, December 18th 2015. A video of the meeting is included at the end of this report, my thanks as always to North for the video recording and providing it for embedding.

Server Deployments – Recap

  • On Tuesday, December 15th, the Main (SLS) channel received the server maintenance package previously deployed to all three RC channels, comprising simulator crash fixes, and implementing feature request  BUG-10192.
  • On Wednesday, December 16th the three RC channels all received the same new server maintenance package, comprising crash and internal simulator fixes, LSL HTTP requests accessing data sources that require non-text Accept headers (such as the Destination Guide), updates to group member counts to help deal with recent group database issues.

There will be a further main (SLS) deployment on Tuesday, December 22nd, which will mark the final scheduled deployment for 2015.

SL Viewer Updates

Release Viewer

On Thursday, December 17th, the Chromium Embedded Framework viewer was promoted to the de facto release viewer, version 4.0.0.309247. This viewer replaces the ageing LLQTWebKit system used in the Web media plugin with a new one based on the Chromium Embedded Framework (CEF) that supports modern web technologies.

RC Viewers

The Vivox and HTTP RC viewers, currently version 3.8.7.307744 and 3.8.7.308134 respectively, are being merged into a single release candidate. This RC will also include the CEF updates, and the remaining Maintenance (currently version ) and Quick Graphics (currently version 3.8.7.308556) RCs will also be updated to include the CEF changes.

However, again due to the annual Christmas / New Year no change window, no further viewer releases are anticipated before the week commencing Monday, January 4th, 2016.

TLS 1.2 Implementation

As well as supporting the Chromium Embedded Framework  capabilities for media, the latest release viewer (4.0.0.309247, as noted above) also sees the LL viewer fully support TLS 1.2, which is an important point for TPVs to note, as Oz explained at the TPV Developer meeting:

That is going to be critical by next spring. Anything that does not support TLS 1.2, will not be able to do any interactions with cashier or anything that involves money. This isn’t optional on our part or just an arbitrary choice on our part, this is a compliance requirement. so, be looking for that in your own stuff; if you don’t support TLS 1.2, your users won’t be able to do anything that involves money, because we will have switched off everything earlier than that server-side.

When this change comes into effect, it will mean those users accustomed to using very old versions of viewers are going to have to move to currently supported versions of those viewer if they wish to do anything involving money.

Project Bento

On Wednesday, December 16th, the Lab issues the Project Bento viewer, version 5.0.0.309171, offering an enhanced Second life avatar skeleton. This viewer and the associated support for it, is currently in open beta, and can be tested using the Aditi (beta grid). You can read the Lab’s announcement, and my own initial coverage as background.

The project did come up for discussion at the Third Party Developer meeting on Thursday, December 18th, and I’ve provided a separate report on the matters discussed.

Aditi Inventory Syncing

Recently, people have been experiencing assorted issues when attempting to log-in to Aditi, the beta grid (see here for an example).  As a result of these various issues, the Lab has made changes to the Aditi log-in process, and one of these changes will affect how inventory is synced between the two grids.

Up until now, inventory syncing between the two grids (so that your inventory on Aditi matches your inventory on Agni) has been a manual process: change your Second Life log-in password and this triggers an update to your Aditi inventory (which could take 24-48 hours to apply).

With the new update, which will be coming into effect in the near future, changing your password no longer triggers an Aditi inventory update. Instead, a new methodology is employed, as Coyot Linden explained at the Server Beta meeting on Thursday, December 17th:

The current method of syncing accounts from Agni to Aditi has … issues,  even when you wanted it to happen, it sometimes wouldn’t and when it did it overwrote inventory. Now, there are two major differences: 1. It MERGES AGNI inventory into ADITI inventory instead of overwriting; 2. It is based on whoever has logged into ADITI in the last 24 hours when it runs in the middle of the night SLT. No changing passwords any more.

The merging means that items unique to people’s inventories on Aditi (items they have created there but not replicated on Agni) will no longer be overwritten. However, duplicates of items will not result from the merge, as Oz Linden explained:

If an item is only on Aditi, it will still only be on Aditi; if it was only on Agni, it will be added to Aditi, if it was on both you will have just one copy on each grid … When you “modify” an object, you’re really making a new object, so yes, it knows that it has been modified… they are no longer the same object.

The upshot of this is that as this update comes into effect, changing your SL password will no longer trigger your Aditi inventory being overwritten by your Agni inventory; instead, a nightly process will run automatically, and anyone who has logged into Aditi since the last time the process ran will have their Agni inventory merged into their Aditi inventory. If you are logged-in when the process runs, a re-log will be necessary to see the updated inventory.

Continue reading “SL project updates: 51/2: TPVD meeting, Aditi inventory changes”

Firestorm’s Xmas party and the Ghost Town in Second Life

Image courtesy MadPea Games

Saturday, December 19th, 2015 marks Firestorm viewer’s official 2015 Christmas Party, and with it comes the opening of The Ghost Town, the first in a series of free-to-play games developed by MadPea Games. These games are intened to give new residents coming through the Firestorm Gateway a means to become more familiar with Second Life through active game play.

The Christmas party will kick-off at 14:00 SLT, which will also see The Ghost Town open its gates to players, features entertainment from Mankind Tracer, Changhigh Trinity Sisters Fireshow and DJs. The entertainments area has been arranged so that around 200 people should hopefully be able to access the party, with three points of entry provided:  Region 1, Region 2, and Region 3.

FS-MP-Party-Poster2015

The Ghost Town sees players tasked with  investigating the recent disappearance of local fisherman Big Jimmy. Guided by his journal and equipped with a special camera, players follow the clues left by a mind gone mad and discover the terrible truth behind Big Jimmy’s recent activities.

“New residents who stay and play in our virtual world are essential to the continued success of our grid,” MadPea say of The Ghost Town. “Whilst Linden Lab continue to work to attract new residents once they join and enter the world, we will be doing our part to ensure that they realise the rich, user-created content that is on offer. We hope that by playing our games new residents will learn skills that will help them over the steep SL learning curve while having some fun and collecting some prizes.”

What is the dark secret behind "Big Jimmy's" disappearance - and where will his journal lead new users in Second Life?
What is the dark secret behind “Big Jimmy’s” disappearance – and where will his journal lead new users in Second Life?

As with all MadPea games, The Ghost Town is HUD-driven, and as with their most recent games, utilises experience keys to make game play easier. Gameplay takes place within the Firestorm Gateway regions, where they have to collect the images of 20 “ghosts” using the camera (HUD). Once all 20 have been imaged, players are eligible to claim their prizes.

The prizes on offer have been selected on the basis of being of value to new users and helping them enhance their Second Life experience. They have been provided by creators representing the rich choice of content available in Second Life: abranimations®, Apple Fall,, Black Pearls, Bryn Oh, Cheeky Pea, Deadwool, Elikatira, junk. Lapointe and Bastchild, Lilith’s Den, Plastik, Pose O’Clock, Sn@tch, Snowpaws, The Little Bat, TrAsHeD, United Color, WarBug and zombie suicide.  The MadPea and Firestorm teams both extend their thanks to all of those who came forward with the offer of prizes.

The Ghost Town awaits players new and old
The Ghost Town awaits players new and old

New players will be drawn into the Firestorm gateway through a series of dedicated web landing pages that are in developments (Linden Lab, and quite separately to the gateway trial programme, also use targeted landing pages to attract new users from specific audiences, so it is an approach which seems to yield results). Obviously, existing users are also able to play the game – hence the launch alongside the Firestorm Christmas party.

So, if you’re in the mood for a party, and fancy a spooky new game – hop over to the Firestorm Gateway regions using the region links towards the top of this piece.

Project Bento: avatar skeleton enhancements for Second Life

On Wednesday, December 16th Linden Lab officially announced Project Bento which brings a range of avatar skeleton enhancements to Second Life.

The project has been in progress for the last several months, with the Lab working in collaboration with a number of noted Second Life content creators who specialise in avatar shapes, bodies, and animations. I’ve been fortunate enough to be very peripherally involved in the project myself, with the aim of documenting some of the process involved – and I’ll be providing more on that in an upcoming article.

The blog post announcing Project Bento explains the reason and focus of the work thus:

We know how much work, value, personalization and emotional investment goes into a Second Life avatar, so we have always been careful when considering avatar changes. While we want to make improvements, we also want to maximize backward compatibility. Get ready for the biggest thing that’s happened to avatars in years …

Ever wish you could incorporate a tail, wings, or second set of arms into your avatar? How about having animations for facial expressions and finger movements? Yes, we know that there are some incredibly creative workarounds that give you some of these, but they can’t leverage skeletal animation, so they have been very complex, often fragile, and very expensive in performance and resources both in your Viewer and the Simulator.

We are introducing extensions to the standard Second Life Avatar Skeleton that give you dozens of new bones to support both rigging and animation, and accompanying new attachment points! This extended skeleton, which is fully backward compatible with existing avatars, rigging and animation, gives creators the power to build more sophisticated avatars than ever before.

Project Bento has involved staff from Linden Lab, notably Troy Linden, Oz Linden and Vir Linden, together with assistance from Alexa Linden, Simon Linden, Rider Linden, Aura Linden and others. It has also involved SL content creators including the folk from Avastar, Cathy Foil, Toady Nakamura, Siddean Munro and Flea Bussy
Project Bento has involved staff from Linden Lab, notably Troy Linden, Oz Linden and Vir Linden, together with assistance from Alexa Linden, Simon Linden, Rider Linden, Aura Linden and others. It has also involved SL content creators including (but not limited to)  the folk from Avastar, Cathy Foil, Toady Nakamura, Siddean Munro, Tyr Rozenblum, and Flea Bussy

In particular, Bento sees the introduction of the following Skeleton extensions:

  • 11 extra limb bones for wings, additional arms, or extra legs.
  • 6 tail bones
  • 30 bones in the hands (all 10 fingers!)
  • 30 bones for facial expressions
  • 2 other new bones in the head for animating ears or antennae
  • 13 new attachment points associated with the new bones

The changes involve both simulator updates and changes to the viewer. The former have already been deployed to the grid, being the “secret” update made in week #48, alongside the need validation enforcements for attachment point IDs and to prevent the upload of animations and meshes weighted to invalid attachment points; however, they are not yet active.

To mark Project Bento, Alexa Linden has updated her Linden Bear, now available on the Marketplace
To mark Project Bento, Alexa Linden has updated her Linden Bear, now available on the Marketplace

This is because the Bento work is still in project status – the announcement is intended to inform people about the work and seek feedback from more creators / animators. This can be given via the Project Bento forum thread, with specific bugs bugs or issues reported by the Project Bento JIRA class.

To try out the new skeleton updates, you will need the  Bento project viewer (which sees the viewer iterate to version 5.0), and because the project is still a work in progress, you’ll need to upload any content using the new skeleton extensions to the Aditi (beta) grid – most regions on Aditi should allow this, although some may be in use for other testing and not yet have these updates. Additional documentation is also available, together with notes on testing.

Commenting on the launch of the project, Oz Linden had this to say (from 37,000 ft whilst flying across America!), in recognition of the extensive input made to the project by content creators, which has included modelling and testing the skeletal changes, advising on viewer updates, putting forwards ideas for possible future extensions to the project, and a whole lot more.

Thank you Thank you Thank you .. we could not have done it without you

Draxtor Despres and I will be covering more of the background story on Project Bento in the near future, including a Drax Files World Makers special on the project in January.  Keep your eyes peeled!

With thanks to Matrice Laville and Gaia Clary for the video.

 

SL project updates 51/1: server, misc items

Kaleidoscope; Inara Pey, December 2015, on FlickrKaleidoscope (Flickr) – blog post

Server Deployments

As usual, please refer to the server deployment thread for the latest updates / news.

  • On Tuesday, December 15th, the Main (SLS) channel received the server maintenance package previously deployed to all three RC channels. This package comprises simulator crash fixes (including one for the issue found during the original final testing of the package in week #49) and implements feature request  BUG-10192: adding constant OBJECT_OMEGA to llGetObjectDetails(), so that it can return a vector matching what is returned with llGetOmega(), allowing applications to determine an object’s rate and axis of rotation.
  • On Wednesday, December 16th the three RC channels should all receive the same new server maintenance package, comprising:
    • A simulator crash fix and internal fixes
    • LSL HTTP requests can access data sources that require non-text Accept headers (such as the Destination Guide)
    • Some of the group member counts as reported in the viewer will now be larger. These member counts will include inactive users, and will only updated on a daily basis. This change is to help with some of the problems we have encountered recently with group functions.

This last item is intended to help with the group database issues I reported on in my last project updates report.

SL Server

There have been no updates within the viewer release channel, leaving things as they were in the latter half of week #50:

  • Release viewer: 3.8.6.305981, dated October 26 and formally the Notifications RC viewer
  • Valhalla RC viewer, version 4.0.0.308641 and dated December 7th, comprising the Chromium embedded Framework updates to replace LLQTwebit
  • Maintenance RC viewer, version 3.8.7.308556 and dated December 3rd, comprising over 30 fixes, updates and enhancements
  • Azumarill RC viewer, version 3.8.7.308134 and dated November 25th. comprising a complete replacement of the under the hood HTTP infrastructure within the viewer
  • Vivox RC viewer, version 3.8.7.307744 and dated November 17th, comprising a number of Voice quality and connection issues on both Windows and the Mac
  • Quick Graphics RC viewer, version 3.8.7.306758 and dated November 12th, containing the new Avatar complexity code and the ability to create, save and load graphics presets – see here for more.

Similarly, the Oculus Rift project viewer remains unchanged, and the obsolete platforms viewer remains available.

As there has not been any TPV Developer meeting in the last three weeks, it is hard to determine the overall status of these viewers, or what (if any) the delay is in promoting one of those which had looked set to become the de facto release viewer (the Maintenance viewer looked most likely, following recent issues with the HTTP RC viewer).

Animation Syncing

BUG-7729 is the latest iteration in a long-standing request related to syncing animations, the idea to be to present a consistent view of animations, rather than having animations (e.g. couples dances, etc), either start out of sync or drift out of sync. Commenting on the idea at the Simulator User Group meeting on Tuesday, December 15th, Simon Linden said:

[It’s] part of a list of script feature requests we’ve looked at and said “that’s a good idea and would be nice to do someday”, and it probably involves a new message between the server and viewer. But I totally agree that it would be nice … I’ve seen way too many funky animations glitches due to them being out of sync.

There is certain information that the viewer has which should allow it to more easily track animations and help to maintain sync being avatars using them; however, things get complicated when the user is camming around, which can cause Interest list updates to come into play, or the arrival / departure of other avatars can have an impact, all of which can cause animations to drift out of sync.

One of the concerns with BUG-7729 is that it could evolve into a fairly major project, involving both server and viewer updates and the potential need for new messages, as Simon notes above, hence why he stated on leading-in to the discussion:

When we pick what to work on, the obvious high priority things are stuff where the grid is breaking (like the group db problems) or crashes or exploits, then it’s a matter of figuring out the best thing for a limited effort .. some projects are just too big.

As such, it would seem that a more economic solution in terms of scale possibly using what information the viewer already has, or what it might do, might be a preferable approach.

Firestorm, for example, already has a Resync Animations button, which can be a one-stop means for someone to resync the animations in their personal view should they show signs of drifting. The suggestion is that something like this, or a simple timed adjustment to sync animations might stand a better chance of implementation, were it to be contributed to the Lab for implementation into the viewer.

Black Dragon 2.4.4.5

Blackdragon logoBlack Dragon, the v3-style viewer by NiranV Dean updated to version 2.4.4.5 (aka version 4.0.0.36527) on Monday, December 14th.

The update primarily includes fixes for issues with Niran’s implementation of Avatar Complexity, and for crash issues, and includes a refactored Places floater.

Niran introduced Avatar Complexity in version 2.4.4.4 of Black Dragon. As I noted when reviewing that release, the split between controls Niran had introduced meant that it could require some juggling with the sliders to get things settled when making random adjustments. However, the was a slightly worse issue for Black Dragon users in that many found that by default, all avatars around them were either “jelly babied” – appearing as a single solid colour to reduce the rendering load on their computer – or not at all.

The reason for this seems to be that Niran missed the fact the LL code sets a default value for Avatar Complexity, based on the anticipated graphics performance of the system on which the viewer is installed, as calculated by the viewer on initial start-up – something he removed from Black Dragon a while ago.  Thus, avatar rendering was defaulting to an exceptionally low value, causing avatars around the user to appear as “Jelly Babies”.

Niran has now introduced his own default value to the viewer, which should correct things. Some users may find it worthwhile playing with the sliders to achieve an ideal for their system / circumstance. He also offers a brief explanation of Avatar Complexity, which essentially replaced the old Avatar Draw Weight (ADW), which in turn replaced the original Avatar Rendering Cost (ARC), within the 2.4.4.5 release notes, and those interested can find out more by reading the official SL wiki entry on Avatar Complexity, or my own overview of the capability.

The Places floater overhaul sees the layout refactored to match other panels in the viewer, and a number of fixes added to certain niggles found with it, such as buttons not working (e.g. the Back button at the top of the panel) or it remaining stuck in its last used state.

The Places floater has been overhauled for Black Dragon 2.4.4.5 (left). Issues such as buttons not working correctly or the floater getting stuck in its last used state (shown on the right) have been corrected and the floater's layout tidied-up
The Places floater has been overhauled for Black Dragon 2.4.4.5 (left). Issues such as buttons not working correctly or the floater getting stuck in its last used state (shown on the right) have been corrected and the floater’s layout tidied-up

Black Dragon 2.4.4.5 also includes two additional crash fixes which make updating to it highly recommended. This first is for a bug arising from leftover code, which would be triggered as soon as certain avatars, objects, etc., came within the viewer’s Draw Distance. The second is for a crash occurring whenever you right-click while in either zoom/pan/orbit mode in the tools floater (build window) or when in object view mode in the camera controls floater. As always, please refer to he release notes for the full list of updates.

Additional Links