SL projects update 25/2: Experience Keys (Tools) overview and beta information

Update Wednesday July 9th: Dolphin Linden also attended the Simulator User Group meeting on Tuesday July 8th, where he further discussed the Experience Keys (Tools) project. As that discussion covered some of the information given here, I have provided a further update on the additional information provided by Dolphin at that meeting, to serve as a companion piece to this report. Please do ensure you read that article as a follow-up to this one.

During the TPV Developer Meeting on Friday JUne 20th, Linden Lab gave advanced notice to third-party viewer developers that the long-awaited Experience Tools project will be entering a beta phase in the near future – possibly within the next month.

Dolphin Linden is one of the people working on the Experience Tools / Keys
Dolphin Linden is one of the people working on the Experience Tools / Keys

The notice came via Troy and Dolphin Linden, two of the key players from the Lab working on the project,  who between them gave an overview of what it is and how it should work, and answered questions from TPV developers.

There has been considerable interest in this project at Simulator User Group and Server Beta User Group meetings over the last several months, particularly as mention of the tools has been made in various RC deployment release notes, and the fact that they are currently on the Magnum RC. However, until the June 20th meeting, the Lab has remained tight-lipped on the matter.

The notes which follow were taken from an audio recording I made of the meeting, and the salient extracts from that audio are included at the end of this article (see also North’s video recording of the meeting). I’ll have a summary of the TPV Dev meeting itself available soon.

What Are Experience Keys?

Experience Tools is essentially a new means of providing a set of “blanket” permissions against a range of actions which might be taken on an avatar participating in a defined activity (e.g. allowing the avatar to be animated, teleported, have items attached, etc., in accordance with the requirements of the activity).  The idea is that rather than having to constantly give permission for objects, etc., to act on your avatar while participating in an immersive activity, you give a single OK at the start of your participation, and then no longer be distracted by additional dialogue requests. The permissions within the Experience Tools comprise:

  • PERMISSION_TAKE_CONTROLS
  • PERMISSION_TRIGGER_ANIMATION
  • PERMISSION_ATTACH
  • PERMISSION_TRACK_CAMERA
  • PERMISSION_CONTROL_CAMERA
  • PERMISSION_TELEPORT

Note that permissions such as DEBIT (i.e. take money from your L$ account) are explicitly excluded from the Experience Tools, and must still go the normal route of requesting permission from the user.

What is an “Experience”?

An “experience” in this context can be almost any immersive / interactive environment within SL where the user needs to provide permissions for objects, etc., to interact with their avatar. A list of examples of experiences might include:

  • A game or puzzle or hunt or quest which requires the use of a HUD and / or which requires certain items are attached to an avatar
  • An amusement park where every ride requires the user gives explicit permissions to every ride they take
  • A tour of an art or historical installation which utilises multiple teleports and / or the use of HUDs.

As noted above, within an experience, the user only needs to give permission to scripts and objects to interact with their avatar once, when they agree to participate in the experience.

Linden Realms, launched back in late 2011, was something of a precursor to Experience Tools, inasmuch as by entering a Linden Realm game area, players gave implicit permission for certain actions to be carried out on their avatars – HUD attachment, teleporting – without the need to explicitly allow each activity within the game. The difference between it and Experience Tools, is that with the latter, users must still  explicitly give that initial permission for objects, etc., within the experience to interact with their avatar.

Linden Realms, launched in 2011, was an initial release of what were to become known as the Advanced Creator Tools, the forerunner of the upcoming experience keys / permissions
Linden Realms, launched in 2011, was something of a precursor of what has evolved into Experience Tools / Keys

During the initial deployment, experiences using the Experience Tools will be restricted to running at the region / estate level for private islands / estates and parcel level for mainland. They will require white listing by the land owner in order to run. However, it is possible that the capabilities will be extended in the future to allow grid-wide experiences to be created (e.g. a grid-wide hunt involving multiple regions / mainland parcels). When / if implemented, this will mean:

  • Private estates / regions with access restrictions will have an additional level of access which will allow anyone participating in a grid-wide experience running on that estate / region to access it. However, should they revoke the experience permissions while on such an estate / region, they will be teleported away in accordance with the estate’s / region’s access controls
  • If a user opts not to take part in a grid-wide experience at one location, their refusal to do so applies to all locations running the same experience (so they do not have to keep refusing to participate when travelling around the grid).

See How it Will Work, below, for further information on allowing / refusing experiences and revoking permissions.

Continue reading “SL projects update 25/2: Experience Keys (Tools) overview and beta information” →

Restrained Love 2.9: scripted camera controls

On June 16th, Marine Kelley recently updated her Restrained Love viewer to version 2.9. It introduces a new series of camera control options, offering a range of potential opportunities for those wishing to create puzzles, mazes, immersive quests, etc., as well as being applicable to the general use of RLV!

Marine provides the details on the updates, but here in brief is a summary of the key additions, together with an  image I’ve borrowed from her blog:

  • @camdistmin and @camdistmax force the camera to stay within a range (0= Mouselook any value above 0 actively prevents Mouselook being engaged)
  • @camdrawmin and @camdrawmax simulate fog / blindfolds by obscuring the world around the avatar (not around the camera, as with the windlight settings)
  • @camdrawalphamin and @camdrawalphamax indicate the closest and farthest opacities of fog defined by @camdrawmin and @camdrawmax
  • @camdrawcolor sets the color of the fog defined by the above (black is the default)
  • @camunlock prevents the camera from being panned, orbited, etc. away from the avatar – so can prevent someone from peer through walls, etc.
  • @camavdist specifies the maximum distance beyond which avatars look like shadows (think ssing people in a mist or heavy fog)
  • @camtextures renders the world grey, other than avatars and Linden water. Marine notes that bump mapping and shininess remain untouched, as even someone blindfolded or in heavy fog can still feel their way around
  • @shownametags hides the radar, name tags, and prevents doing things to an avatar through the context – useful for games involving trying to find someone without them being betrayed by their name tag.

There are three additional camera presets added as well (left, right, top), to allow some additional camera options when @camunlock is active. There is also a new debug setting, RestrainedLoveCamDistNbGradients, to go with the camera options, as well.

RLV 2.9 adds some interested scripted controls for the camera which could have a range of uses, such as locking the camera to the avatar and controlling how far the user can see, a
RLV 2.9 adds some interesting scripted controls for the camera which could have a range of uses, such as locking the camera to the avatar and controlling how far the user can see (image: Marine Kelley)

Again, please refer to the RLV 2.9 release notes for full details of these, and the other updates with this release.

The new camera options, as noted, could have a range of potential uses, and demonstrate (once again) that RLV isn’t just about “teh bondages”  – it’s an extremely flexible extension to her viewer (note that they are only applicable to her RLV viewer at this time). Those wishing to find out more about it and who may not have taken a look at it previously, can find more information both on Marine’s blog and on the RLV API wiki page.

Related Links

 

 

Replex: A new viewer for SL and OpenSim

Replex-logoLatif Khalifa is well-known if the viewer community. Not only does he maintain the very excellent Radegast lightweight client for SL and OpenSim, he has also been a regular contributor to Singularity, the popular viewer using the v1-style UI. Now Latif is working on a v1-style viewer of his own.

Replex is still very much in the alpha phase of work; as such, there is no formal release version of the viewer, but alpha builds are available for download with the caveat that there is no official support as yet. There is, however, an in-world group where questions can be asked of other users and information exchanged. There is also an IRC chatroom #replex on Freenode where the developers can be reached via an IRC client or Freenode webchat.

The viewer itself is based on Singularity, unsurprisingly, given Latif’s close ties with that team, and there is an acknowledgement on the Replex website of their role in providing the Singularity source code. The viewer is available in Windows and Linux flavours as both 32-bit and 64-bit builds, and also for Mac in a 32-bit build.

The following is a very brief overview of the viewer; I don’t pretend to have covered all the options and capabilities; rather I’m just pin-pointing some of the features it includes.

Replex is a v1-style viewer based on Singularity
Replex is a v1-style viewer based on Singularity

As might be expected given its heritage, Replex has a default skin with a decidedly dark tint to it – although not so far towards the black default of Singularity, more a charcoal colour. The Singularity dark skin is also available via Preferences > Skins, as is the classic LL  v1.x blue skin and – something I’ve not seen in a while – the equally classic LL silver skin; this brought back some very old memories, as that was my preferred viewer 1.x skin when it came out.

The Replex change log lists recent features and additions to the viewer, and these are handily split between “Common” updates, indicating they are shared with Singularity (presumably in an upcoming release of that viewer), and those specific to Replex.

Toolbar Buttons

One of the more interesting updates from Singularity which appears in Replex is the ability to add / remove buttons from the viewer’s toolbar, a-la 3.x viewers. Obviously, buttons are restricted to the bottom of the viewer, but this is liable to be of interest to users as it allows some degree of customisation in the UI.

Change the buttosn you have displayed at the bottom of the viewer window in Replex, and coming soon to Singularity
Change the buttons you have displayed at the bottom of the viewer window in Replex, and coming soon to Singularity

Adding / removing buttons is a simple matter of opening the button chooser (View > Change Toolbar Buttons) and then checking those buttons to be displayed and unchecked those which are not wanted. There are a fair number of button options available, including debug options, windlight / sky /water / post-process effects, camera & movement controls, search options, etc. This can mean the button bar can get a trifle packed and a little hard to read if you go button bananas, but the feature is certainly a useful addition to the v1-style UI. Kudos, Lirusaito for the development work!

Emergency Teleport

Oddly enough, during the Simulator User Group meeting on Tuesday June 17th, a wibni (“Wouldn’t it be nice if”) comments was made about having a viewer-side capability to automatically teleport you somewhere if you happen to be AFK when a region restart occurs, rather than being logged-out.

I’ve no idea if the comment was passed as a result of someone peeking into the Singularity repository or taking Replex for a drive, because Replex has implemented this very capability using code also from Lirusaito.

Replex includes the option to define two LMs for auto teleporting you away from a region restart, should you be AFK
Replex includes the option to define two LMs for auto teleporting you away from a region restart, should you be AFK

Continue reading “Replex: A new viewer for SL and OpenSim” →

Group bans: an overview

On Tuesday June 17th, Linden Lab released the Group Ban project viewer (version 3.7.8.290887) which, as the name suggests, allows group owners (and those they nominate by role) to ban individuals from their group.

Group bans, which are enforced server-side, like parcel and estate bans, are intended to remove troublemakers from a group / prevent them from joining the group. This article will hopefully provide an overview of the group ban tools within the project viewer (and which will eventually progress to the release viewer).

The following general points with group bans should be noted:

  • By default, only a group’s Owners role has the Manage Ban List ability for banning other avatars from a group /removing avatars from the ban list
  • The ability can be granted to other roles, if required
  • Roles which are granted this ability are also granted the Eject Members from this Group and Remove Members from Roles abilities
  • The ban list for a group can store a maximum of 500 entries. When this limit is reached, some avatars must be removed before others can be added
  • Group Owners cannot be banned from a group (just as they cannot be ejected)
  • When a group member is banned from the group, they are automatically ejected and will receive the usual ejection notification, but will not receive any notice that they have also been banned
  • A user who is banned from a group cannot join it either directly or through an invitation
  • If a group member is banned while using group chat, they may be able to continue using it until they close the group chat window (this problem also exists when ejecting someone from a group when they have the group chat window open)
  • Any attempt to invite one or more banned avatars into a group, whether individually or as a part of a list, will generate the message:  Some residents have not been sent an invite due to being banned from the group.

The viewer itself includes the necessary options to allow a group owner (and those they nominate by role) to:

  • Add or remove avatars from the group ban list
  • View the group ban list
  • Add the ability to ban avatars from a group to any other roles within the group, if required.

Applying Group Bans

Avatars can be banned from a group in one of two ways:

  • By selecting them in the group members list if they are already a member of the group
  • By using the Group Ban Picker to ban one or more avatars from a group, whether or not they are already members.

Banning via the Members List

  • Display your groups list (CTRL-SHIFT-G), select the required group and open its profile
  • Click on Roles & Members to open it, and then click on the Members tab
  • Locate the first avatar you wish to ban and left-click on their name
  • If there is more than one avatar you wish to ban, press CTRL and left-click on each of the remaining names
  • Click on the Ban Member(s) button
  • The highlighted avatars will be ejected and banned from the group, and you should see the normal confirmatory notification(s) that they have been ejected.
Banning someone from a public droup via the Members tab (l), and confirming they are listed as banned on the Banned Residents tab (r)
Banning someone from a public group via the Members tab (l), and confirming they are listed as banned on the Banned Residents tab (r)

To confirm the selected individuals have been ejected and banned, click the right scroll buttons at the top of the panel to scroll / jump to the Banned Residents tab. This should display the name of all avatars banned from the group. If the name(s) of the avatar(s) just banned do not appear to be listed, wait a minute or two and click the refresh button in the lower left corner of the panel. Continue reading “Group bans: an overview” →

SL projects update 25/1: server, viewer, pathfinding and surprise guest

The Simulator User Group meeting on Tuesday June 17th was busy even before the unannounced guest dropped in (see below)
The Simulator User Group meeting on Tuesday June 17th was getting busy even before the unannounced guest dropped in (see below)

Server Deploys, Week 24

As usual, please refer to the server deployment thread for the latest information.

Main (SLS) Channel

On Tuesday June 17th, the Main channel was updated with the Group Ban project, which was previously on the LeTigre RC.  As the name implies, this project adds the ability to ban users from groups (see also SL Viewer Updates, below) – release notes.

Release Candidate Channels

On Wednesday June 18th the three RC channels should be updated as follows:

  • LeTigre should receive a new server maintenance project this week, which comprises an anti-griefing measure – release notes
  • BlueSteel should remain on the Sunshine / AIS v3 project, the viewer for which was promoted to the de facto release viewer (version 3.7.9.290582) on Monday June 16th. In addition, BlueSteel should receive the Main channel update with the Group Ban project and the anti-griefing update deployed to LeTigre – release notes
  • Magnum should remain on the Experience Tools project. In addition, Magnum should will receive the Main channel update with the Group Ban project and the anti-griefing update deployed to LeTigre – release notes.

SL Viewer Updates

Release Viewer

On Monday June 16th, the MemShine release candidate viewer, (version 3.7.9.290582, was promoted to the de facto release viewer. This viewer includes the final Sunshine AIS v3 updates (promoting the Lab to issue a blog post announcing the long-running project Shining is now complete), and also a series of memory leak fixes to help stabilise the viewer and hopefully reduce the number of memory related crashes.

Group Ban project Viewer

As noted above server-side support for the Group Ban project is being deployed to the main grid. To coincide with this, the Lab issued the Group Ban project viewer (version 3.7.8.290887) on Tuesday June 17th, which provides the necessary viewer-side support for accessing group ban functions. Initial instructions for using the viewer can be found in the release notes, and I’ve provided an overview as well.

Group Chat

Simon Linden recently completed an initial amount of work on group chat, implementing some small-scale optimisations which, while not expected to have “fixed” group chat, should have improved some aspects of using it, reliability-wise. He’s more recently had to work on what have been viewed higher priority items, but is hoping to make a return to group chat in the very near future and dig into it some more. “I learned a lot on the first pass,” he said on the matter during the Simulator User Group meeting on Tuesday June 17th, “we got a lot more information on where the load is.  Thus I have hopes the next round will be better.”

Other Items

Pathfinding and Terrain Editing

BUG-772 “Simulator refusing to rez objects after 10 hour timeframe” was raised at the Simulator User Group meeting on Tuesday June 17th. This is an issue where if you are carrying out terraforming work on a region with pathfinding enabled, and are also making frequent Pathfinding navmesh updates, your region will rapidly run out of memory. the way to avoid this is to complete the terraforming activity, then rebake the navmesh and restart the region.

LSL Enhancements

Ideas were tossed around the Simulator User Group meeting on the limitations of LSL, many of which may only be resolved through a complete re-build of LSL, something which is unlikely to happen, as Simon Linden indicated in the meeting, “I don’t think we’re going to touch the internal design of LSL if we can help it.” Which doesn’t mean there will not continue to be enhancements to LSL functions etc.

One suggestion made to get around some of the issues was for the development of a viewer-side scripting language which might handle certain local functions and abilities. Responding to this, Simon would only say, “That would be a wonderfully big project :).”

Continue reading “SL projects update 25/1: server, viewer, pathfinding and surprise guest” →

METAbolt updates to 0.9.71.0

Metabolt-logoMETAbolt is a lightweight text-based client for Second Life and OpenSim offering a range of features and capabilities. At the start of the year, there had been concerns that due to the long delay between updates (the last being August 2013), work on the client had stopped.

However, as I reported in February, this was not the case, but rather CasperTech were stepping-in to take over the project, as was announced on the METAbolt website at the time.

While it has taken a while for things to move forward since then, the initial interim updates from CasperTech have now started to appear.

The updated METAbolt log-in / splash screen highlighting the fact CasperTech are now maintaining it (Feb 2014)
The updated METAbolt log-in / splash screen highlighting the fact CasperTech are now maintaining it (Feb 2014)

The first of these was to update METAbolt from release 0.9.69.0 (Beta) to version 0.9.70.0 (release notes) on June 13th. As an interim update, this release did not bring with it new features or capabilities, but focused more on bug fixes and under-the-hood updates:

  • Bug fixes from CasperTech and contributed by users – for which CasperTach pass on thanks
  • The removal of x64 support – the viewer is now 32-bit focused and installs into C:\Program Files (x86) by default. The reason given for this is, “If METAbolt uses over 4gb of memory, it’s really not doing its job as a lightweight text client. Let’s use faster 32-bit pointers instead!”
  • Initial work on providing Mono support for Linux and Mac compatibility, although as the release notes state, it will be a while yet before this is complete

As this release resulted in an issue with METAbolt plugins, June 14th saw the release of version 0.9.71.0 (release notes) which, as well as fixing the plugins problem, also added a digital signature to the installer to prevent any security warnings from popping up on download.

Both of the releases present METAbolt as an installer .EXE, rather than packaging them as a ZIP file containing the installer and support files, as with previous versions. A little more work is required on cleaning-up some elements, as the installer does still refer to “METAbolt (64 bit)” and defaults to naming the installation folder “METAbolt (64 bit)” under Program Files (x86). However, this is purely a cosmetic thing, and not something that interferes with using the client.

The latest releases mostly contain under-the-hood updates and bug fixes. However a major code refactor for METAbolt is underway
The latest releases mostly contain under-the-hood updates and bug fixes. However a major code refactor for METAbolt is underway

Given the focus with these updates is on under-the-hood changes, the look and feel ofMETAbolt remains largely unchanged from earlier recent releases, other than the revised log-in / splash screen. Which is not to say additional work isn’t already underway.Tom Mettam, now leading the METAbolt project indicates that there is a major code refactor underway; as a part of this, CasperTech apparently plan to offer “bounties” for people willing to assist with the work. Those interested are advised to keep and eye on the Issues section of the METAbolt GitHub tracker for more information.

While I have not covered every release of METAbolt through this blog, those unfamiliar with the client may want to read my initial review, mush of which still appears to be relevant, and check the METAbolt category of this blog for those updates I do have.

Related links