Showing posts with label Zones. Show all posts
Showing posts with label Zones. Show all posts

Feb 20, 2014

Ebbe and Flow

My Thoughts about @EbbeAltberg and #SecondLife

 

It can be taken as read that I have been and continue to be quite the outspoken and borderline cynical mind in the group of cheerleaders for Second Life. It's no secret that I think the past CEOs have been colossal screw-ups even from the moment they stepped foot into Linden Lab (excellent executives but horrible for the exotic case of Linden Lab). After all, I knew the entire playbook for Linden Lab the moment Rodvik took the CEO position, and I ended up being correct (despite people thinking I was being mean).

 

 

ebbe_001 Picture Credit: Jo Yardley

 

With Ebbe, I feel differently.

 

On the one side, the ToS and a number of things need to be re-aligned and fixed in the company. This has been a fact for years now going back to the first time Philip stepped down. From a purely executive standpoint, Linden Lab has been a clusterfsk internally with a vision statement that resembled the fog on an autumn day in London. Mostly just throwing things at the wall and hoping to make them stick, and in the case of Rodvik just forcing the issue across the board without consideration for anything but his own wishes.

 

I'm no cheerleader, but instead I'm a realist with a dash of idealism.

 

I got to be this way from twenty years in the industry, watching it rise and fall flat on its face countless times. It takes a toll on you to experience countless hardware, hype and “VR is the future!” opportunistic sales pitches from people in the industry who clearly don’t know their asses from their elbows when it comes to virtual worlds.  I no longer buy into the hype of virtual reality or even augmented reality because it has always been a let-down for essentially the same exact reasons like a record on repeat.

 

I’d very much like to get off of that Merry-Go-Round.

 

 

merry-go-round

 

In the case of Ebbe, I do feel differently than I have about all other predecessors for a number of reasons. I get a different "vibe" off of this guy. I’m almost willing to say that he “gets it”. Almost... it’s a bit too premature for me to say that officially, but that’s the vibe I’m getting from him. Normally a red-flag would go up from gut instinct if something was out of place, and not even Philip Rosedale escaped that intuition with me.

 

In so much that he isn’t triggering that intuition from me is far more telling than anything else I could possibly say.

 

What I get from Ebbe so far is the following -

 

He's had some experience with Second Life, and so has his teenage son. That doesn't make him an expert, but in the same notion that gives him a leg-up in knowing that Second Life is the flagship product and needs to be cultivated as such. With the cancellation of Versu, DIO and (?) Creatorverse I believe he's thinking along those lines and saying roughly the same things that I would have said in the same situation -

 

Why have we as a company lost our focus and why are we spreading ourselves so thin on things which do not celebrate nor embody the vision of what this company and it's customers have created and have been known for?

 

So he is rightfully turning the focus back to Second Life, because it is the flagship product. But more importantly, there is an understanding that I think a lot of people missed outright -

 

Second Life should be able to focus on many contexts without having to employ everything it can do all at once. This hearkens back to the statement I made awhile back about how any CEO worth their salt would immediately recognize that Second Life *is* their platform and that they should empower that platform in order to make it useful across many contexts of interaction in order to appeal to a wider base. If Second Life as a platform was fulfilling that mandate, then there would never be a reason to publish a game outside of that platform - because by doing that, you are admitting that your platform isn't capable of even a simple game experience in a compelling or reliable manner.

 

This means creating a context that allows for building games/experiences efficiently in Second Life, and this means building business and education contexts on the same platform without needing everything up front. For this, we're talking things like the ability to have two modes of simulation as dictated by the sim owner - Open-Ended and Publish.

 

The latter (Publish) is what would appeal to actual game developers in the real world (and not in our little Second Life community bubble). Considering that Second Life is essentially a game engine environment editor (much like you’d see with CryEngine) the only thing it’s missing is that “Publish” button to nail down the virtual space. Second Life (in this manner) is essentially a game engine perpetually stuck in Edit Mode.

 

But let’s say there was a context where you finally added that Publish button to the editor. Now you have a platform to seriously publish content on (in the eyes of real world game devs). Published simulations are optimized for all manner of things like lighting, collisions, and so forth. I used to create Doom II WAD files back in the day, and while I could play-test those levels, the engine always had a “compile” step to nail it all down and pre-calculate stuff.

 

That’s the sort of differentiation that is needed for Second Life.

 

Yes, you can create games in Second Life now, using it as your platform – but just like a game engine stuck in Edit Mode, your games are running unoptimized and horribly inefficient. In the same manner as people can model stuff with Prims (hold on there, this is important) – The Prim editor in Second Life isn’t the bastard child people think it is. It’s a 3D Modeller program stuck in Edit Mode and without the Compile button to merge the tree making it into an Optimized mesh.

 

Think about that for a second.

 

If you could create something with Prims in-world, and then commit it to an optimized Mesh.. what would that mean to you? In a way, there are third party HUDs and such that can do this already (albeit in a limited manner) but what if that was built into Second Life itself natively?

 

No longer would people be saying “But I have to learn how to use Blender to make anything useful in SL!” but instead you’d be able to hand them the exact same tool that has been in Second Life since the beginning and say “You already know how to use this... we just gave you the Export to Mesh option.”

 

The most powerful tool in Second Life is ironically collecting dust.

 

I don’t really know jack about using Blender or another 3D modeling program. I’ve used a number of them over the years but I wouldn’t say I’m terribly proficient with them. However, I can model like a pro in Second Life. It’s too bad I can’t export to OBJ when I’m done as a native option or else I’d see SL as a toolbox that transcends into the real world.

 

Elaborating that toolbox and bringing more of those 3D Modeling functions back into SL natively would be a god-send. Sure you’d still have to use external modeling programs to do more advanced things until the native toolbox in Second Life was comparable, but in the short term, being able to use Second Life as a native 3D Modeling program to export would be great (assuming of course the permissions are correct).

 

Particle_properties There is (of course) the other caveat of that Toolbox which to this day hasn’t been addressed. In ActiveWorlds there was the native ability in the toolbox to define Particles via Point & click interface (much like you can do in SL with the other Toolbox functions). You didn’t have to touch a single line of code to make it work.

 

That would be something to make happen as soon as possible in Second Life – adding a Particle Editor to the Toolbox natively as a tab without it spitting out a separate Script for you to stick into the contents. Call it a Native Script versus a User Script. A native Script is what all objects would have internally and editing things like Particles via the Toolbox would alter that Native Script. User Scripts would be what you add to the Contents tab manually that you have coded externally.

 

Objects/Prims already do this – where do you think it’s storing the properties that you are setting when building? Native Particles would be no different... you’re just setting some more object properties for it to store.

 

This is something that (for ten years) has utterly baffled me for why it hasn’t been added yet (among a few other things). Staples of virtual environments like ActiveWorlds which predate Second Life by about 20 years have a better grasp on their in-world toolbox.

 

And I think that’s what gets me the most about all of this. Ten years later and Linden Lab has been so side-tracked or apathetic that they haven’t managed to finish what they started seven years ago. From a virtual world stand-point, the Second Life virtual environment is half of a platform full of unfinished things that went live before it was time. It is a box full of spare parts collecting dust... Like having a hammer but no screwdriver. The logical things that should be there simply are not, and the things that made no sense to do are favored with heavy bias.

 

So it’s not feasible now to just start from scratch or shut it down. It’s like a jet in mid-flight... but what you can do is go ahead and finally start finishing the things that should have been in Second Life that were systematically blown off for the past seven years, in order to make it a robust platform again.

 

It’s time to get the focus and vision back.

 

 


 

Take for instance the ongoing lack of native Weather in Second Life.

 

The biggest reason cited for not having Weather in Second Life is that it rains indoors with no good way to do a collision check for the particles. This is patently false and has been since day one. It just boils down to nobody wanting to actually do it or being given some other priority to focus on (with all of these CEOs changing their focus like I change my socks).

 

Implementing native Weather in Second Life is dead simple. Here’s how to go about it in two easy steps:

 

The same company responsible for Windlight (WindwardMark)... go back and get their Weather system too. That’s step one.

 

I know what you’re saying:

 

But, Will! Windlight doesn’t have Weather!

 

Oh yes it does, Skippy. Linden Lab deliberately left it out when they introduced Windlight to Second Life (circa 2007). Even though Windlight Weather is far more efficient than the 3rd party in-world solutions for Particles (which lag the hell out of the viewer), somehow this isn’t a native option in Second Life still.

 

Windlight Weather uses Screen Space Particles which are way better for the effect. It’s also how I used to implement weather effects in ActiveWorlds using their built-in particle editor on the toolbox, by defining the effect as a Screen Space Particle.

 

Here’s the video to prove the functionality exists:

 

 

 

 

Step two: You already have Prims, and what you need to do is create a manner by which a user can define ZONES. Zones are a staple in game engines... they are essentially Mega Prims which are phantom and contain special properties when outside or inside their space. This single step actually solves something like a few hundred issues in Second Life in one blow.

 

The same sort of issues that the community have created 3rd Party solutions and HUDs just to overcome. This alone should be telling... when the community is solving things that the main company isn’t touching.

 

Interestingly, Linden Lab is about 80% capable of doing all of this out of the box and I don’t think they’ve ever truly realized it (or particularly cared).

 

Zones are how ActiveWorlds handled the “It’s raining inside” problem without doing a collision check for every single object in world. But more importantly, there are countless other benefits to implementing user-defined zones.The users would define a Zone, pick a shape type, define the dimensions of that zone, and then assign properties to that zone.

 

Properties like:

 

  • Particles originating outside cannot enter.
  • Particles originating inside cannot exit.
  • VoIP inside this zone is not heard Outside the zone.
  • VoIP is disabled in this zone
  • People and objects inside this zone are not visible to people outside
  • Upon entering this zone the lighting changes to [this].
  • Ambient audio in this zone is [this]
  • Fog inside this zone is...
  • Upon clicking this object, change Zone Properties to [this].
  • This zone has the following media streaming when inside of it.
  • This zone has the following gravity.
  • and one of my favorites – This zone acts like water.

 

I have to take a moment to elaborate a bit on the Zone Occlusion property. This is quite possibly the greatest thing to be implemented. It allowed the creator to occlude areas and objects, which in turn drastically lowered the load time and lag. You could, for example, create a Zone for the inside of buildings which said that if you were outside of that zone (outside the building) then nothing inside would load. This saved on bandwidth and scene complexity by a light year. I’d walk into a building, and everything inside that zone would then load up but would then unload the minute I walked back outside.

 

Can you imagine an entire complex and dense city in Second Life using this to their advantage? I don’t want to name anything in pa- *coughs* Insilico

 

 

InSilico

 

 

The last property for zones was particularly useful for swimming pools. You define a swimming pool and then a Zone inside of it with Water turned on as a property. Whenever you entered that Zone your avatar would start swimming and you would move as if you were in water. I also had a blast defining zones with varying gravity in mid-air to simulate gusts of wind columns that the user would do a leap of faith into with a particle effect to look like dust was being blown up in those spaces.

 

Zone_properties2

The Water property for the zone was the same property that was used natively for the Ocean. Another contention I have is that the Zone (yes, Virgina... zones already exist in SL) for the Ocean is unfinished. Unless you have some attached HUD to go Scuba Diving (which is a 3rd Party workaround), you do not swim in the water. You just walk on the bottom of the ocean floor.

 

Essentially, Zones are like dynamic Parcels on steroids.

 

You create a house, then you create Zones inside of it with accompanying properties. Viola! It’s not raining inside your house anymore.

 

ActiveWorlds even added Mirrors to their platform years ago and it works just fine. Do you know how they got around the issue of it requiring too much horsepower? They added a property to it called Radius and limited the output to something reasonable like 128, 256 and 512 resolution so as not to kill a graphics card.

 

But of course, I digress (as usual) and have gone off on a tangent. Though we must keep in mind that this tangent has a very good point and it is related to the subject at hand... which is our dear commander in chief Ebbe Altberg. So let’s get back on track (though I can’t offer a segway).

 


 

Back to the Point

 

When Rodvik went off to make games and a distribution platform for them, it was a tacit admission of failure on his part. Instead of using his most powerful platform to create stunning experiences, he chose to follow the EA playbook and opt for a closed publish model unto itself separate from Second Life. The platform is (and always will be) Second Life, and the goal should be to make your platform robust enough to allow those better experiences to be created.

 

There is no reason why it cannot be done. Especially if a twenty year old company that is on its own death bed (ActiveWorlds) managed to do it years ago.

 

This is why with Ebbe, I see the same realization up front from him, and that is promising.

 

Second Life is many things to many people, and it should (going forward) be robust enough to cater to those use-cases natively so that it can be the universal platform for creating collaborative/shared experiences.

 

With Ebbe Altberg, the reason I’m not jumping on my usual cynicism bandwagon is because I get a very different “vibe” from him. From what I’ve seen so far, the very same types of things that I’ve said above, and the sorts of things that I’ve said for years in this blog, are also the same types of things Ebbe is looking at with a heavy dose of clarity and common sense.

 

So far, he’s very competent and showing a penchant for comprehending the situation in a manner that has been overlooked for years, with a breadth of inquiry and interaction that sorely needed to take place (and should by all means continue).

 

Only a few points in my opinion have been deducted... privately inviting 8 people to come talk with him and of those people are mostly just the shameless cheerleaders of Linden Lab. That irks me a bit because with the changing of the guard, the old lap-dogs are immediately sucking up to the new boss and flaunting “teacher’s pet” all over again.

 

 

There is a difference between 8 cheerleaders and 8 advisors. Remember that.

 

For that little maneuver, I deduct points. Because I heard a number of people asking me whether or not it was an invitation via the SL Press Corps and maybe they had their IM’s capped and missed it...

 

To which I had to say:

 

No, Linden Lab privately invited those people.

 

I deduct points for that because it’s not in Ebbe’s best interest to surround himself with unapologetic ass-kissers. Those 8 people will always find a way to spin things in a favorable light just to remain the teacher’s pet and gain favoritism as part of that.  

 

If Rome was burning to the ground, they’d tell us how wonderful Nero’s music was during the campfire cookout.

 

Nero Group Notice: Nero is playing Live at the Ampitheater! It’s Best In Beachwear at tonight’s BBQ with 1000L on the board! Bring your friends and remember to tip the venue!

 

Which is exactly why I refer to them the way I do. Yes, I am perfectly aware it’s insulting... but the premise of that situation is insulting to the entirety of Second Life. The company doesn’t need Yes-Men and Girl Friday’s, it needs people who are going to cut the shit and get to the brass tacks.

 

There is no hard journalism with them, and in fact almost always look for a way to spin a situation in the best possible light, or if unable will sit on the fence and insist things aren’t as bad as they seem (let’s just wait it out and have total faith they have our best interest in mind!). Essentially, it’s just a long string of fluff pieces... which is fine if you’re looking for entertainment and feel-good antics, but you’re not going to get anything done if you aren’t willing to pull a Mike Rowe from Dirty Jobs.

 

That’s why I’m a lot more proactive about things. I’m interested in actual answers, and barring having them am willing to go right ahead and find solutions. It’s no secret that I’m not one to just sit on my hands and regurgitate whatever the popular opinion is or try to paint the situation in the best possible light.

 

So if the situation is screwed up... I’m going to say so. The first step is admitting you have a problem. Already in this post I’ve gone ahead and solved about one-hundred issues with Second Life while proving it is undeniably possible to do so based on a twenty year old virtual environment. You can make that 101 if you want to include the Second Life X-Factor post I did a few years back detailing that Marketplace is the key to real world marketing involvement.

 

That’s a new record, even for me.

 

 

Mike Rowe - Dirty Jobs 

 

I didn’t show up to a meeting and ask questions... I flatly solved issues, and that’s the difference between a cheerleader and an advisor. If you’re a cheerleader, you ask questions like “How will the ToS be resolved?”, as an advisor you say “This is the point of contention, and here is why. Let’s understand the balance between the interests of Linden Lab and the interests of the content creators in order to hammer out a middle ground both can accept so we can move on.”

 

As a cheerleader, you show up to a private meeting so you can ask how Ebbe is going to address new user retention. As an advisor, you outline the things which are causing that new user retention to be low and then start making suggestions based on prior virtual world history on how to solve them.

 

Cheerleaders ask questions. Advisors offer actual solutions.

 

This is the reason I don’t take the SL Press Corp group seriously. You had to jump through hoops to get into it only for Linden Lab to ignore it and invite their favorite people privately for anything of importance. At the end of the day, that serves only one purpose – and that is to get the big names in SL media to show up, ask some questions, and then just relay that to the public (more often than not with a massive “go team!” bias).

 

Tsk tsk.

 

Don’t get me wrong... I understand that you very well couldn’t just invite everyone in Second Life as a free-for-all.

 

So this is what I would suggest:

 

Now that Linden Lab has had a talk with their teacher’s pet cheerleaders, the next meeting should be picking 8 academics with a comprehensive understanding of virtual environment history for a sit-down and a serious, non-fluff, discussion about the whole kit n’ kaboodle. They aren’t there to take notes and write a blog post about it, and they aren’t there to tell Ebbe what he wants to hear. They are there to get shit done and find actual solutions. They are there to offer their collective knowledge of the entire industry and its history to Ebbe so he can do his job more effectively and figure stuff out.

 

And I mean a serious discussion... not a one hour expose interview. Just devote an afternoon with a cup of coffee to really have a discussion and ask questions. But there is a difference here -

 

That first meeting was essentially the cheerleaders asking questions so they can go ahead and regurgitate to the public.

 

The second meeting should be 8 academics offering actual insight and answers on how to solve those problems. Less about those 8 academics asking Ebbe questions and more about Ebbe asking those 8 academics questions instead... asking people who can actually give insight and answers based on a little more than personal opinion or rose-colored glasses from inside Second Life. Advisors have one foot firmly in Wonderland and one foot firmly in the Real World.

 

Overall, I’m not cynical about this guy. If anything I’m actually intrigued and hopeful. He’s (so far) doing a well balanced and good job. Aside from the private meeting with the cheerleaders, and the name dropping of calling Philip Rosedale for a personal favor to get his kid unbanned... those are the only two points I deduct at the moment.

 

For the rest, I’ll just have to wait and see what actually happens... and as usual, I’m gonna call it like I see it.

 

 

It’s a dirty job, but somebody’s gotta do it.

 

 


Oct 8, 2011

Partly Cloudy with a Chance of Windlight

Native Weather in #SecondLife with Zones @Rodvik

 

I’ve probably said this before, so please bare with me. Windlight as used in SecondLife has the native ability to include Weather built in. Why it was never really implemented has been sort of a mystery to me since 2007, but I’ve been told by @onikenkon on twitter that the reasoning behind not implementing the native weather system in Windlight happens to be along the lines that the Linden Lab programmers didn’t seem to know how to stop it from raining inside buildings.

 

 

Raindrops keep falling on my head…

 

 

SecondLife JIRA Report

Integrate Windlight Weather

https://jira.secondlife.com/browse/VWR-23322

 

If you would like to see Weather natively enabled in SecondLife, I urge that you visit the JIRA page and click on “Watch” – I also invite discussion and comments on the matter.

 

This blog post is a companion to that JIRA in order to explain in further detail how the User Created Zones requirement would work in conjunction with Windlight Weather in order to block rain inside buildings (among many other things it would allow).

 

 

I have to say that this is quite a bizarre claim for a team of programmers whose sole purpose in life at Linden Lab is to program a video game engine. In the gaming industry this should automatically have been answered with “Implement Zones”, which in and of itself should be on the list of things one would be expected to know about when dealing with 3D game engines. Why the hell do I, a presumably under qualified dolt who can’t grace the doors of Linden Lab, know this is a solution yet the apparently overqualified rockstars who grace the name Linden leave a fundamental component in 3D game engines out of the release since its inception? It can’t possibly be that ridiculous to implement if a place like ActiveWorlds managed to code it from the ground up because they didn’t have the luxury of prims to start with.  

 

Mesh will Fit youOf course, in this same vein, I’ve also seen the idea of Parametric Deformation for Mesh proposed and marked as “Someday/Maybe” by Linden Lab, only to be picked up by the community as a fundraiser to scrape together the money to pay Karl Stiefvater (Qarl) to program this feature. With over 857 votes, 357 people watching that particular JIRA, and a solution proposed to fix the Mesh defect, you would think Linden Lab would have looked into it as a priority. If you haven’t already, I highly recommend checking out the Mesh Clothing Parametric Deformer Project and maybe making a donation.

 

@Rodvik, if you’re reading this (though I doubt it) I highly suggest Linden Lab tosses in the measly remainder of the donation to get Qarl to work on Parametric Deformation for Mesh as an independent contractor, and to save grace with the community. This is clearly very important to the community and should not be ignored. Matter of fact, look… stop the book tours and public appearances or whatever it is you’re doing and hold a meeting in your ranks at Linden Lab. You need to teach those programmers the difference between priority and not a priority. If you’re the one sabotaging their idea of priority with arbitrary milestones or whatever, you need to chill out and really see what you have on the table. Seriously, you’re dropping the ball and I really don’t want you to. As far as zones are concerned, you come from EA, a flipping video game company. Even you know that Zones are a staple of video games to offer design control over many aspects of a 3D environment.

 

But I digress…

 

If anything, upon hearing these sorts of things in the ranks of Linden Lab, I would have either docked somebody’s pay or seriously reconsidered whether the programmers were truly qualified to be working on that project at all.

 

I understand I’m quite cynical about this, but something so basic a premise as user defined zones, which are a given staple of game programming, should not be a mystery to a well paid team of rockstars at Linden Lab. I mean, this is one of those things where literally years worth of important or half-assed priorities at Linden Lab have consistently superseded a basic fundamental inclusion of a game engine. It’s such a fundamental inclusion that the mere lack of it forbids Linden Lab from properly utilizing what must have been a multi-million dollar technology purchase (WindLight). 

 

In ActiveWorlds, the ability to define user created zones has been a staple since at least 2005 and entails essentially the following premise: http://wiki.activeworlds.com/index.php?title=Zone

 

In terms of SecondLife, this should actually be easier to implement than the work required to implement it in ActiveWorlds, in that ActiveWorlds is primarily a “Mesh” based virtual environment and has no concept of “Prims” as in SecondLife. In this manner, ActiveWorlds had to essentially code prims from the ground up simply for use as Zone definition spaces, whereas SecondLife already has prims as the native building system.

 

 

 

weather2

 

 

 

So what does a user defined zone really mean?

 

Well, in respect to SecondLife, you as the user would see another tab on the build menu for Zone, whereby enabling that Prim as a Zone (a checkbox) would turn it into a special primitive with the zone qualities contained within it. The prim would also be natively phantom and normally invisible unless you add the option to “Show Special Objects” to the build menu, much like there is an option to show invisible items. There would be the option to make the zone prim visible as well, in the case the builder is working with a lot of zones and needs them visible while building.

 

Here is the window for Zones in ActiveWorlds, where you can see all of the options available to the builder:

 

 

Zone_properties2

 

 

As you can see, there are numerous options available when creating zones in a virtual environment. For people who didn’t jump to the wiki link provided for zones at ActiveWorlds, that information will be found below (with some comments pertaining to SecondLife). From here on, it gets pretty technical and wordy without much in the way of pictures, so bare with me:

 

 

Tag Name

Assigning a tag name to a zone allows the user to trigger events for entering and exiting the zone.

 

// This would essentially be the Description field or Prim Name in SecondLife

 
Volume Shape

This controls the shape of the area. There are 3 types:

  • Cube - The zone is a rectangular area in size as defined by the Size values.
  • Cylinder - The zone is a cylindrical area. The X Size defines the radius of the cylinder, the Y Size defines the height, and the Z Size is unused.
  • Sphere - The zone is a sphere whose radius is defined by the X Size value. The Y and Z values are not used.

 

//This is pretty much not needed in SecondLife because we already have Prims

 

 

Priority

A diagram showing how priority numbers affect two zones' importance.

Priority defines the most important zone when two zones intersect. A higher priority number means the zone will have more importance over other zones with lower priority numbers.

 

For example, on the diagram on the right there are two shapes. On the top, the red square has a priority of 1 while the blue circle has a priority of 0. Therefore, the red square becomes becomes more important than the blue circle. On the bottom, the blue circle's priority is changed to 2, higher than red square's priority of 1. Therefore, it has become more important than the red square.

 

 

A useful example for priorities are for large weather zones, where a large zone dims the lighting in a pale blue haze for ice. However, this zone may intersect a building, where it will also affect the interior. A zone with normal lighting can be placed in the building with a priority of 1 while the ice zone has a priority of 0. Therefore, the building's zone will cancel out the pale blue haze inside the building.

 

 

Zone Properties Dialog Box

Size

This defines the size of the zone. See "Volume Shape" above for details on how these values are used.

 
Gravity

This controls how fast users will fall when in this zone. A value of 1.00 is "normal" gravity.

 
Friction

This controls how fast users will stop when walking in this zone. A value of 1.00 is considered "normal" friction. Lower values will make walking "slippery", while higher values will slow walking speed and cause the user to stop more quickly.

 
Water

If checked, the zone is filled with water (or whatever liquid) and a user will swim when they are inside of the zone. Note that a zone is invisible, so users will not see the surface of the water. You will need to add an object to the scene if you want to make the water surface visible.

 

//In terms of SecondLife, adding the top face of the zone to use the water shader as the oceans do would be a bonus. 

 
Block Particles

If checked, this zone will be included by particles when checking for collision.

 

//Essentially this is how it doesn’t rain inside buildings in ActiveWorlds unless you forget to create a zone for your building or structure. The same would apply to SecondLife and Windlight Weather. 

 
Block Lights

If checked, lights created with the light command will not be visible if they are outside of this zone.

 

// SL: Essentially any item outside the zone that has Light enabled will not have any effect on the lighting inside the zone. 

 
Block World Light

If checked, the world light ("sunlight") will not be visible from within this zone. This is useful for making underground or dark areas where the world light source should not be visible.

 
Block Audio

Any audio that was started by action commands using the sound or media command is muted or faded, if the trigger object lies outside the zone, while the avtar is inside the zone.

 

Audio played within the zone can only be heard while the avatar is inside the zone and will get muted or faded as soon the avatar is outside the zone.

 

Audio played by the media command is faded in and out when entering or leaving the zone.

Audio played with the sound command is faded in and stops without been faded, cause of the underlying principle for the sound command only playing the nearest sound at a time.

 

When a noise command is triggered outside the zone while the avatar is inside a zone, the noise will not be heard. When a noise is triggered right before the avatar enters the zone, the noise will be heard also when the avatar is inside the zone, the noise won't stop playing until the trigger has finished. A noise command triggered inside the zone will not be heard outside the zone. 

 

Ambient sound set in the world feature settings is not affected by this option. To mute global ambient sounds use the Ambient sound field with the zone settings.

 

//Anything outside of a zone that is playing sound/gestures/etc will not be heard inside the zone. Any sound/gestures/etc inside the zone will only be heard by users inside the zone. This would include Shared Media and Video 

 
Block Chat

If checked, users within this zone will not see the chat of users outside of the zone. Note1: Zones do not block Public Speak either direction across the zone barrier. Note2: Zones do not prevent non-Global bots from hearing across the zone barrier.

 

//Private spaces for open chat without having to go to group chat internally. Essentially a zone with Block Chat enabled will use its own chat channel transparently for all people inside the zone. Very nice for nightclubs on a sim where you don’t want the text chat, gestures etc to bleed over to the neighbors.

 

Block Join/Invite

If checked, users within this zone cannot have other users join them and cannot invite anyone.

 

//SL: Can be extended to allow only certain Group members to invite others via teleport

 

Color

This controls the color of the fog in this zone, and the color of the water (if applicable).

 

//SL: This would control a native Windlight Setting within that zone.  

 
Fog Range

This controls the near / far fog settings.

 

//SL: Another Windlight setting control within the zone 

 
Ambient Sound

This sound (if specified) will repeat in the background when the camera (usually the avatar's head) is in this zone.

 

//SL: Only a single sound, or chain of sounds for ambient within the zone. As of this post, the equivalent would be a multitude of ambient sound spheres placed across the area to achieve the same effect. Enabling Ambient Sound in a zone would not harm the ambient sound sphere market, but lessen the need for multitudes of them. 

 
Footstep sound

This sound is used if the avatar's feet are in this zone while walking or running.

 

//SL: Native sound for running or walking on various materials like sand, wood, metal, etc as defined by the space of that zone. 

 
Camera Tag

This specifies that name of a particular camera object within the scene. When the user enters this zone, their camera will switch to the camera matching the given name, and will return to the previous setting when they leave.

 

//SL: Zoning a furniture set, for instance, would allow the designer to specify a forward facing camera override when sitting on the furniture – where the user could still adjust the camera as they please after that switch. How many times have you sat on a couch next to a wall in a house only to have your camera fly outside the building? Allowing content creators to attach zones to their creations will give them better control and lessen the wild camera positions.

 
Target Cursor

This specifies the texture that will be used as the center cursor in Move Mode (mouselook).

 

//SL: Possibly custom target cursors for shooting games? 

 
Voip Enabled

Enable/Disable Voip Rights within a given zone.

 

//SL: Already an option as a Parcel or Sim owner, this would allow fine tuning of where VoIP is enabled in an area on a zone by zone basis instead of an all or nothing scenario. 

 
Voip Rights

Specify a list of users who will have the rights to participate in Voip conversation within the zone.

 

//SL: Not restricting VoIP entirely, but giving only certain people within that zone the ability to use VoIP. Business scenarios where there is a single speaker.

 

 

 

redZone 

 

In the scope of SecondLife, a Zone is simply a specialized Prim in wireframe which defines an area with special properties. When we talk about whether or not it’s raining inside of a building, we should also ask if that building is within a user created zone with Block Particles enabled, as we would ask in ActiveWorlds.

 

Defining zones is a staple of video game programming and quite common. To hear that there is a possibility that the programmers at Linden Lab did not know how to stop it from raining inside of buildings puzzles me.

 

While I admit the implementation of user defined zones would be a complex project within Linden Lab (I’m humoring you, Linden Lab, because ActiveWorlds did it from scratch with a single programmer in 2005), I must also insist that the very lack of this ability is subsequently limiting and/or crippling the technology and what is available to it – namely Windlight which was acquired in 2007 and still has yet to see full implementation.

 

My Moment of Rage

Waiting since 2007 for a fundamental component pisses me off

 

Honestly, and I truly mean this – I swear to all that is holy and good in this world, if a Linden shows up on this post and tries to sling a ration of bullshit at me in a comment to excuse themselves for why this hasn’t been properly addressed as a priority, there will be hell. Any manager worth their salt, let alone the CEO of the company, would agree in the face of such negligence to the product and community which it serves. Whether this is addressing user created zones (which instantly negates a large amount of JIRA requests through facilitation) or whether it’s the Parametric Deformation.

 

That level of absurdity in dismissing things is unacceptable – fundamental flaws and defects in the system should not be ignored for multiple years, and they should not be in a position where your own community walks off and raises the funds to do a job that the company itself should have been doing. 

 

As far as user Created Zones (which would immediately allow Weather to be enabled) I’m pointing to ActiveWorlds, a virtual environment company that doesn’t even register on the grand scheme of competition any more, implementing user created zones from absolute scratch via a single programmer in another country that they have on contract – and they managed to do it in 2005. You cannot possibly tell me that an outdated, underfunded, technology with a single programmer is more adept than the entire team of programmers at Linden Lab.

 

I refuse to acknowledge that because it’s absolute bull. Just like saying Parametric Deformation is not a priority when it fixes a fundamental flaw with Mesh, which is the entire focus of why Viewer 3 was created.

 

I mean, is this really what it takes to have the major issues be addressed? Is priority assigned by how much negative publicity it’s drawing for not addressing it? Or you have to be some digerati and Linden kiss-ass for them to acknowledge you?

 

Geez… No wonder everybody uses Third Party Viewers. At least they are on top of things and really engaging with the community on this stuff. I apologize, but the more I think of this arrogant and dismissive behavior on the part of Linden Lab, the more it pisses me off. Waiting for years to even have a basic component in a game engine acknowledged in an official capacity and implemented is simply asinine.

 

I mean, the only reason I can see that the ATI 4500/5100 bug ( the one where Viewer 3 is entirely unusable) was looked at and addressed was because Tonya Souther (Firestorm) called out Linden Lab in a public interview. C’mon… seriously? That’s what it takes to light a fire under their asses?

 

This has got to change. It’s unacceptable.

 

I’d probably lose my sanity if I were ever a Linden.