Ichthyosaur for Open Simulator

Ichthyosaur swims majestically 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 Ichthyosaur demo video here!

Introduction

In the age of dinosaurs, there were reptiles evolved to swim in the ocean. The Ichthyosaur was one of these swimming dinosaurs and now you can re-create that age in the water on your sim. This dinosaur does not swim in fixed patterns or even in random directions. Instead it uses a chaotic algorithm that mimics the behavior of real fish. It stays inside the water on your sim, turning back at the waters edge or the edge of your parcel. It will briefly jump out of the water, but it will not swim into the ground or outside of set boundaries. It moves smoothly through the water without bogging down your SIM with “physics” or “vehicle physics”. And yet, like a vehicle you can ride this reptile and direct its path. It has a mind of its own and is difficult to steer, perhaps you should just hold on and enjoy the ride.

A dialog allows you to change the size of the Ichthyosaur and switch between different modes. This dinosaur can be set to ignore, avoid, chase, harass or attack avatars. After an attack, your avatar will bleed in the water!

The Ichthyosaur has several modes to control where it is allowed to swim. It will stay inside your parcel, turning away from the edges. (This is useful for corralling an ichthyosaur 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.

If you have a water-themed environment set up around your skybox, you can release an Ichthyosaur 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.

The Ichthyosaur is made from 5 custom designed sculpts that connect and rotate at the joints to create realistic looking swimming motion. This allows an incredibly low prim count of only 6! (The 6th prim is a special “blood” prim that makes the struck avatar bleed even as the ichthyosaur swims away.

I have Ichthyosaurs swimming around my Ocean Engineering regions. To find links to several of my demo locations go to my blog.

Riding your Ichthyosaur:

If you right click on the Ichthyosaur and select “ride me” from the menu, you will immediately “sit” on it behind the head. An Ichthyosaur does not make a particularly exciting vehicle to ride: It moves slowly and cannot travel outside of its built-in limits. It will refuse to swim outside the boundaries of your property (without permission) or outside the water (except for short jumps). It is an unruly mount that does not always go where you want. It does not make banked high speed turns. Perhaps it would be best to just sit on your Ichthyosaur and enjoy a stately ride around your property (at a constant 2 meters per second). You can influence where the Ichthyosaur will will go next with the movement controls or the arrow keys on your keyboard. (Note that these keys only work while you are swimming/sitting on the Ichthyosaur). In mouselook mode, you can steer your dinosaur by just looking where you want to go!

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

The Ichthyosaur is normally a phantom object 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 Ichthyosaur:

Left clicking on your Ichthyosaur, or right clicking and selecting “Menu”, brings up a dialog in the upper right corner of your window. (Lower right on Viewer V2). If you don't use the dialog for 30 seconds, the Ichthyosaur will ignore it and start swimming again. 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.
MORE/MAIN The ichthyosaur has 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/HARASS
ATTACK
One button cycles through 5 different avatar behaviors. Pressing on the button cycles the Ichthyosaur to the next mode then the dialog re-draws. If you want to get from IGNORE mode to ATTACK mode, for example, you will have to press the button 4 times, waiting for the dialog to come back each time. Here is what each avatar mode means:
IGNORE The Ichthyosaur will ignore avatars as if they were not there.
AVOID The Ichthyosaur will turn away from avatars.
CHASE The Ichthyosaur will turn towards nearby avatars, follow and swim circles around them.
HARASS the Ichthyosaur turns towards avatars, follows them and if it gets close enough, it bumps avatars and pushes them around.
ATTACK In this mode the Ichthyosaur will turn towards avatars, follow them and if close enough the ichthyosaur will bite the avatar and swim away, leaving you in a spreading cloud of blood in the water.
UN/LOCKED Normally only the owner of the ichthyosaur can stop it, 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 the ichthyosaur. For example, most people prefer to turn CURVED mode off while riding. Note, only the owner can lock or unlock it.
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 Ichthyosaur in check.
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 border. It is up to you, the pilot to know where it is safe to cross.
SIZE -5/-1/+1/+5 Pressing these buttons changes the size of the Ichthyosaur by the amount shown. You can change the size up to 60 meters long thanks to the new prim linking and size limits. However a creature that large requires a lot of room to move, and moves slowly. The Ichthyosaur was designed to work best at a size of around 10 meters long.
RADIUS -1/+1 In skybox mode, the Ichthyosaur does not have the edges of the water to tell it where to swim. Instead, it will swim in a circle around the place where it was rezzed. You can set the size of that circle with these radius buttons.
DEPTH -1/+1 In skybox mode, the Ichthyosaur 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.
STOPPED/SWIMMING This single button can stop the ichthyosaur 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 the ichthyosaur, 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 the ichthyosaur when she wanders off and gets lost. When you put the ichthyosaur in SAFE SIMS mode and let her swim in the Discovery Grid Oceans, 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 ichthyosaur 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.

Getting Started:

When you purchase an Ichthyosaur, you receive a folder named Ichthyosaur in your inventory. Inside there is an Ichthyosaur, perhaps an Ichthyosaur Remote and a copy of this document for reference. Before you rez an Ichthyosaur, 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 “Ichthyosaur” out of inventory onto the ground under water. It will immediately start to swim. If you are in the way, it will bite you on the way by! If you want to change its default behavior, you can click on it at any time to stop it and bring up the dialog.

Using the Safe SIMs Remote
(Owner only):

Safe SIMs mode currently only works in OpenSim 0.9 or better where vehicles 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 replace this list using 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 board 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 is 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 dinosaur 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 Ichthyosaur uses sculpties to lower the prim count to an amazingly low 6 prims! This helps decrease lag on the sim, unless you abuse it by rezzing too many Ichthyosaurs.