Friday, July 10, 2009

Preserving the Robot Sanitorium





Reading the following post may tire you out or bore you, as it describe a lot of long and tedious work. But I did the work, and I want to write about it, so here goes.

Written 8 July, 2009

Preserving the Robot Sanitorium

The robot sanitorium on Whimsy Kaboom is immense and complex—there are more than two thousand prims, and, since it’s an interactive place, hundreds of scripts. Sweetie and I made all of them.

There are a few exceptions. We didn’t make two of the robot figures; they came from The Mechanical Toy Factory. We didn’t make the steam elevator lifts, which were created by Kheph77 Enoch. Until recently, the teleport scripts were provided by Peter Stindberg (I was finally able to get a long distance teleport script working). A couple of the sounds we use are no mod. And many of the particles are generated by Outy Banjo’s water scripts.

Other than that, though, it’s all ours.

If it were necessary, we could recreate the robot sanitorium, even from scratch. But we love it as it is, and wanted to be sure we would always have it. So, in case it ever becomes necessary to relocate it, we determined to preserve it in our inventories.

It would be possible to select the entire sanitorium by surrounding it, but the few No Copy prims would have to be removed beforehand or unlinked after they were surrounded. Besides, I’ve not had luck taking large structures. Somehow, not all the prims get selected.

It would have been possible to use Rez-Faux or a similar positioning system to duplicate the sanitorium, but because of its complexity, I chose instead to manually record the position and rotation of the various components.

I was sure it would be a lot of work. I didn’t know the half of it.

First, I linked everything I could. When I would come across one of Sweetie’s prims, I would have her set it to full perms and sell it to me. Pretty soon I had the structure and contents arranged into several hundred linksets.

What with the new and improved ability to link objects to 50 or 60 meters, I could have gotten by with far fewer linksets, but I wanted them grouped logically so they could be easily moved, removed, or duplicated. For instance, the various robot patients remain as discrete objects, as do many of the controls and machines.

As I made linksets, I noted the position and rotation of each in a notecard, then took a copy. I would then rez the copy and note whether pieces seemed to missing. If there were, I would go to the original and attach the unlinked prims to the linkset and take another copy. So long as I didn’t change the root prim, the location and rotation of the set would remain the same.

Sometimes a linkset copy would arrive in my inventory with limited perms. When that happened, I would bird-dog it to find the problem. Sometimes I would find no transfer objects in one or more of the prims (for some reason, one of my skins manages to occasionally find its way inside objects I’ve created. I’ve no idea why). Sometimes I would find a no-transfer sound or a prim created by someone else. When that happened, I would make a sound of my own (www.freesound.org is a wonderful resource, and the free sound program Audacity is equally wonderful) or duplicate the offending prim. Eventually the linkset would be full perm, and I would take a copy.

Within about three days I had the entire robot sanitorium in my inventory, logically arranged into subfolders (building, ramps, floors, pipes, reception, control room, cinema, conversion machines, bioforms development, med room, shrinkbot’s office—everything).

I then went to Whimcentricity, flew up to 3500 meters, made a platform with my Mystitool, and began pulling the various pieces of the sanitorium from my inventory. Using the coordinates on the notecards, I put each linkset in exact position.

I started with the building, and then put in the main floors so I’d have a better place to stand. I worked logically, adding sections in the approximate order of their creation—reception first, then the ramps, then the objects that went on the ramps, and so on.

Occasionally I would find a piece that didn’t go into place just right. When that happened I would jump back to the original robot sanitorium and retake the measurements. I would correct the typo on the notecard, jump back to Whimcentricity, and move the section to its proper position. I’d do the same thing when I would rez a linkset with a missing prim.

I was astonished—I probably shouldn’t have been—that the new sanitorium was EXACTLY like the original. After a certain point I would become confused as to which sim I was on. Is this the copy? No, I see I’m on Kaboom, so it’s the original. It was eerie.

It took three more days, but finally the new sanitorium was in place, a perfect replica of the original (except I hadn’t bothered to put in the lifts). I teleported Sweetie, sure she wouldn’t be able to tell the difference, but she looked at the sim name on the top of the screen straight away and figured out it wasn’t the original. DARN it!

That evening, after Sweetie had gone to bed, I stayed online and erased the new sanitorium, piece by piece.

Big job, huh? And finally finished.

Not quite.

Now I had to get it all to Sweetie with full perms.

Piece by piece, I pulled out the linksets and set them to full permissions. It was tedious because of the many scripts and textures placed inside some prims—but eventually I decided what the hell, I would try the new Permissions button in the Edit menu of the release candidate. I did, and found I could quickly set perms on an entire set. It saved a LOT of time.

I had to do a bit more bird-dogging, but eventually I had everything but the several objects that contained Outy’s particle scripts set to full perm. Because Outy’s scripts are No Mod, the objects that contained them were No Mod—but it’s only the scripts that can’t be modified. The prims can be edited.

My biggest headache was the tightroom structure in the HAL 9000 Memorial Secure Unit for the Robotically Criminally Insane. For some reason, all the prims were No Mod, No Transfer—and I couldn’t find out why. I was listed as creator of the prims, the textures were all full perm, and there were no embedded objects, and I actually COULD modify the prims, but no matter what, I was unable to get them full perm. I eventually remade the entire structure, rezzing new prims and using the limited perm original to set size, rotation, and position, and applying the same textures at the same densities. What a pain! It took hours!

Over the past week I’ve been giving Sweetie folders with robot sanitorium components, a few every day. I have to sneak up on her and drop them on her, and lately she’s been running away whenever she sees me. It’s a lot like giving a cat a pill. When a linkset comes to her with limited perms, I pull it out of my inventory, reset the permissions, and take it back into inventory and give it to her again.

Tonight, if I can catch her, I’ll give Sweetie the last three folders, a box containing textures for the several hundred signs I made, and a notecard indicating where she can buy the few things we didn’t make ourselves. Then she’ll have everything she needs to recreate the robot sanitorium herself, should she ever feel the need.

Tomorrow I’ll put everything in a box and put it at my prim storage platform on Whimsy (keeping a copy in inventory and giving the complete box to Sweetie and to my alt Dakota for safekeeping), and this long and boring—but necessary— project will be done.

No comments: