Wednesday, November 30, 2005

In which Suspicions are Raised regarding the Efficiency of Prim Counting

Your correspondent has perhaps become over-impressed with the idea of creating objects that follow one about or spy on one. Scripted objects of reasonable complexity so far consist of:

- A gun turret which raises an alarm when seeing anyone nearby, and also opens fire on them without even giving twenty seconds to comply;

- A CCTV camera on a pole which watches passers-by suspiciously, and also takes their names down;

- Some daft-looking fish in a tank. Okay, these weren't actually spying on anyone, but they did look as if they might be;

And today:

- A radar device using coloured dots to represent the positions of nearby people.

This has the following appearance:

small visual radar

(click for larger)

Unfortunately the snapshot function in SL doesn't appear to record floating text, but be assured that the yellow dot there had my name over it, and how far I was from the scanner (four metres I believe).

And that's all very well and good. It's not a terribly hard thing to scan an area for avatars. llSensorRepeat and the sensor event are what you want to look up here. Whenever a scan takes place, the device - I called it a Visual Radar Display, or VRD - goes through the list of people it has found, calculates a scale according to the maximum range so that the furthest avatar is placed at the outside of the display radius and everyone else is placed proportionately inside it, and then rezzes dots at appropriate positions.

Getting the dots to play nicely was the hard part. Each dot should have the name of the scanned personage floating above it, which initially I did by having the dot do a little mini-scan itself, except this is slow and doesn't work properly if there are lots of fast-moving avatars around. (Also, it can't scan from the position of the actual VRD, so things could go slightly wrong.)

I solved this with smart dots, which could be told what to display, and also told to disappear when a new scan was to take place. These dots listen on a channel exclusive to themselves for the VRD to tell them the name and range of who they represent, and whether that person is the owner of the VRD or not, in which case the dot should turn yellow. Fine. It all took a bit of tweaking but I don't mind doing that. Oh, it makes noises too when you turn it on and off, and you can give it voice commands to change the radius and the scan interval, did I mention that? I'm mentioning it now.

I did most of the testing in a sandbox, where there were lots of other people around for the VRD to scan, and then took it back to my home location to test, and that's where I encountered a slight problem. I have 38 prims left in my home area allowance, after I accidentally killed off the poor innocent fish. They live on in my inventory, don't worry, I will put them back. This should be plenty for radar purposes - the VRD itself is two prims, each dot including the central one is one and there's never more than three or four people within scan radius of my little abode in any case. Every time a new dot is placed, the old one is deleted first, so there shouldn't be any problem, should there?

Apparently there is because after a time I get an error message telling me that the VRD can't create a new object because my "parcel" (land parcel, it's not rude) is full. Well, it's clearly not full, is it? I delete all my unused junk. But there's no telling Second Life this. "Don't give me that," it says, "you're full, you're out of luck, I don't care, ha ha ha".

If I wait a bit I find that it does let me start placing dots again, which leads me to propose that perhaps, just perhaps, it's not keeping proper tally of objects in the area, and takes a while to notice that I've told a whole load of dots to die. This is probably something very well-known of course but I'm finding it very irritating. I don't have the prim allowance to build a huge spectacular building, and now it appears that I can't even pointlessly flood the place with coloured dots. Something must be done, or I will write a letter to the Telegraph.


Post a Comment

<< Home