Sea Turtle for Open Simulator

Watch this beautiful reptile swim through your water in Open Simulator.
Modeled and scripted by Kayaker Magic. Last updated May 2019
For sale in my Kitely Market Store
See the demo video here!

Introduction

This Sea Turtle will swim in the water on your property, but never repeat the same path! A chaotic algorithm makes it behave in complex ways without being random. Although is is a non-physical object it moves smoothly. It will briefly rise out of the water, but it will not swim into the ground or outside of the sim boundaries. It will stay inside the water of your parcel, or nearby water if enabled. You can ride the turtle and direct it where to go with the motion control keys. However, this turtle has a mind of its own and will not violate the boundaries it has been set to stay in. By default only the owner can change the options, but it has an unlock mode that allows your friends to control it using the dialog menu. Anyone is always allowed to ride the sea turtle. It has a modes to ignore, avoid or turn towards nearby avatars. The turtle is normally a phantom object and swims through obstacles in its path. When not avoiding an object or turning to stay in bounds, the turtle will normally travel in a sinusoidal path, but has an option for going in straight lines.

A dialog allows you to change the parameters for path, transponder and where it is allowed to swim. It will stay inside your parcel, turning away from the edges. (This is useful for corralling your critter in a small area). If you allow, it can cross over into any parcel on your sim that has “friendly” permissions. You can give it permission to go anywhere in a region (even a var region), cross SIM boundaries only with a rider, or into a list of safe SIMs you provide. (See the SafeSIMs section below).

If you have a water-themed environment set up around your skybox, you can release one up there up there. It will assume the prim it was rezzed on is the water level, or you can set the water level precisely with an Ocean Engineering “SkyWater” prim.

I have Sea Turtles and many other critters swimming around my Ocean Engineering regions. To find links to several of my demo locations go to my blog.

Riding your Sea Turtle:

If you right click on the turtle and select “ride me” from the menu, you will grab hold and ride along. She does not make a particularly exciting vehicle to ride: She moves slowly and cannot travel outside of her set limits. She will refuse to swim outside the boundaries of your property (without permission) or outside the water (except for short jumps). She is an unruly mount that does not always go where you want. She does not make banked high speed turns. Perhaps it would be best to just sit and enjoy a stately ride around your property (at a constant 2 meters per second). You can influence where she will will go next with the movement controls or the arrow keys on your keyboard. (Note that these keys only work while you are sitting on her).

First set your Point Of View (POV) until you are looking where you want:

Alt-Right-Arrow will rotate your POV right (counter clockwise) around your avatar.
Alt-Left-Arrow will rotate the POV left around your avatar.
Rolling the mouse-wheel will zoom closer or farther from your avatar.

Then for controlling the direction:

Turn-left or left-arrow-key turns the critter to the left.
Turn-right or right-arrow-key turns the critter to the right.
Move-forward or up-arrow-key causes the critter to pitch down.
Move-backward or down-arrow-key causes the critter to pitch up.
(This sounds backwards, but it is intended to feel like pushing the stick forward/backward on an airplane joystick).

These critters are normally a phantom objects and can swim through obstacles in its path. When you are riding it, the same thing is true for you and you can swim through other objects. This is a fundamental limit of Open Simulator so you should use good RP skills, try to avoid destroying the illusion and try to avoid swimming through solid objects.

Configuring your Sea Turtle:

Left clicking on your critter, or right clicking and selecting “Menu”, brings up a dialog in the upper right corner of your window. If you don't use the dialog for 30 seconds, the critter will ignore it. If you still want to change something, you must IGNORE that dialog box and request a new one by left clicking again. The buttons in the dialog show the current state of all the options. You click on them to change to a different state, then the dialog pops back up to show you the new state in the button. The buttons in the dialog menu will have the following meanings:
HELP Pressing this button brings up the "go to link" dialog that brings you back to this WEB page to help you use your critter.
DONE Every time you change anything in the dialog, it pops back up to show you the new mode. When all the modes are set the way you want, press DONE to dismiss the menu the last time. This also saves all your settings (hidden in the descriptor) so this critter will remember what it was doing even if your region is hard-reset.
MORE/MAIN These critters have so many commands that they didn't all fit into one dialog! To get to some of these buttons, you must hit the MORE button to see more of them, then the MAIN button to return to the main dialog.
IGNORE/AVOID
CHASE
One button cycles through 3 different behaviors around avatars. Pressing on the button cycles the critter to the next mode then the dialog re-draws. If you want to get from CHASE mode to ATTACK mode, for example, you will have to press the button 2 times, waiting for the dialog to come back each time. Here is what each avatar mode means:
IGNORE The critter will ignore avatars as if they were not there.
AVOID The critter will turn away from avatars.
CHASE The critter will turn towards nearby avatars, follow and swim circles around them.
PARCEL/REGION
SAFE SIMS/GRID
One button in the dialog cycles between four modes. The current mode is displayed on the button, click it to change to the next one in sequence. Here is what each mode means:
PARCEL In this mode the critter will stay inside the boundaries of the parcel that it is currently in. This is a great way to create an aquarium to keep your critter nearby in a large var.
REGION The critter swims anywhere in the current region, even a var region. It will avoid parcels that have NO OBJECT ENTRY or NO SCRIPTS set in them.
SAFE SIMs The critter swims across borders into a list of regions known to be safe. See the section below about setting this up.
GRID Only while you are riding, the critter is allowed to cross any region border. It is up to you, the pilot, to know where it is safe to cross.
UN/LOCKED Normally only the owner of the critter can bring up the menu and change these parameters. When unlocked, anyone can bring up the menu and control it. This will allow your friends to play with the parameters of your critters. For example, most people prefer to turn CURVED mode off while riding. Note, only the owner can lock or unlock it.
RIDEOK/NORIDES Grabbing a Sea Turtle and making it give you a ride is cruel and forbidden in real life. So to simulate this I added a NORIDES mode where you cannot ride the turtle. However, RIDE OK is the default here in-world!
STOPPED/SWIMMING This single button can stop your critter in her tracks then start her back up again. On some grids, you cannot edit a moving object, so this button allows you to stop her, move her and use the dialog without having her swim off and escape from you.
TRANS ON/OFF One button cycles between TRANS ON and TRANS OFF. This is a transponder that allows you to find your critter when she wanders off and gets lost. When you put the critter in SAFE SIMS mode and let her swim in the Discovery Grid Oceans (for example), she can wander kilometers away. The transponder reports her position to the WEB site http://magic.kayaker.net/locator/. To see your private transponder reports or mark transponders as public so your friends can track them, you will need to log on with a password. The critter tells you your password the first time you turn the transponder on. But if you don't notice or forget your password, come see me to get a test version of the “Hotspot Reporter” prim which can reset your password.
RADIUS -1/+1 In skybox mode, the critter does not have the edges of the water to tell it where to swim. Instead, it will swim in a cylindrical volume around the place where it was rezzed. You can set the size of that cylinder with these radius buttons.
DEPTH -1/+1 In skybox mode, the critter does not have the ground on the bottom of the water to tell it where to swim. Instead it uses this depth parameter to tell it when to turn back up. This is the depth below the water, so if you have several SkyWater levels, the depth will be a different region height under each skywater.

Getting Started:

When you purchase a swimming critter, you receive a folder named after the critter, for example "Sea Turtle" in your inventory. Inside there is a turtle and a Remote Control prim. Before you rez one of them, you should be in the water on your own property. It will work on other property where you have permission to rez objects and run scripts. Drag a copy of “Sea Turtle” out of inventory onto the ground under water. It will immediately start to swim. If you want to change its default behavior, you can click on it at any time to bring up the dialog.

Using the Safe SIMs Remote
(Owner only):

Safe SIMs mode currently only works in OpenSim 0.9 or better where scripted objects can cross SIM boundaries. The critter has a list of “safe SIMs” that it knows it can cross safely into. I am working on a system of storing the default list of safe SIMs "in the cloud". This has been set up for Discovery Grid so far. If you are interested in setting this up on your grid, contact me for some scripts to add regions to the safe list. I have an orb you carry from one region to the next and it sends their locations to my database server.

In “SAFE SIMS” mode, the critter will autonomously cross into a SIM that is on the list. You can use the list from "the cloud" or replace this list on individual crittersusing the “Safe SIMs Remote” that came with your critter. Wear the remote on your right hand when you want to change the safe SIMs list. Inside the remote is a NC named “SafeSIMs”. You edit this NC to contain a list of safe places to go, then click on the remote to send them to the critter.

The SafeSIMs NC has a specific format with the following requirements:

If the first line in the note-card says 'reset', (highly recommended) the critter will forget the previous list and start a new one. You will probably always want to do this.

The rest of the lines contain the co-ordintes of SIMs you want added to the safe SIMs list. Each sim is listed on a separate line in the NC in 'vector format' with the value you would get from calling llGetRegionCorner() and dividing the result by 256. For example the InWorldz Desert Island was at <1000,1000,0>.

How do you find out what the co-ordinates are for each SIM you want to list? The remote can tell you! Just wear the remote on your hand and fly into each region. It will IM you the numbers in local chat. You can cut the numbers out of there and paste them into the SafeSIMs NC. The NC comes with a sample list of SIMs. You should use that as an example but delete those and replace them with your own.

Once you have edited your list, make sure you save the note-card, hold the remote near the critter, and left-click the remote. The center of the critter must be within 10 meters of the remote for this to work, and you will know it is working because the critter will report the co-ordinates to chat as it receives them. You can save that critter back into inventory with this list and it will remember it the next time it is rezzed. Caution: if you rez several critters, and they are within 10 meters of the remote when you click it, they will all get the same list.

Below is an example that resets (removes all the default safe SIMs) and adds just 6 SIMs back in.

reset
<976, 999, 0>
<976, 1000, 0>
<977, 999, 0>
<977, 998, 0>
<976, 998, 0>
<976, 997, 0>

Lag Issues:

This critter moves smoothly through the water without using SIM physics. This puts about as much of a load on your SIM as a physical object or a vehicle. It uses less than 0.10 ms on “Top Scripts”, so you could run many of them on an empty SIM. Every effort has been taken to minimize other potential lag issues. When in motion it only updates its velocity twice a second. The menu uses chat to communicate, but only while the dialog box is visible and stops listening when done with a dialog to decrease chat lag. The Sea Turtle uses 2 sculpted parts to lower the prim count. This helps decrease lag on the sim, unless you abuse it by rezzing too many critters.