Wednesday, February 11, 2009
Presenting the Orca!
Considering that I haven't posted in six months, it's understandable that you might be expecting some kind of update, or rundown, or list of major events that have taken place during that time. Well, I'm afraid you won't be getting anything comprehensive. Wait, there's one thing to add - as of February 1st, I've been in Second Life for exactly one year! That's really about it.
Now that we're all caught up, allow me to introduce my latest and most recent project. It is, of course, the vessel pictured above - which any Spielberg fan will immediately identify as the Orca, the boat which served as the setting for the entire second half of the 1975 film Jaws. Originally begun as merely a static model, the Orca is a 306-prim scale build, an object so big that it's actually two separate objects rezzed together.
After presenting the vessel to some people, something rather amusing happened - every single one of them proceeded to ask me when I was going to come up with a working copy. As in, a boat they could buy from me, so that they could rez it on some expanse of water and actually drive it around like all the other boats in Second Life. Of course, there were some problems with a task like that. The first one is the fact that vehicles that work in Second Life can be no more than 30 prims max - and your avatar for some ungodly reason counts as one of the prims, so technically the build can only be 29 prims. The way most people get around this restriction is by making only the main "hull" of the boat a 29-or-less-prim scripted vehicle; the rest of the vehicle is actually an attachment. Some type of pose or animation is used to keep your avatar frozen so that it - and more significantly, the attachments it's wearing - do not move. Simply script things so your avatar is in a certain position when wearing the attachment, and voila - you create the illusion that your avatar is sitting/driving/flying/piloting a huge multi-prim vehicle.
Of course, there's a problem with that, too. See, attachments can only be some 220 (or so) prims. Since the Orca, even minus the 29 prims used for the actual "vehicle", is more than 220 prims, I knew right from the start that I would have to turn it into a vehicle with TWO attachments. And since an avatar's pelvis attachment point is the only point that's always in the same location (as far as scripts are concerned) no matter how tall or short the avatar is, that means one of the attachments is going to have to be adjusted to fit properly for each customer that buys the boat.
To compound things, I did not know how to script. I'd taken some NCI classes which gave me some basic skills like how to get prims to spin or talk to each other, but that was the extent of it. When I decided to actually commit to this project, I had to learn just about every single bit of scripting I did as I went along. When you first rez the 29-prim vehicle, it automatically rezzes "the rest" of the boat atop itself. When the owner "sits" on the boat, it deletes those static rest-of-the-boat prims and rerezzes them in the form of attachments that automatically cling to your avatar. And when you're done driving and "stand up", the boat detaches those attachments automatically and re-rezzes the static portions of the boat. Learning how to script all that was a long and tedious process involving many trips to the LSL wiki, and an occasional question on the forum when I was absolutely stuck. And then I had to work on the vehicle physics - taking a freebie Linden boat script, I had to play and experiment with all the variables to find out exactly what function controlled what and then change them all appropriately so that the boat, when being driven, acted like the slow and lumbering behemoth it's supposed to be rather than an air-hockey puck. It was boring, it was aggrevating, and when it was done it I was very glad. And proud! Although I suspect that an experienced, professional scripter who's learned how to make scripts streamlined and efficient might look at my boat's scripts and see something chaotic, like a plate of baked ziti.
But, it's done. I say "done", because the thing works. You rez it somewhere, it does everything it's supposed to do, and moves like it's supposed to. I tested it on the new and fortuitously-open Blake Sea east of Nautilus, and sailed it through the USS sims from northernmost to southernmost and back, and didn't encounter all the problems I was certain I'd run into. Frankly, that makes me a bit nervous, but I won't go looking a gift horse in the mouth. Yet despite being "done", there's of course a couple of other things I'd like to do to it. For instance, I want to give it a wake when it's moving, and exhaust smoke when the "engine" is running at high speed. Of course, those things require me to learn particles, which should be every bit as joyous as my scripting education was.
For now, I think I'm about ready to go ahead and sell the thing - at least to the couple of people who were asking to buy one. When I'm done with the new gadgets, I'll simply give them to those people as updates. But never mind all that - never mind the commercial end of it. It's my very first serious vehicle, and as far as I know it is at the moment the largest working vehicle in Second Life. So, I'm going to be pretty happy with myself for the next while. The fact that other people have seen it and want one is a nice ego boost, too. So all in all I'm pretty self-satisfied, so please try not to let my giddiness get on your nerves.