New experience tools: details starting to emerge

LL have started releasing more information on the Advanced Experience Tools developed during the creation of Linden Realms and its predecessor game demonstrated at SLCC-2011.

The blog post (yay! BLOG post!) provides an overview of the new tools and permissions, with the video providing further information. Bear in mind when reading and watching that this is only an initial announcement and that as such, further information will be forthcoming…

The video delves a little deeper into the creation of the tools themselves and which includes some interesting factoids and tidbits of information.

One of the tidbits demonstrates the popularity of the Linden Realms game, which has 5,000 unique visits per day, for a total of 249,000 unique visits since the game opened in (I presume) Beta. Had the game relied upon a “traditional” means of HUD attachment via people’s inventories, the game would be generating 4 million new inventory items per month!

The tools discussed by both blog post and video are:

Teleport agent: this is a new LSL function that enables an agent (avatar) to be teleported automatically to a given location / destination. Within Linden Realms, this is used when people are “killed” by the various threats to their safety; within the video, the LL spokesperson suggests a further interesting use for the capability: the teleport “gun”…

The function supports both local and remote teleports and also respects teleport and access permissions.

Temporary Attachment: this functions is a similar manner to llAtach, but avoids the creation of an item within a user’s inventory. This has two benefits, the most obvious being that people’s inventories don’t get cluttered with items each time they visit a region where the function is in active use and the second, as an extension of this, the asset database itself isn’t overloaded with millions of requests (again, Linden Realms would be generating an estimated 4 million items a month if using llAttach). Attachments for both avatar and screen (HUD) are supported.

The blog and video indicate that temporary attachment is not  forced attachment, but a part of the overall Experience Permissions system.

LR Portal: a means of enabling the enhanced permissions system

Experience Permissions: this is a simplified version of the existing permissions system currently in use across the grid. Under the current system, permissions to control your avatar would need to be handled on a case-by-case basis. In something like the Linden Realms game, this means that rather than “dying” and being teleported on contact with a rock monster, the player would get a pop-up asking them if they wish to “die”.

Allowing these permissions to be granted requires action on the user’s part – such as walking through the Portals in the Linden Realms game, but they only need to be granted once, and can be applied across multiple regions (again, as with Linden Realms), allowing for large, continuous experiences to be built.

Permissions that can be granted (according to experience requirements) include:

  • Teleporting
  • Attaching objects to an avatar / screen
  • Control / track camera
  • Trigger animations

The permissions system is specifically geared to prevent more dangerous permissions such as inventory access, debit a user’s account and change links.

Potential Uses

The potential uses for these tools in terms of games and adventures are clear. However, there are wider applications for the tools, including:

  • Providing a means for guided tours within sims – providing avatars with HUDs that suggest directions around the sim, allow items of interest to be identified, information relating to those items to be displayed, and so on
  • Providing a means for store owners to enhance the in-world shopping experience  – including how demo items can be provisioned to users using the temporary attach option
  • The enhancement of more interactive experiences ranging across multiple regions.

Professional Creators Programme

In line with the new tools, LL will be launching a Professional Creators Program. Details on this are currently scant – the blog post simply states, “This program will provide members with helpful resources, such as tutorials and exclusive closed betas. More information will become available in the next few months”. However, Rodvik gave some pre-hints on this via Twitter a couple of months ago, and it seems likely the programme will, like mesh, require filing of some personal information with LL and perhaps taking some form or tutorial like the mesh status upload tutorial. From Rodvik’s comments, the requirements shouldn’t be that intrusive, but given the potential uses of the tools, are seen as precautionary against misuse.

For those wishing to be updated on news and information on the new tools, there is also an in-world Group  – the Advanced Creator Tools Notification Group  – which can be joined free-of-charge.

Appetites are bound to be whetted at this news (and there are already a fair few in the Advanced Creator Tools Notification Group already!) – and at the little teaser included in the blog post that LL have, “Produced a number of other tools and prototypes to support more rich content creation that we look forward to releasing”.

Beta Grid inventory issues

This comes by way of Nalates Urriah, who keeps a finger on the pulse of things technical on the servers-side of SL (as well as covering much else). Due to the nature of the problem, it’s worth repeating here.

There is a problem with inventory on the Beta (Aditi) grid. Essentially, the inventory you have on the Beta grid is a copy of your Main grid inventory. However, it only gets refreshed / updated when you carry out a change to your log-in password. Recently, people who have been changing their passwords to refresh their Beta grid inventories have subsequently had at least two problems:

  • Anything “new” in a refreshed inventory (i.e. was not there prior to the password reset) will not rez in-world the inventory
  • Things created following the password reset and saved to inventory may vanish at the next log-in to the Beta grid.

Additionally, people are reporting that after initially logging-out of Aditi, they are unable to re-log to the same region, as they get a “region unavailable” error, whereas the region in question appears perfectly OK post log-in.

Given people are being asked to try-out various elements of new SL capabilities on Aditi, this is causing some concern and tending to put a major hole in any ability to test such capabilities. For those logging-in to Aditi for the first time (or the first time in a very long time), this may mean that very little will rez from MY INVENTORY, depending upon how long a person has been involved in SL and how their inventory has matured over the years.

A JIRA has been raised on the issue – SVC-7727 – if you’ve experienced the issue for yourself, please make sure you Watch it – and if you have specific details of cases where you experienced the problem that aren’t already listed, please add details.

Pathfinding prepares to blaze a trail on Aditi

Update: Linden Lab have made an initial annoucement regarding pathfinding.

In his December 2011 address, Rodvik touched on some of the work Linden Lab would be continuing through the early part of 2012  – such as performance and stability – and outlined some of the new features we can expect to start seeing in 2012. Of the latter, he particularly highlighted pathfinding, by saying, “For creators our first new feature for 2012 will be pathfinding. Because worlds feel most vibrant when they are full of life, one of our next focuses for Second Life is the ability to make high-quality “life” within it. So in 2012, we will be rolling out more advanced features that will allow the creation of artificial life and artificial people to be much smoother. For starters, in Q1, we’ll unveil a new, robust pathfinding system that will allow objects to intelligently navigate around the world while avoiding obstacles.”

NPCs: Alpha testing on Aditi soon?

Details of this new capability, aimed towards what are popularly referred to as Non-player Characters or NPCs, is now beginning to emerge.

Rand Linden has updated the pathfinding overview page on the SL wiki to provide initial information, together with an outline pathfinding API page. There is also a set of alpha release notes which suggest that people will be able to start testing the new capabilities on the Beta grid and include a bullet list of currently known issues.

The API and overview pages give insight into the LSL commands that are to be associated with pathfinding – most notably llCreateCharacter, described as, “Convert the current linkset to an AI character. By default, the character’s shape will be an upright capsule approximately the size of the linkset, adjustable via the options list. The linkset must use mesh accounting”, as well as associated commands intended to assist in various modes of movement (and evasion).

The overview page is interesting in that it gives more information on the fact that pathfinding will not itself animate an NPC:

Pathfinding is not an animation system. It does not provide a way to animate a biped or quadruped in conjunction with the new movement functionality. You must use existing methods to animate characters. Nevertheless, pathfinding enables more dynamic movement and provides a better system for controlling character movement than was previously possible. For more information on creating animations, see Animation.

The alpha release notes provide a list of the Aditi test regions however, at the time of writing none appear to be open to public use as yet – I was unable to access any of them earlier today, either via the World Map or via the use of the Address Bar within the Navigation Bar of the Viewer. The four regions in question are (SLurls):

  • PathTest1 (secondlife://Aditi/secondlife/PathTest1/131/101/23)
  • PathTest2 (secondlife://Aditi/secondlife/PathTest2/100/170/26)
  • PathTest3 (secondlife://Aditi/secondlife/PathTest3/103/127/23)
  • PathTest4 (secondlife://Aditi/secondlife/PathTest4/127/194/29)

Given they are on the Beta grid, the most obvious way of accessing them is to log-in to Aditi and use the World Map to locate them prior to teleporting.

According to the alpha release notes, the pathfinding commands will only be available on these regions, which appear to include various obstacles and courses NPCs using the functions can attempt to negotiate.

Pathfinding regions

A pathfinding tutorial is also in the offing, although the page for it is currently little more than a placeholder at present – again, expect more updates as they become available.There is also a wiki index page for a category of pathfinding, which should be of assistance in quickly locating the broader information on the subject as well as details of specific dedicated or associated LSL commands.

From this, it would appear that LL are pretty much keeping to the schedule outlined by Rodvik at the end of last year and that by the time you read this, the pathfinding test regions on Aditi may well already be open to public access. For those who are keen to get involved in the project, the updated wiki pages are worth keeping an eye on in lieu of more direct information coming through other channels, such as the blog or technology forum.

Have a Parametric New Year!

The New Year brings with it news that the mesh parametric deformer project has reached an Alpha code release.

The news broke via a Metareality podscast, and follows-on from the previous weeks’ podcast in which Karl Stiefvatar (Qarl Fizz in SL, formerly Qarl Linden) was about to make an Alpha push of the code.

In discussing the release, Karl states, “I should specific immediately that it’s not done; but the heavy lifting part of it is – the tricky 3D math, the place to integrate into the render pipeline,etc, etc, is … So I’ve giving it to you now in this form so that you can give me feedback, because there are decisions that need to be made now that we should make together.”

You can read the background to the project via my conversation with Max Graf.

Karl has released a video demonstrating progress to date, which is available on his website and YouTube:

The video itself is both informative and impressive; demonstrating the deformer working on a standard avatar and on “mesh avatars” human & non-human  (so using it, you can now increase the body fat of a mesh avatar if you so wish). Additionally, the deformer works with the Linden-Lab implemented avatar physics as well – again including non-human avatar meshes.

The code does have a couple of additional caveats at present, one of which is that changes applied to an avatar are applied to all meshes attached to the avatar; this is fine where clothing is concerned; but as Karl points out, if you have something like a gun attached to your avatar, you don’t want it to resize as well; so he suggests boolean function may be required to determine which meshes are affected by the deformer – and this may additionally require input from Linden Lab.

Karl openly encourages LL and TPVs to incorporate the code in order to allow users such as clothing designers to experiment with it, as feedback is now the key.

Those wishing to add the code as it stands – and bearing in mind Karl’s warning that this is only an Alpha release can also find it on his website.

A JIRA (SH-1716) has been opened to deal with the deformer code itself, on which a number of baseline questions on the deformer are asked and answered by Karl himself (to reference frame for the project), and within which further questions and feedback is encouraged. Karl specifically asks that you use this JIRA, and not his website for feedback – and as an extension to this, it is suggested that the original parametric deformer JIRA is not used for feedback relating to the code.

SH-1716 already has interesting discussion-points within it, relating to preferred models on which to base the deformer, how to address the question of a boolean function to handle “rigid” attachments (such as the aforementioned gun) – and indeed whether any boolean is in fact required, or whether the matter can be handled via other means. Therefore anyone with a technical interest in the project would do well to give the JIRA a look, bearing in mind Oz’s pleas on the subject of wider discussion (although given the complexity of the subject, one would think that forcing a split in questions & feedback & wider issues could result in something of a fracturing of information on project).

Niran’s Viewer

Those really keen to see the deformer in action might want to download version 1.03 of Niran’s Viewer, which already incorporates the code, but note that NiranV regards this as an experimental release, and the code will likely be removed from the next release.

Parametric deformer: Linden Lab formally engages

It’s taken a little while – understandably, as wheels have to be set properly in motion – but the parametric deformer project has its first official update today, in which Max Graf gives an overview of what is happening:

“Karl [Qarl Fizz, aka Qarl Linden as was] has begun working on the code and was contacted by LL in order to facilitate development of this feature. He will be working directly with LL from this point forward to supply them with code as the project moves forward, allowing them to check the feature with compatibility for the official LL releases as he progresses so that when it is done it can quickly and easily be included without weekes of additional testing. They contacted him directly to expedite the process and work together from the start of this, which means it will be working correctly and will make it a lot easier for TPVs and other grids to implement once it is done!

“This is great news and in addition to the comment Charlar made about further development with open source features is indicative of some serious new possibilities for development. Kudos to LL and Karl for being able to come to the table together for the good of the SL community. This is a best case scenario for this project, and indicates a strong willingness on LL’s part to adopt and implement this new feature that we have wanted since July.”

Kudos indeed to Linden Lab!

As Max says, this is a best case scenario for the project, and will do much to ensure the completed deformer can be smoothly integrated into the Snowstorm code. This is turn should make the code easily more adaptable by those TPV developers who maintain V3.x-based Viewers, although older V1.x Viewer developers may still have a little work on their hands. Once again this is a win-win-win scenario for all: Second Life, Linden Lab and OpenSim (which faces similar issues when it comes to mesh clothing).

Estimates put the work of code development at around four weeks or so; given that LL are now going to help ensure the code can be integrated into the Viewer code more readily, the development cycle may well stretch a little – but the end result will be more than worth it.

It’s great to see the Lab respond so positively and openly with a user-based project in this way, and again demonstrates that the Lab is willing to engage and work cooperatively with the community as a whole.

It’ll be interesting to see whether this project yet proves to be a new building block in the way the Viewer is developed and enhanced in the future.

Mesh clothes: a way forward?

Mesh is here, as we know, and not entirely without problems. I, and many others, have commented on the fact that is it not easy to adjust mesh clothing to sizes that ideally fit individual avatars. Maxwell Graf was well aware of this problem, and put forward a solution via JIRA SH-2374 back in July, proposing the use of a parametric deformer.

Downgraded

As I reported on the 27th of last month, the JIRA was downgraded in status to Someday / Maybe – which came as a blow to a lot of people.

To be sure, Max’s solution was by no means easy in terms of coding – as he has always been the first to admit – the algorithms required to make the system work as presented would require considerable changes within the Viewer itself; and this clearly involves a cost element. As the current take-up of Mesh within SL is relatively low right now, that cost element, it would seem, is something the LL find hard to justify at this point in time, given what else they can potentially achieve elsewhere for effectively the same cost.

Nor, if I’m to be totally honest, did LL ever commit to making mesh suitable for all market opportunities – something I commented upon way back. Nevertheless, the fashion market in Sl is big, and LL cannot be unaware of this fact (they did host Fashion Expert Days last month) – so one might have thought they’d be aware of pressure to provide a means of clothing resizing for the advent of mesh – or at least to be prepared to be honest on the limitations.

In this regard, it has to be said that Linden Lab didn’t help themselves in the matter at all. Even after the initial roll-out,Linden staff were talking – albeit cautiously – about the limitations of mesh as a clothing medium and about Maxwell Graf’s idea  – and the appearance was that things were being earnestly looked at. Then the JIRA was downgraded without any commentary whatsoever from the Lab, leading to upset and consternation – a situation that was the same right up until yesterday, when Charlar finally commented on the JIRA thus:

“Hi everybody,

First, because we’ve wrapped the Mesh release 2 project, we’re moving items into other backlogs. We don’t have any subsequent dedicated mesh project planned so all remaining items, including this one, will end up on our general viewer or the server backlogs.

“This does not mean anything as extreme as some residents have assumed. The fact that the backlog is called “someday/maybe” means that it’s something we want to do, but can’t commit to a timeframe yet.

“We did some investigation into the problem that Maxwell’s solution attempts to solve. We’re doing some more research and prototyping, trying to find a solution that might be faster/easier to implement. We have Top People on it…

“…I can’t promise anything – we might come back and say ‘no’, we might say ‘yes, but later’ and we might say ‘here’s what we doing’. We might say something i haven’t thought of yet.”

It’s not the most positive of statements, but at least it demonstrates that this issue is possibly not a dead horse. Why then, couldn’t the message be communicated earlier? Even a simple, “This is the situation, we’re thinking it through and will get back to you one way or another”, would have been preferable to what appeared to be an attempt to simply ignore the JIRA before quietly moving it to an inert status.

(On a wider front, I’m looking at Charlar’s comment as meaning the “non-trivial” Mesh update he mentioned at SLCC 2011 is now going to be delayed  / scrapped given he states: “We don’t have any subsequent dedicated mesh project planned“.)

Alternative

However, it now seems that matters are moving on through other means. When Hamlet Au reported on the downgrade on the 30th September, Karl Stiefvater, formerly known as Qarl Linden, dropped a comment into the feedback that at first appeared a little tongue-in-cheek:

“Anyone wanna fund an ex-linden to do it?”

Maxwell Graf, unsurprisingly, given his involvement in the issue, has taken Karl up on this offer. As reported in PrimPerfect today, Max has set up a project to enable Karl to develop an alternative solution for the issue of resizing mesh clothing in SL. Max explains it thus:

“I have established a fund on the website http://www.indiegogo.com [a leading international funding platform] for this project. You can go there and read about the project and use the secure transaction methods to contribute to hiring Karl to do this project. Our goal is US$5400.00, $5000 of which will go to Karl, and $400 of which will be used to pay for the project and website fees. No amount of donated funds will be for my personal profit or use.

“The direct link to the project fund site is here: http://www.indiegogo.com/Mesh-Clothing-Parametric-Deformer-Project

“There is no fixed amount for donations – contribute what you can. That’s the beauty of a project like this. Small amounts add up!”

The project has 61 days in which to raise the $5400 in order for it to happen. This is a not inconceivable amount, although the question will inevitably be asked “What will it give us?” Max doesn’t shirk on the answer:

“To be clear, this will not solve every problem with mesh clothing. It will not create a layered hierarchy system of deformers as mentioned in the JIRA. Once the work is done, mesh clothing will not suddenly work perfectly for you, or work in the official LL viewers (unless they put the code in).”

What the project will potentially give is:

  • A working version of a single mesh deformer in the Snowstorm open source client
  • The ability for mesh clothing items to adjust automatically to fit an avatar’s size and shape without the need to use alpha layers to hide body parts
  • Less complexity of sizing considerations for clothing designers (no alpha maps, rigged adjustment, multiple sizes, etc.).

The finished code, presented as a part of the Snowstorm project, will be available to any third-party Viewer developer / team wishing to adopt it – and will obviously be available for Linden Lab, should they fail to define  / agree upon their own alternative to the original deformer suggested by Max.

Karl, as Qarl, is no stranger to mesh in SL – he developed much of the original code prior to departing Linden Lab, and he was responsible for the sculpted prim. As such, he is ideally suited to developing the code in question.

Not Ideal

This is not an ideal solution – again as Max clearly states. It doesn’t solve problems relating to modifying mesh clothing, etc. It does, however, overcome the immediate issue of fitting mesh clothing by default and it does – and pointed out above – reduce the overall complexity of mesh product creation for clothing makers.And at this point in time, many are of the opinion that something is far more preferable to the “nothing” Linden Lab may yet opt for.

Even so, there are questions that will be asked about the project as it stands – perhaps the biggest being, “What if Linden Lab do in fact come back with a solution of their own in Charlar’s promised two week(ish) time frame?” Will this project press ahead? Will it be cancelled? What of the money raised to date if that happens?

Clearly part of the answer to all of these questions will depend on precisely how effective any alternative presented by Linden Lab is, and the timeframe they assign for its implementation. As such, it is possible that some who might otherwise fund this project may await further feedback from Linden Lab, through Charlar or otherwise – and given the overall funding timeframe for the project, this shouldn’t impact it that badly.

However, given LL’s reticence to address this issue – or even (until yesterday) give direct feedback on concerns – one cannot fault Max or those following his lead for taking this route. Indeed, one could say kudos is due here for taking this particular bull by the horns.

Note: at the time of writing, $705 had been raised for the project. This represents some 13% of the total raised in just 9 hours.

Updates

  • 6th October, 13:30 BST: the project total stands at $2,150 – almost 40% of the required $5,400, raised within 24 hours
  • 7th October, 23:00 BST: the project total stands at $2,728 – just over 50% of the required total, raised in 48 hours
  • 8th October, 23:00 BST: the project total has passed through the $3K barrier
  • 19th October, 19:30 BST: the project stands at $3,787, just over 70% of the required total
  • 20th October, 23:55 BST: the project has broekn through the $4,000 barrier in just 15 days with a total of $4,223, just over 78% of the required total