Virtual Seasons

This article is reprinted from my Virtual Nature blog on September 11, 2006.

The most often requested feature I recieve is to code automated seasonal changes into Fate Gardens plants. Landscapers want trees that grow, through a lifespan, quickly in the highly accellerated time sense of a virtual world, while displaying arbitrary seasonal changes. There are no seasons in Second Life so the timings must be randomly assigned. Many requests include a phoenix-like death sequence of lightening, flames, a charred stump and rebirth.

The most confusing aspect of such a request is that we can all build what we individually consider to be an ideal environment inworld. Adding a random element, programmed by somone else, that can radically change the overall surrounding, seems an odd notion to me. But it also begs the point of why we strive to produce the presense of natural wildness in a virtual, ideally improved, or “better” environment. Will the next request be mosquitos flying around randomly biting avatars and periodically terminating their accounts?

My background, education nor experience grant me a clear answer to the human perspective. However I can address some of the practical points of the programming. The primary difference in real world nature and virtual world nature is the number of processors supporting the mechanisms. In the real world, each plant and animal contain their own timers and code processors. In fact, each organism maintains a copy of their inherent programming and multiple processors to execute that programming in every single cell. In a virtual world, everything that happens must be calculated and conducted by a single processor or, at most, a very few. Adding timers for seasonal changes and random movements can easily place a tremendous strain on a system already busily shuffling data for thousands of static objects and the constant updates imposed by avatar movement and user initiated commands.

Taking a lesson from the real, “not better” world, the obvious answer seems to be process distribution. Our Second Life clients currently process such elements as prim flexibility on the GPU in the local PC. If scripting processes, such as timers, can be executed locally, and allowed to issue update commands to the servers periodically, a good portion of the overhead will be transferred. No more appreciable bandwidth will be required. Security will not have to be an issue if the system only allows a script, operating on the server, to initiate a timer in the client and if the resulting call back to the server is built into the client and non-negotiable. Essentially, the client will tell the server to do something in the same way it does when we select a menu item. The client can even calculate its own random timing. The sim can then simply sleep a script and waken it on queue without having to operate another local timer or random generator.

Another technical concern is the processing of movement, especially the random wanderings of virtual fauna. Again, in the real world, each animal moves under its own power supplied by its own method of ingestion and digestion. This is not so easily distributed not because it’s difficult to code, but because it requires that we accept that our world views may not duplicate each other. Consider a camel placed in a Second Life sim as a virtual virtual item. Virtual virtual simply means that each present avatar client downloads the camel settings and the movement script then begins moving the camel around using its own local processes and data. The camel may wander north in my client but west in someone elses. This is truly random virtual nature; but it’s not the same for everybody. People have a very hard time adjusting to such an idea. Philip Rosedale calls it “tripping on acid.”

A slightly modified version is to allow one of the present clients to calculate the movements and signal those bits of data to other present clients. At that point, the fear of differing world views is replaced by the fear of other people’s clients talking to my client. It’s no more “intrusive” than using music sharing programs, playing pier-to-pier online games, or running web applications using java scripts that use cookies as distributed storage devices. But the perspecive when we’re browsing a virtual world, and staring people in the face, is that any access their client has to ours is intrusive and wrong. So we’re back to people finding it very hard to adjust to such an idea.

Still one wonders if the demand for automated seasonal changes and life-like virtual fauna will result in Linden Lab finding ways to sufficiently distribute simulator processing to accomodate us. There may be enough consumer request for it now to chart the effort in the black. Perhaps if we can express the need all at once, the mass will reach a tipping point and get someone’s attention.

Openspace Redux

One week ago, LL announced a price increase for openspace sims based on them “being rented out to residents looking for a place to live…they were never intended for that level of load this is causing problems.”  The problems are indefinable to the extent that Jack Linden admitted in his Thursday office hourWith load based issues, it’s hard to predict usage levels, how that will affect the databases, bandwidth and so on, and those issues are emerging ones as the count of Openspaces shot up” and that “there are lots of metrics around usage levels, from simple numbers such as you see in the inworld stats window, to User hours and concurrency for Openspaces. No single figure gives the whole view“.  The official metric compilation is apparently accomplished using a somewhat informal method described by the statement “if you explore the Openspaces, you’ll see that set against the intended original purpose, empty areas, very few are used that way these days“.

He finally explained “To be clear, we don’t think that the change of use is a bad thing, we added extra utility to Openspaces ahead of seeing the popularity or net effects, and yes that is difficult because there are some that use them for empty space and many more that do not. So this isn’t about stopping that change of use, it’s about recognising the extra costs we incur, and the extra value residents are getting too“.  This is a slightly comforting statement because, taken at face value, it means that Linden goons won’t be tracking me down and forcing me to close the gardens.  I’m going to hold onto this shred of hope knowing that any completely different statement might be made tomorrow.   I’m also holding onto my quarter of Mainland Taber another month just in case.

This is the sad aspect of it all.  Paying $125 a month for an openspace with 3750 prims and access to all of the estate tools, especially if the sims run two to a processor rather than the current four, is reasonable enough. I can live with that. But I frankly don’t think Jack has any real authority to state what Linden Lab will and won’t do next week, or the week after that.  Robin’s office hour added the shocking revelation that she apparently has no influence in the matter either.  As the VP of Marketing and Community Development, she came to the meeting without permission to apologize for Linden Lab accusing their customers of abusing the system.  She even had the audacity to say “What I’d like to hear from you is how you would solve the resource allocation problem” as though we’d been given any idea, beyond hopping from sim to sim, how to perceive and track the resource allocation problem.   LL always seems to want the users to fix the things that nobody in the lab wants to add to their Taoish schedule.  My personal favorite from her transcript, quoted from this thread, is “Grandfathering is problematic because it creates something like a class system” compared of course to life accounts, Mentors, 40m terraforming on Core sims, liasons, Views, double prim Mainland parcels, JIRA Lords, grandfathered Class 4 estates, et. al.  Everything the lab says about the debacle comes across like a pleasantry from a Dalek at a tea party.

At least we have the new CEO’s assurance that We made this change to ensure an optimal Second Life experience for all Residents.”  We will be looking forward to that optimal Second Life experience in January. I fail to understand how modifying the openspace pricing is going to magically balance the load and provide an optimal Second Life experience for all Residents, unless LL are falling back on the proven effect of discouraging the user base enough for a notable number to permanently vacate The Grid All Hail The Central Grid.

Addendum November 6, 2008: I was going to post a comparison and profuse exposition after M’s announcement; however, there’s very little to contrast. The price increase is firm though delayed with an interim increase. The openspace option is renamed Homestead. A new and useless option is assigned the “openspace” designation. Avatar and scripting cycle limits will be imposed on both options although I doubt Linden Lab will ever actually finish coding and implementing scripting limitations; that’s too much like real work requiring actual, Tao-free administration.

Finally, Homesteaders are effectively vilified. We are the ones bringing down the grid and we must be exposed and penalized by The Lab All Hail The Central Lab. I’m doubly insulted for maintaining a premium subscription which is, according to M, immaterial to their business. Every Mainland parcel must be owned by an account with a premium subscription; so, surely he didn’t seriously mean “immaterial” or “their” or “to” or fill in whichever complex rationalization of this simple concept makes you feel good.

The good news is that they listened to us, enough to determine who to publicly label as the enemy of the state. It’s sad they won’t publicly explain how these changes will alleviate the fictional loads demanded by the evol Openspacers now Homesteaders. One can only look to the future. Alternate grid providers have a few months to spin their products up to speed.

Tintable Fountains

After filling several recent colouring requests for my Stone and Chrome Fountains, I’ve worked the tinting script into them. The difference between them is that the stone is tinted in the Stone Fountain but the water colour is changed in the Chrome Fountain. This is by design because it’s what every customer request entailed respectively.

The script displays a tint dialog allowing the user to set values for the visual colours (red, green and blue) up and down ten degrees at a time. This affords one-thousand possible combinations. One simply has to be careful to not click too quickly lest the Linden’s grey goo fence freeze the script. Not to worry though, it’ll reset in ten seconds and allow you to pick up where you were interrupted.

The menu also sports a reset button to whiten the stone, or blue the chrome water; every item needs a default setting yeah? Finally, there’s a Base button that opens a second dialog listing twelve base colours the user can choose from to begin their tweaking toward that perfect shade.

Both fountains are shown below displaying four tints of water on the left and stone on the right. They are, of course, available at Fate Gardens and Home Depoz Celebrations.

Tintable Chrome Fountain

Tintable Chrome Fountains

Tintable Stone Fountain

Tintable Stone Fountain

Virtual Fire

This article is reprinted from my Virtual Nature blog on September 20, 2006. Added text is italicized.

The Inn at Tol Erassea

The Inn at Tol Erassea

Fire is a necessary element to our real lives and utterly destructive when uncontrolled. We represent flame in virtual worlds for the sole purpose of seeing it as we cannot feel or use its heat. This elemental tie is either somehow beneficial to us or simply displays our lack of imagination. I suspect the former based on the fact that the representations generally seem to be used to create a mood. We build the fundamental appearance of something vital to our first lives and throw it into a corner as window dressing for our virtual lives. Is this what people mean when they say that Second Life is a “better world?”

An Old Castle (no longer standing)

An Old Castle (no longer standing)


Practically, builders do usually strive to enhance the appearance of a blaze by integrating static prims or adding surreal, colourful effects. The two methods of presentation are animated textures on prim faces and particle productions. The pictures above and to the left below demonstrate animated flame textures on prims and the use of solids to enhance the appearance of roaring, eternal fires. The pictures below displays the use of particles to simulate a burning effect. Note that the particles don’t lend a realistic appearance of flames. Particles can, however, be produced in randomly changing numbers, react to the wind vector, and shift their colouring to the extent of producing a smoke-like effect before dissipating with much less scripting and lag causing demands than their animated counterparts. Particles can now be rendered 8192 at a time, twice the older limit of 4096. Many people choose to set their viewable particle count to a lower value, or off altogether, to avoid client side lag.

Fate Gardens Torch Tree

Fate Gardens' Torch Tree

Some other combustions I’ve witnessed in Second Life are bubbling volcanos and geysers. Randomly timed eruptions contribute a wonderfully natural atmosphere to any area. There are of course those timers dragging down the regional processor; but that technology is steadily improving. One day we’ll be able to place markers in a sim that tell clients to download and represent objects whose scripts are being processed on supplementary servers. Then we’ll see some very realistic representations of natural effects. Picture alignment is a nightmare using Wordpress. If anyone has tips or ideas of how to better manage this site’s style sheet, your input will be much appreciated.

Magma and smoke in the Pomponio Crater

Magma & Smoke in the Pomponio Crater

Jopsys Geysers in Teal

Jopsy's Geysers in Teal

The SL Botanical Gardens

Isablan Neva tends a lovely, sim-wide collection of virtual flora on her Botanical Gardens estate. Her efforts of combining the work of dozens of creators into stunning, private areas are well spent. The effect of wandering through the labyrinth of paths, from one venue to another, is magical and fun. This is one place that the lag, hackiness and general grief of using Second Life does not invade. Drop by when you have some time to truly get lost and enjoy the wonder of “what can be done.”

The estate’s land description reads: A collaborative garden and nature park. Come explore, relax, meditate, hang out with friends or just soothe your weary soul. Ride the gondola, commune with Buddha, discover the secret Mermaid grotto and hug a tree or two on this full-sim public park.

Waterfall Cove

Waterfall Cove

Botanic Conservatory

The Botanic Conservatory

Winding Paths

Winding Paths...

Sparkly Caves

...and Sparkly Caves

←Older