Saturday, 1 December 2012

Snowglobes
Snow falls endlessly
On the night before Christmas
In the toy village.
In the snowy fort
No soldiers patrol the walls
Are they all on leave?
Snow on online pines
If no-one logs in to see
Did the snowflake fall?
Presents! All for me?
Take as many as you like
They're copiable.

Friday, 30 November 2012


I wrote about getting 64 boxes from a single sculpt, for a row of dentils. The boxes end up being connected by unwanted strips, which can be hidden in the beams that the dentils are attached to. But to make separate boxes with no visible connections, you need to make sure that the interface between them in the sculpt map consists entirely of quadrilaterals that collapse to a single line or point.

Thursday, 29 November 2012


Tura has made some snowglobes.


There are four different scenes, each made as either a table ornament, or a bauble to hang on a tree. Particle snow falls endlessly.

Monday, 8 October 2012


This is the full size version of a picture I sent Crap Mariner for his arm brace. Get well soon, and remember, the secret to rehabilitation is enjoying the pain! The more it’s hurting, the more it’s working! Er, don't go overboard on that. This is not medical advice.



The robot arm comes from this build I did for the recent Single Frame Story challenge on the theme of ”objectification”.

Saturday, 25 August 2012

Friday, 24 August 2012

LSL tutorial: Communication between parent and child


Back when I started to write complex scripts, one of the first puzzles I needed to solve was this: Object A rezzes object B out of its inventory, and needs to send some startup information to B. How can it do this?

When A rezzes B, the only information it can pass to it in the call to llRezObject is a single integer. When object B wakes up, its on_rez event receives that integer as the start_param. But suppose you need to send more information than that? Then A has to send it by encoding it into a string and speaking it. The channel it is going to speak on can be sent as the start parameter.

This won’t work:

In A:
llRezObject( channelNumber, ... );
llSay( channelNumber, ... );

In B:
on_rez( integer channelNumber ) {
   llListen( channelNumber, ... );
}

The reason is that A cannot assume that B is listening, or even exists, by the time that A speaks. Spoken messages are never queued: if no-one is listening, they are not heard. How can A make sure that when it speaks to B, B is already rezzed and listening?

Saturday, 18 August 2012

My entry this week for Crap Mariner’s 100 Word Story Challenge. The topic was ”sparkle”, and I also used ”turquoise” from the Writers' Dash, but it wasn’t written at dash pace.

"Waiting for Twilight Sparkle"
A play in one act
by Tura Brezoianu