Server Deployments Week 15
- As reported in the first part of this week’s update, there was no Main channel deployment on Tuesday April 9th, the result of issues arising with the previous week’s RC deployments, which LL wanted to fix rather than having them propagate across the grid
- Magnum retained the same package as week 14 (Monty Linden’s next batch of HTTP updates) and a fix for a crash mode
- Continuing issues in getting the anticipated updates for the BlueSteel and LeTigre deployment packages ready meant that on Wednesdays April 10th meant that these two channels received the same package as the Magnum RC channel.
The switch-out with the Magnum code being deployed to BlueSteel and LeTigre meant that those regions “lost” the new LSL Animation Override capabilities – existing scripts using the capabilities will still run, but new scripts using the functions cannot be compiled.
Viewer Update and Documentation
Discussing the materials project at the Open-source Development meeting on Wednesday, April 10th, Oz Linden indicated that an updated version of the project viewer should be available shortly – possibly by the end of the week, as “lots of fixes are accumulating”. In the meantime, a mixture of Linden Moles and volunteer users are working on materials-focused updates to go into the Good Building Practices guide to help other users get to grips with materials processing and optimising things for SL use. In the meantime, the Materials Data information on the SL wiki continues to be updated.
As pointed out by Mona Eberhardt in the comments relating to materials in this blog, Laverne Donat has produced a very tidy and short demonstration of materials in SL, which I’m including here.
Alphas, Transparency and Costs
Laverne also asked, via Plurk, if and how a specular map can have transparency with the materials processing, before going on to comment (via my blog) that, “After some testing, it seems that you can get specularity with diffuse maps with alpha masking, but not with diffuse maps with alpha blending. I don’t know what the intended behaviour is, but that’s how it works at present.”
This prompted Geenz Spad to reply, “The intended behavior (eventually) is that alpha blended objects will be able to support both normal mapping and specular mapping. Currently this is a work in progress, and due to its current state, it hasn’t been added to the viewer just yet.”
As Alpha Blending is currently the Alpha Mode which is unaffected by the materials / LI accounting situation which has been reported by Qie Niangao, I asked Geenz if Alpha Blending was liable to “trip over” into the LI accounting system, rather than being “grandfathered” (as currently appears to be the case). He further clarified the situation by replying, “Only if you use other material parameters (such as specular mapping, normal mapping, etc.). The only reason why we didn’t add support for shiny on all semi-transparent surfaces, is because it would break content.”
In terms of future development, it is unlikely that anything will be happening soon, other than enhancements / fixes for what is currently in the project viewer. While there is a roadmap for future features and additions to the materials system, the Lab is wisely not commenting on plans and direction at this time. Rather, they prefer to see what the overall take-up with the new system is over time and how people start using it (which may in turn affect how and what the Lab decides to do with regards to a “materials round 2”). However, one thing which does appear to be clear is that there are no plans within the current roadmap to extend materials processing to include avatar skins and clothing layers.
AO Capabilities Update
Although it did not get deployed in week 15 (but should see the light of day in week 16, commencing Monday, April 15th), the update to the new AO capabilities which should have reached BlueSteel and LeTigre is intended improve compatibility between the new animation override system and other scripted objects that animate avatars (such as poseballs). The update was developed as a result of Code Violet raising a JIRA (BUG-2164) pointing out that the new capabilities did not “play nicely” with things like sit animations in poseballs / furniture.
Maestro Linden, speaking at the Best Server meeting on Thursday, April 11th, described the situation thus:
If a user had a custom ‘sit’ animation set, the seat wouldn’t be able to stop the animation properly because if the seat called llGetAnimationOverride(“Sitting”), it would get an empty string unless the exact animation also happened to be in the seat’s inventory. Kelly has a nice solution to this problem, which is to make ‘llStopAnimation(“sit”)’ stop your custom animation, if you had overridden your sit animation. Conveniently, this change means that existing poseballs won’t need any updates to play nicely with the new AO system.
The Beta Server meeting saw some discussion on the new AO capabilities, which enabled Maestro and Kelly Linden to offer further clarifications.
Maestro corrected a misconception that the new capabilities either requiring some form of “keepalive” to continue running in a non-script area, least they be cancelled as a result of an avatar sitting on something in a no-script area, replying to a comment by saying, “Nope, the new AO system replaces your default animations … The replacement lasts until you login again.”
There are limitations with the new capabilities – such as the lack of support (at present) for dealing with the likes of “idle” animation and swimming animations – it has also been noted that the new capabilities don’t support multiple, looped poses (such as establishing a series of standing poses with a fully scripted AO system). This lead to a discussion on the merits of an client-side AO system, which benefits from being able to support multiple animations for a given override, but suffers from the inherent latency as a result of the additional viewer / server / viewer communications which the new capabilities are intended to eliminate.
A possible compromise here, as Kelly suggested, would be for a TPV to develop a capability so that the viewer-side AO can do the same thing as the new LSL calls do, but without any reliance on a script, essentially giving the client-side AO system the best of both worlds; it’s more than likely that this approach is already being considered somewhere. He also pointed out that, “These override LSL functions are merely hooks into the existing system, not a replacement for the existing system at this time.”
Group Ban List
As recently reported, Baker Linden has started working on an update to the code for managing groups which will allow group owners / moderators to ban users who create problems (e.g. those who spam groups, people who are persistently abusive in group chat, etc.). This work is in response to JIRA VWR-29337. Attending the Beta Server User Group meeting on Thursday, April 11th, Baker provided a further update to his last report on progress. “I have the first draft of the technical doc written, and having some other lindens looking over it to discuss anything that might need to be changed,” he said, “So hopefully if nothing needs to be redesigned, I can move forward and start development.”
The discussion itself quickly turned to the matter of group enrollment (and also region / parcel management) and setting additional requirements – such as avatars having to be X number of days old or having Payment Information On File (PIOF). Working on group enrollment isn’t a part of Baker’s VWR-29337 effort, but he indicated he’d add ideas like these to his documentation for future improvements, noting that he likes the idea of join conditions, commenting, “I think having a min age ban on a lot of aspects of SL (group join, parcel/region access, etc.) would really be an amazing improvement.”
It does not appear as if any work on group enrollment or region / parcel access is currently planned, but Baker indicated that maybe it’ll be his next big project after the group ban work. In terms of the latter, a suggestion was made to also change the default message people receive when removed from a group; whether or not Baker manages to squeeze anything in on this remains to be seen – his focus, as previously indicated, has been more on providing a reason for banning someone, which he commented (in jest) might include, “Griefing region” and, “Being a Poopyhead” (both of which actually work for me!).
Given the documentation for the work is still in development / review, it’s liable to be a while yet before we see anything emerging in terms of updates to group management capabilities.
There has been further discussion on the “missing” prim issue, which has been exacerbated with the recent updates to the Interest List project (but which is not caused by Interest List changes). These have been taking place in the discussion forum for the week 14 deployments, and have seen Andrew Linden add a comment, expanding on his feedback given at the Simulator User Group meeting on Tuesday, April 9th.
Andrew is still looking into the matter, and will likely provide an update at the next Simulator User Group meeting.
“A funny thing happened to me on the way to the meeting”
I’ve had a few problems logging-in to Aditi with my many account recently, prompting me to update my password. As a result, I logged-in to Aditi using my Crash Test Alt, thus arriving at Sunshine Test area for Server-side Baking. Here I encountered an odd sight, namely a half-buried pair of boots and the top of a head.
Floating over the pair of boots was the name tag “Nyx Linden” (who was away when I arrived, but quickly returned).
Rotating my camera underground, I discovered the rest of Nyx and his working alt, both looking somewhat uncomfortable, prompting me to ask (while trying not to giggle!) if he was having problems with the Z-offset work (which he has previously indicated he was still tweaking). The (muffled?) response was, “You might say that!”
I assured Nyx I’d grabbed some pictures for posterity – which he didn’t for a moment think would otherwise be the case (!) – and then made my way to the Beta Server meeting.
Whoever said a Linden’s life was an easy one? 🙂