Inside the Horizons Experience in Second Life

Horizons Experience
Horizons Experience

Update, November 19th: some users on TPVs may find the gun used gun in Quest 3 of Horizons Experience doesn’t work with their viewer. The Lab is aware of the issues, and is investigating options for a fix. For the moment, those affected will need to swap to the official viewer, but  only for Quest 3. Full details can be found in llTakeControl issue and the Horizons Experience.

On Tuesday, November 15th, Linden Lab announced a new Mainland community initiative called Horizons. First hinted at during the Meet the Lindens talks at SL13B in June 2016, it became the subject of widespread speculation when two testing environments related to it appeared on the Second Life world map in October, with Patch Linden further stirring up interest by posting some teaser images to his Profile feed.

Picking up on the SL13B hints, I contacted the Lab with the idea of covering Horizons. Patch and his team were very receptive to the idea, and as result, I had the opportunity to tour the regions ahead of the opening, and learn more about Horizons from Patch Linden and Naughty Mole of the Linden Department of Public Works (LDPW).

In short, Horizons is a new themed Mainland residential community built around a central, 6-region gaming environment called Horizons Experience. As I’ve covered the community aspects at length in New Horizons in Second Life, this article focuses solely on the new six-region gaming experience.

Looking down on one of the Horizons Experience quest regions
Looking down on one of the Horizons Experience quest regions

Horizons Experience essentially builds on the Lab’s work with PaleoQuest, the dinosaur themed adventure which opened in July 2015 (see Experiencing PaleoQuest, the Lab’s latest adventure in Second Life). As with PaleoQuest, players are tasked with completing a number of quests and multiple tasks in order to come to the rescue of Magellan Linden’s assistant, Tyrah, who is in deadly peril at the paws of the nefarious Doctor Talpa. Note that the game is on Adult rated regions, but this is not reflective of the games content.

“PaleoQuest was our most recent gaming project that we had put out at scale,” Patch said as we discussed the game ahead of our tour. “We took from that a lot of the game mechanics which people really enjoyed and liked, and we’re including them and a lot of new elements within the Horizons Experience.

“For example, one of the big new features is the ability to participate either as a player in the game or as an ‘explorer’ – someone who is not active in the game, but who can travel through the regions and observe as a bystander. With our other gaming experiences, you’re either in the regions with the intent to play, or you wouldn’t go. As Horizons is part of the Mainland, we felt it was important that people be able to drop in without disrupting the game-play.”

“We’re using different coloured indicator above people’s heads in the game regions to indicate whether they are a player or an explorer,” Naughty Mole added. “If they have a blue ball floating above them, they are an explorer. If they have an orange ball, they are a player. That way, the people in the game know who is who. Obviously, you can’t complete any of the quests as an explorer, nor can you receive any prizes; but you can walk or fly around and watch players (who can’t fly). Oh, and you can still be killed by any of the quest hazards!”

Part of the Horizons Experience start region, showing the Portal Room where returning players can jump to their last point of progress
Part of the Horizons Experience start region, showing the Portal Room where returning players can jump to their last point of progress

Given that Horizons Experience is sitting in the middle of a residential area where flying vehicles are permitted, I wondered if there was a risk of aircraft interfering with the game. “Flying vehicles can pass over the gaming regions,” Naughty Mole answered, “but they must keep above a certain height. If they are too low, they will get a warning, and if they don’t increase their height, they will be auto-returned and those on board will be transferred to a resurrection hub inside the gaming areas as explorers.”

“The six regions of the experience are all uniquely themed,” Patch resumed, “The first region you go into is the starting region, where residents are introduced to the quest and receive their game HUD. While there they can watch an in-depth tutorial video and background story video, see the payout stations or follow links to the Horizons Experience wiki page for more information. Beyond all this are the five gaming regions, which are linear, like PaleoQuest. Each must be completed before you progress to the next one.”

Horizons Experience can be accessed in a number of ways. Anyone in the Horizons regions can fly to the central gaming regions, or they can use the teleport portals located at the Horizons info hubs and community centres, and  which are scattered across the residential regions. Direct teleport via the map is possible, and there is also a Horizons Experience gateway at the Portal Parks.

Down in the mines
Down in the mines

Naughty added, “When people first arrive, they are given the choice of being a player or an explorer. If they selected ‘player’ they are registered for the game and receive a HUD. If they remove their HUD, they become an explorer. If players leave the game regions, their HUDs are automatically removed. However, all progress up to the point where they removed their HUD is saved.

“Returning players arriving at the start area can use the Portal Room to jump directly to any quest they have previously completed, or go to the Quest they were on when they left the game. So, if someone left while trying the third quest, they can use the Portal Room to get to quests one, two or three, but they will not be able to jump to quests 4 or 5.

“Also, there are HUD kiosks throughout the quest regions, so any player who removed their HUD can get a replacement, and they will be asked if they would like to teleport to their last point of progress. Explorers who have never played the game can also use these kiosks to obtain a HUD, and they will be asked if they would like to teleport to the start of the first quest.”

Continue reading “Inside the Horizons Experience in Second Life”

Advertisements

Project Espeon: Experience enabled sits in Second Life

Experience scripted force sits - a new project from the Lab (image courtesy of Linden Lab)
Experience scripted force sits – a new project from the Lab (image courtesy of Linden Lab)

Update: thanks to the efforts of one or more juveniles defacing the orginial, the proposal – originally referred to as a Google document in this article – has been converted to PDF format, and this article has been updated to reflect that fact, and how those with a genuine interest in the proposed capabilities can forward ideas and suggestions to the Lab.

Since the introduction of Experience Keys into Second Life to allow more convenient granting of permissions for the system to act on an avatar’s behaviour when engaged on a specific activity – such as a game or a tour – a commonly requested item has been the ability to for scripted forced sits to be made a part of the Experience process.

On Thursday, September 22nd, during the Server Beta user group meeting, Rider Linden announced he is working on just this capability – and that test regions are available on Aditi for Experience creators to test the capability as it stands.

The new LSL functions for Experience-enabled scripted forced sits form Project Espeon (after the Pokémon character). Rider has produced a proposal document on the new functionality, which can be read  in PDF format, which he introduces as follows:

With the advent of Experiences Keys we would like to be able to allow scripts being run as part of an experience to force an avatar to sit in a particular location.  This feature will be useful in an adventure game scenario where an avatar is forced to sit in a trap so that it may sync its animations with the avatar, or in an amphitheatre or classroom situation where a presenter wishes for all the other participants to remain seated.

We will add at least one new LSL script function that will force an avatar to sit on a particular prim and make adjustments to the existing llUnSit() function to perform the counter action.  

Within the document, Rider outlines the current APIs and functions related to sitting (llLinkSitTarget()llSitTarget()llSetSitText()llAvatarOnLinkSitTarget()llAvatarOnSitTarget() and llUnSit() ) which by affected by the new capability, before proposing a new series of APIs and behaviour changes to make Experience scripted sitting possible. At the time of writing this article, these new capabilities comprise:

  • llSitOnLink( )  – Function: integer llSitOnLink( key agent_id, integer link ); – mimic the behaviour of the rightclick “Sit Here” menu item.  The avatar specified by agent_id is forced to sit on the sit target of the prim indicated by the link parameter. If the specified link is already occupied the simulator will search down the chain of prims in the linkset looking for an available sit target, as per the diagram at the top of this article.
  • PRIM_ALLOW_UNSIT – to be added to llSetPrimitiveParams( ) – When set on a prim that is running a script as part of an experience an avatar that is seated on the sit target and has agreed to participate in the experience will be unable to stand, select another prim to sit on or teleport to another location in the same region (inter-regional teleports will act as normal).
  • PRIM_SCRIPTED_SITS_ONLY – to be added to llSetPrimitiveParams( ) – Agents may only be seated on this prim using llSitOnLink().  Attempts to do a manual sit will fail.  This flag applies even outside of an experience enabled region.
  • PRIM_SIT_TARGET – to be added to llSetPrimitiveParams( ) – The sit target if any defined for this prim.  If the active value is 0 the sit target is deactivated, if it is nonzero the prims sit target is set to the indicated offset and rotation. As with llLinkSitTarget(), these values relative to the prim, however unlike llLinkSitTarget() an offset of <0.0, 0.0, 0.0> may be explicitly set.

Note that the above is in summary only, please refer to the Google document for the complete specifics.

Test regions have been set-up on ADITI, the beta grid, and those interested in testing the capabilities should join the Second Life Beta group on Aditi for access. The test regions are: Leafeon or Umbreon or Sylveon, with test content is available on Leafeon. If you wish to have your own Experience added to the regions for testing, contact Rider via IM. Similarly, if you have any suggestions or ideas for improving the proposal document or the functions, should raise a JIRA.

With thanks to Whirly Fizzle.

New Social Islands helping new users get started in Second Life

The Experience Keys based Social Islands
The Experience Keys based Social Islands

In May 2015, I wrote about the Lab’s work in adding Experience keys to their Learning Islands, the first in-world destination for new users joining Second Life through the Lab’s sign-up process. At the time, Peter Gray, the Lab’s Director of Global Communications, indicated the approach was one of a number the Lab were experimenting with, while subsequent to the article, Ebbe Altberg indicated that Lab was continuing with A/B testing of various approaches to getting new users started in Second Life.

Thanks to a nudge from Cube Republic, I’ve had the opportunity of trying-out one of the more recent aspects of this work, by paying a visit to one of a set of four Social Islands, which form the second stop incoming users make on their initial journey in-world, and which have been both redesigned by the Lab and which now also use Experience Keys to help new users gain greater familiarity with using Second Life.

The new Social Islands offer something of a Graeco-Roman feel (top image), presenting a number of circular structures linked by broad stairways and paths, sitting within a rocky island landscape. On arrival, newcomers receive a HUD which attaches to the to left of their screen before stepping through a set of welcoming messages to get them started in their explorations.

The initial HUD messages (click for full size)
The initial HUD messages (click for full size)

The HUD has a number of easy-to-understand icons (? = help; speaker icon = toggle HUD sounds on / off; – = minimise the HUD; Next Step = click to page through instructions, where relevant), and updates with messages and instructions as the user explores the island.

Central to the islands is a pavilion, where information boards provide basic help and support, and which provides access to the various activities on the island. The first of these can be accessed directly from the pavilion, and present users with the opportunity to practice using their camera, find out about building in Second Life and also learn about buying goods in-world and via the Marketplace.

The central pavilion in the new Social Islands includes information boards and - for those who have been involved in SL for a long time, the return of a familiar character from the days of the old Orientation Islands
The central pavilion in the new Social Islands includes information boards and – for those who have been involved in SL for a long time, the return of a familiar character from the days of the old Orientation Islands (right)

Stairs leading down to the ground level from the pavilion provide access to further activities, such as learning to interact with in-world objects at a beach bar or by using swings in an orchard, or learning the basics of vehicle driving by steering a boat through a course set over shark-infested water (swimming very inadvisable!), and so on.

As the HUD indicates, completion of the various tasks earns the user Linden Dollars. These are not added to the avatar’s account balance, but are indicated by a second HUD, which is attached as soon as the L$ start being earned. The balance obtained can then be used in the island’s shop to buy clothing, shoes, hair, and skins and shapes as means of introducing people to the concept of buying goods in Second Life.

The Advanced Camera Movement challenge
The Advanced Camera Movement challenge: use the camera control to move around the tower, touching and illuminating the red squares

A further section of the activities area offers a basic overview to in-world building, complete with a video overview courtesy of Magellan Linden and a couple of interactive elements. As an aside, I have to admit to being slightly bemused that a certain British Tabloid and a former south London community newspaper are featured in one of the demonstrations, simply because it was so unexpected.

The final part of the island is the portal area providing onward access to the rest of Second Life. This follows pretty much the same format as other versions of the Social island: a set of portals defined by category – art, role-play, popular places, editor’s picks from the Destination Guide, the Portal Parks, music and adult – which will deliver a user selecting one of them to one of several potential destinations. The portals are presented via a video providing more information on exploring SL, and users approaching them are presented with / advised to take a Landmark for the island so they can find their way back, if needed.

The new Social Islands include the same portal idea by which newcomers can continue their explorations of Second Life, but with some improvements over earlier versions
The new Social Islands include the same portal idea by which newcomers can continue their explorations of Second Life, but with some improvements over earlier versions

Continue reading “New Social Islands helping new users get started in Second Life”

SL project updates 16 9/1: server deployments; SL viewer, misc news

Casabalanca: Rick's Café Américain - "Of all the gin joints, in all the towns, in all the world, she walks into mine."
Casablanca: Rick’s Café Américain – “Of all the gin joints, in all the towns, in all the world, she walks into mine.” – blog post

Server Deployments

The Main (SLS) channel was updated on Tuesday, March 1st, with the server maintenance package deployed to the three RC channel is week #8. This comprises a server crash fix and “minor internal improvements.”

The server deployment thread lists any RC deployments for the week as “TBD”. however, speaking at the Simulator User Group meeting on Tuesday, March 1st, Simon Linden indicated it is unlikely there will be any RC deployment until week #10 (week commencing Monday, March 7th 2016). These will apparently have an update that addresses a means by which a simulator can be intentionally crashed.

SL Viewer

Currently, the official viewer from LL remain unchanged from the end of last week:

  • Current Release version: 4.0.1.310054, January 15 – formerly the Maintenance RC viewer download page, release notes
  • Release candidate viewers:
    • Maintenance RC viewer version 4.0.2.311655, dated February 26th
    • HTTP updates and Vivox RC viewer version 4.0.2.311302, dated February 22nd
    • Quick Graphics RC viewer version 4.0.2.311103, dated February 17th
  • Project viewers:
    • Project Bento (avatar skeleton extensions) version 5.0.0.310099, dated January 20th
    • Oculus Rift project viewer version 3.7.18.295296, dated October 13th, 2015
  • Obsolete platform viewer version 3.7.28.300847 dated May 8th, 2015.

OpenSSL Update

As noted in my last TPVD meeting notes, the Lab were awaiting an update to OpenSSL. This has now been released and there is minimal impact for SL. This therefore should require any fast-tracked update to the viewer.

Grid-wide Experiences

The simulator user group meeting saw a general discussion about allowing broader access to the Experience Keys database (the KVP) without land owners necessarily having to grant permission to specific Experiences.

The idea here is that there are applications which rely on persistent data or utilise grid-wide data exchange (e.g. a teleport network, a vending system network, etc.), and applications which require script settings survive the script reset. Currently, the way to achieve this is to use external data stores (see BUG-11499 for one example).

Some feel that if there were a way to dissociate the KVP database from things like avatar influences, then it could be used for such applications, removing the need for external data stores and the rick of those data stores vanishing / not being available. However, this is not something the Lab is particularly keen on, for a number of reasons. For example, it could result in their servers storing a lot of data and carrying a lot of database quires and updates, something that might not scale terribly well with volumes and associated storage space cost. Nor would it necessarily safeguard the data any better (if the Experience owner downgrades to Basic or ceases paying their Premium subscription, the data will be lost).

During the discussion Oz indicated that the Lab has no plans to make grid wide experiences available any time soon, due to concerns about how “certain internal features” would scale.