OLX Network

An Social home for Openlife Users

OK, most of you know my role here is editor. I chase stories and report on them. Often I am given a few nuggets that I have to research and compile into what I consider an article. I am not a professional, I just like to write and being a fan of OpenLife my articles will reflect that. When you see something appear on the OLX news area.. that is me reporting as an editor. If you see something here on my personal blog that is my own wonderings and ramblings. I invite discussion on hot button issues like the one I am about to write about. "My Two Cents" will likely become a series of my personal blogs about what I read around. Now I read a lot. I read most popular forums, have RSS feeds from some virtual news sites and a bookmark file full of related sites (most dead, but still serving a purpose for getting archived quotes) and I subscribe to mailing lists about opensim. You would rightly say I spend way too much time researching all this when I am not being paid, so we will chalk it up to hobby and trying to stay in the know. My blog is the overflow of stuff that does not really make for OpenLife/OLX news. Just my opinions.

Now, today in my jog around the web I found yet another person spouting out that OpenLife's SSOs were nothing more then a module created by Adam Frisby in early Feb. 07. One thing the people who say this usually show they are parroting rather then investigating is they say Sakai introduced the "Living Island" at the same time Open Sim introduced a module in their code. Now from all I can tell from the sources I read, including Adam Frisby that is not true. IF Sakai was using a module in OpenSim then he would be using a very old code and it was not introduced to the OpenSim trunk at the same time Sakai announced "Living Trees". In fact the module that Adam introduced was so undeveloped it was not even clear or explainable on the opensim list how one could use it in their own standalones or grids. Here is the conversation that took place after Jani Pirkola (Past lead developer of RealXTend and former owner/editor of the now closed CyberTech News) mentioned it on the opensim mail list. Below are the responses:

From: opensim-users-bounces at lists.berlios.de [mailto:opensim-users-bounces at lists.berlios.de] On Behalf Of Jani Pirkola
Sent: Friday, 13 February 2009 3:38 AM
To: opensim-users at lists.berlios.de; realxtend
Subject: [Opensim-users] Screenshots from UCI and Openlife's virtual living island

Hi,

Diva gave me some screenshots from vandalized UCI sims: http://www.cybertechnews.org/?p=749
And Openlife has implemented virtual growing plants that seed new ones, implemented as a region module I'd guess: http://www.cybertechnews.org/?p=721

Best regards,
Jani


Uhh, isn't that the tree populator module I submitted into core like ~Feb 2007?

Adam


Justin Clark-Casey:

Nah, it's just a fantastically unlikely coincidence. Really.


Notice the sarcasm that begins before anyone is even sure of what Sakai is introducing?

Robert Klein:

Ha ha ha, well now we know WHO to blame for our tree addiction. They mention
in the article it does grass too. Does it? Can we get a complete set of
instructions or at least options?

Thanks,

-Robert


Now, if this is the same module this is a very reasonable and easy thing for the devs of OpenSim to supply. The directions and/or options to turn it on.


Frisby, Adam:

It'll do any 'tree type' - however the grasses don’t respond to the scale property IIRC, so they will just 'appear' but not grow.

Adam


OK, so Adam says this can work with any tree module. No instructions given, but a little clarification.

Robert Klein

Really? Any tree type? Adam do you have some usage/commands that you could
share with us? It appears many of us are at least a bit fascinated by this.
Any documentation?

-Robert


Again, a request for instructions.

Frisby, Adam

It wasn’t really designed to be operated via console - I did it as something that was just testing the modules interface for trees. To add the other tree types, etc - you just need to change the argument passed in the modules' CreateTree function.

Adam


So what it appears we have here is a module that Adam was messing with (but for trees only). Now, remember if you were around SSOs were going to be designed to do bigger and better things. Trees were a first step in testing what OpenLife was developing. Next we saw the ability to instantly transfer land purchased via credits via SSOs. Also SSOs will decide behavior for regions eventually. AOs, Cars, doors.. there are a lot of uses 3DX are testing out. At the time of Sakai's announcement it was obviously a tech more advanced then whatever Adam was messing with. Trees were just to be named with a SSO:LivingTree typed in the object name field.


Sakai's statement when he introduced 3DX's SSOs:

- SSO's are simple, just change the name of the object you want to apply the SSO to.
- SSO's are powerful, complex behaviours and functions can be acheived while still being easy to the user.
- SSO's are safe. It's not uncommon a region owner has chosen to turn off scripting, to prevent unwanted script events. Region owners can breath easy knowing for example the SSO: Avatar.AO will not create unwanted activity in their region.
- SSO's don't have to 'live' in the region. Just because an SSO can be applied in a region doesn't necessarily mean it will 'run' in the region, an SSO may actually do it's processing outside of the region. Keeping the region light and responsive. An example could be opponents in a first person shooter region.
- SSO's expand the capability of the 3D Scene. There's really not much limit on how far we can expand the SSO design. Already the demonstrated SSO's bring a new dynamic to the Openlife 3D scene. With a little creative juice (which we have plenty) those 'I wishes' could be brought to life with an SSO.


We have already seen a couple SSOs in action and had them demonstrated at the meetings. Can any other grid out there with OpenSim at this point simply name an object and the server takes over and makes it behave a certain way? This is where the big picture is ignored or missed by those critics who keep parroting the same tired lines that originated on the opensim list. Even if OpenSim has the ability to make a tree appear, grow, die and possibly fall over like 3DX has developed (and I have yet to hear a grid say they can and especially that they can use the same tech to make other features as OpenLife is seeing) it does not appear from what I read it is the same at all.

Back to the opensim list:

Stefan Andersson

Just for sake of joining in the flogging of the cat, I blogged together a little tutorial on one way to attach lsl/ossl scripts to trees and grass.
http://lbsa71.net/2009/02/20/hacking-trees/
Of course, you don't want a forest of scripted trees, but there are some nice possibilities in there, especially with the 'new trees'.
Also, I touch on some under-the-hood concepts, so might be an interesting read, even if you don't plan on scripting trees...
Best regards,
Stefan Andersson
Tribal Media AB


OK!! Stefan (who asked in the article on CyberTech if SSOs were simply the module Adam added way back when) has a solution to living trees for the opensim market. Now, on the surface this seems like a "see, we can do it" moment with his flogging the car comment. But what escapes notice or is outright ignored is that his method requires lsl scripting. This is NOT required in SSOs. In fact the entire process as layed out by Stefan is here:

Hacking Trees
20
Feb12

From the Under-the-Hood dept.

Today, I thought I’d show you how to attach a LSL/OSSL script to a tree, and in the process touch on some interesting concepts.

The first thing you need to know is that tree and grass are really just prims with a special ‘PCode’ that tells the viewer to render them differently. In theory, you would be able to attach scripts to trees and grass in Second Life™ - with OpenSim, theory becomes practise!

* set up an empty region
* create a Tree, call it ‘My Tree’ or something so you can identify it later
* create a Box, call it ‘My Box’
* create a script in the box, call it ‘Tree Script’.
* on the opensim region console, issue the command
save xml2 test.xml
* the file will be saved in the OpenSim root /bin directory as test.xml. Open it up, preferrably, in an xml-savvy editor for readablity.
* inspect the xml code. It’s a mouthful, but after some careful scrutiny, you will start to understand some of the nodes. You’re now looking at the under-the-hood representation of objects in OpenSim, which incidentally is based on the binary data protocol that the viewer and region uses to communicate. Doesn’t look anything like the numbers you see in the edit object tabs, right? That’s because the viewer is trying to present stuff in a way that you as a user will feel more familiar with.
* Now copy the full … node block of ‘My Tree’ and paste it over the full … node block of ‘My Box’, replacing it. This is the tricky part, but done right, you’ve replaced the box shape values with the tree shape values, turning the box definition into a tree definition.
* Save the modified test.xml file to disk.
* Delete ‘My Box’ and ‘My Tree’ from the region, making room for importing the new hacked versions.
* Issue the command
load xml2 test.xml
* Hey Presto! You will have two trees, probably of wildly differing sizes. (If so, this is because the of ‘My Box’ was different from that of ‘My Tree’.)A tree with content from Shortdog
* Now, right click on ‘My Tree’, and chose ‘Open’ (not ‘Edit’!) from the Pie menu - In OpenSim you can actually Open the contents of a tree - in Second Life™, this pie option woul be grayed out. In ‘My Tree’ the content is empty.
* Now, right click on the tree called ‘My Box’, and chose ‘Open’ - we still have our script there!
* Now, script away, you can basically do anything with the tree/grass that you can do with any other prim - set the params, size, position, communicate, do http requests. Go wild!
* Here’s a little demo script to get you started: it toggles the tree position and size every second, while saying ‘timer’ every tick.

integer toggle = 0;
default
{
state_entry()
{
llSay(0, "Script running");

llSetTimerEvent( 1.0 );
}

timer()
{
toggle = 2-toggle;

float newval = toggle + 3;

llSay(0, "timer");

list rules = [ PRIM_SIZE, < newval, newval, newval >, PRIM_POSITION, < 128+newval, 128+newval, 30+newval >];

llSetPrimitiveParams( rules );
}
}

* You can now take this object to inventory, clone it and give it to your fellow man.


OpenLife: Rename tree to SSO_LivingTree
OpenSim: See above.

I want you to pay attention in the comments on that blog post quoted above and see where some of the claims Stefan makes that will work do not.

Tried the tree hacking out Stefan.

So far not so good.
Box is a tree alright, script is in contents when opened.

Quote
“Can you add other objects into the content? Make a wishing tree where people can actually ‘Open’ the tree and pillage the goodies?”

Erm, nope.
Contents tab is greyed out when in edit mode, and unfortunately, no contents can be added when “tree” is opened via pie menu.

May need some seriously more capable coders than I, to script it to do much.
It would appear, for the moment at least, any objects contained in the “tree\box” must be hand crafted into the xml file.
Editing and saving the script is not functioning within the tree\box, it may be that there is something in the “PCode” that precludes script functions within that object class?

It was fun anyway and it works to the point of making a box into a tree.
Stops dead at functional scripts inside it, won’t compile at all.


So so far we have Adam who explains his module is not something he intended to be used via console at the time of his post and Stefan who made a work around that may or may not work. Do you see why I get frustrated when people say SSOs are the same as what OpenSim introduced?

Now, here is the kicker. Remember Justin Clark-Casey and his snide remark way back at the start of this before he even knew what he was poking fun of? Now he is back to answer Robert and his persistent request for instruction on making the OpenSim module Adam introduced work for others:

Justin Clark-Casey

I think you would have to ask OpenLife for that.

Robert Klein wrote:
> Ha ha ha, well now we know WHO to blame for our tree addiction. They mention
> in the article it does grass too. Does it? Can we get a complete set of
> instructions or at least options?
>
> Thanks,
>
> -Robert


It is at this point on the OpenSim list that a couple more people talk about how great living trees and grass would be for OpenSim and asking about how to get it working but the discussion drops dead right after.

Following the bouncing ball I conclude that SSOs are not what Adam introduced via his module. It is not what Stefan came up with with lsl scripting and a box. I see mocking before people who know better have done their homework and read into what SSOs are about and see that the trees and grass were not the point. The tech of SSOs and the future of OpenLife's use of them in many applications is. Yet still today people parrot what they read or heard to discredit something major that is happening with OpenLife.

I do not write this to bash OpenSim. I have always been a fan of the project. I write this because other grids and people who seek to discredit Sakai and the hard work of the 3DX devs to make SSOs something unique and innovating in the virtual world arena need to be shown for what they are. Jealous and/or just parrots.Justin, in his final remark said it best..one would have to ask OpenLife about this tech. We are the only ones who have it. ;)

Tags: openlife, ssos

Share 

Comment

You need to be a member of OLX Network to add comments!

Join this Ning Network

Debbie Trilling Comment by Debbie Trilling on May 20, 2009 at 8:19am
Well written article, Mac.

The technology of SSO as presented by 3DX has good potential for region resource-saving. I am not convinced as yet for some of the great claims being made for it, but time will tell.

I recently submitted to 3DX a proposed SSO specification. At the moment, SSO looks more suitable for rather mundane and repetitive tasks that need only limited input parameters. Taking trees as an example, although it is a good headline-grabber it is nevertheless pretty repetitive stuff from a coding point of view.

At the moment I struggle to see how it can be easily and convincingly be used for more complex objects like vehicles, certainly without some supporting script (or notecard) used for input parameters to control the myriad variations in how we would want each vehicle-type to respond, and the many sub-catagories of each vehicle-type (customisation)

It seems to me that, at the moment, SSO is more suitable for "one size fits all" solutions, and that certainly isn't vehicles.

I could see how an SSO might successfully be used as an AO. This would help overcome the current resource-hungray AO solutions. However, OS is already preparing a more than adequate replacement for current AO's in the new CHANGED_ANIMATION event and therefore seem to have AO's covered. With that being the case, I am not sure what a SSO AO would bring to the party (one less script per avatar running on the region, true)

As you pointed out, the LSL script posted above and example 'Tree Hack' does not in any way resemble the concept of SSO as presented by 3DX.

I have been thinking a lot recently about the 3DX fork. Short-to-Medium term I dont think it is too much of a probem, but at some time in the future this may make OLG an "island" unto itself. That is, it may find itself isolated as interoperability and hypergrid start having more and more influence on VW's and if OLG finds itself the only grid where people can not teleport to or from, or the only grid with a specialised OLG-only viewer.

Again, this isn't necessarily a problem *if* OLG can attract a large enough user-base and if they have high quality developers and a good support structure. Time will tell...

Finally, I would add that guys like Justin and Stefan, and many other of the core OS development team, are very smart cookies indeed. Despite sarcastic remarks (and the now notorious 'Birthday 2009 Surprise') are deserving of having their views, opinions and predictions taken seriously, Not automatically agreed with, just considered properly. (Not trying to infer you were not; just making a general statement that these guys have made non-SL VW grids a possibility, including OLG itself)
Macphisto Angelus Comment by Macphisto Angelus on May 20, 2009 at 4:40am
Thank you for your comments, Capt.

I agree forking was a good move. It opened up OpenLife to be different and innovative. Often I read of things having to be made to fit within the confines of opensim (like Stefan's trees) while 3DX is bent on finding different ways to do things. Klee's comment about 3DX looking sideways at things and saying "that is how it is supposed to work, but how can we make it work better" was inspiring to me in the meet up Saturday. I guess this post was a springboard from that. hehe.

:)
Capt Macca Comment by Capt Macca on May 20, 2009 at 2:16am
'Bout the only jogging I do as well Mac, (around the web) following a similar path.:)

You're explanation here is fairly clear and should go some way to ease the confusion. Although some will probably think differently anyway.

Forking OL from OS, for good or bad, is a benefit for the Virtual World in general. Generating new ideas for future growth is what is needed over the next couple of years. Adoption by the general public in the 3D web is the aim for all, not one.

Forum

Titi Wopat

Buggie Bugs :-) 3 Replies

Started by Titi Wopat in I need heeeeeellllllp!. Last reply by Titi Wopat Oct 31.

Clay Duport

Feeling a little alone now 2 Replies

Started by Clay Duport in General Discussions. Last reply by Clay Duport Aug 4.

Capt Macca

Ads by Google side bar 2 Replies

Started by Capt Macca in General Discussions. Last reply by Gumby Roffo Jul 31.

Anastacia Wade

Deeding land to group 12 Replies

Started by Anastacia Wade in I need heeeeeellllllp!. Last reply by raybo pessoa Jul 23.

Anastacia Wade

Ponders..... 1 Reply

Started by Anastacia Wade in General Discussions. Last reply by Gitfinger Hotspur Jul 21.

Groups

Members Making a Difference

OLPC Openlife Community


(From Digital Dreambuilder)

I have created a venue where OLPC developers or educators can meet in a virtual environment, regardless of their physical location on the planet - the OLPC Centre on the Openlife Grid.

The Openlife Grid is a virtual world (Opensim architecture) that allows people to meet and interact in a virtual environment. In that environment your presence is represented by a character on screen (avatar).

I am opening up the OLPC Openlife center as a place for any OLPC and XO developers and educators to meet. Although the location is virtual the immersive experience of 'being present' is there.


Link to main story

© 2009   Created by Gumby Roffo on Ning.   Create a Ning Network!

Badges  |  Report an Issue  |  Privacy  |  Terms of Service

Sign in to chat!