Sources and Receptrons 3, Leaving a Breadcrumb Trail.

Aim of Tutorial
Assumed Knowledge
Leaving Breadcrumbs
Potential Problem
Hints and Tips

Aim of Tutorial

This is a short tutorial designed to relate how to get Garret to leave to start leaving a trail of breadcrumbs. Once Garrett has picked up the magic pouch it will drop glowing rocks at his current position while he has it selected. If Garret does not select the pouch, then it will drop rocks at its previous position, though this is addressed in the tutorial.

Assumed Knowledge

This tutorial is for intermediate dromed users, who are fairly comfortable with basic-intermediate dromed operation. IMPORTANT: The system does not involve a custom gamesys, though reading the tutorial on Teleporting Garret will be of use but is not necessary.

. (Back to Top)

Leaving Breadcrumbst

After creating you initial room with the usual start point, and loading convict, etc, create a Blue Room (a place used for object storage and not part of the main level) The first thing to do is to create our 'breadcrumb' in this room. The best standard object is a rock, ObjectHierachy->Debris->Rubble->Rock.

Name it breadcrumb. The actual rock is rather large, so we better shrink it down to a more discrete size. Change the rocks size to about 0.5 in each of the dimensions. Then we have to update the object's size properites. Under normal circumstances, you do this after resizing an object to set the correct size in the engine itself. An example of this is doors, if you resize a door and you don't change its dimension properites, then the game-engine will think the door is at its original size, and you'll often get a black rectangle overlaying your door. We however do not want to set the dimensions to the right value, we want the wrong value, as if we set the breadcrumb's dimensions to zero, then any object falling upon it will not affect it. This fixes the problem of the rocks piling up, as they take up no space they won't stack. If you type in the correct settings, then you'll get a pile of rocks appearing which looks unsightly. Adjust the rocks properies, and then edit the section Physics->Model->Dimensions, and change the radius entry to 0.

We also might want are rocks to always glow, so add Renderer properties, SelfLit with a value of 50, and ExtraLight setting 1. The SelfLit creates a light halo around the object, and the extralight makes it permanantly 'glow' like when you can pick something up. Neither of these two settings will affect your light gem. You can change these values for your own personal preferences. The next step is to disable the ability to pick the stone back up again, as otherwise the player can chuck these things into the darkness and basically worm past all those dark places you have created. To do this, add EngineFeatures->FrobInfo, and change every single entry so it reads None. We also want to remove the collision sound. To do this, Add->Schema->Material tags, and remove the text in the editbox to make it silent.

We now have our 'breadcrumb'.

The next thing on the list need to have an object that the player can pick up and cause this dropping of breadcrumbs. This object, which I have name 'MagicRocks' could be anything, but a nice model for it is the 'purse' one. It resides under Physical->Treasure->Loot->Lucre, but if we create it directly we will have the problem of the game engine treating it like a piece of loot. Instead, create a button or other such switch (Physical->Gizmo->Buttons). After naming it, edit properties then Add->S, and delete the StdButton script, then Add->EngineFeatures->FrobInfo and change the WorldAction to move. Add->Inventory->Type and change it to item so you can pick it up and keep it. Finally, Add->Shape->ModelName and change apple to 'lotpouc2'

The next stage is to create our system for releasing breadcrumbs off every 10 seconds or so. Now, in the blue room create a door (DoorSource) and place it down the bottom of the blue room at bank 90. Then create a flowerpot resting upon it (called Trigger). Add a source to the door,Add->Act/React->Source, and set the stimulus to HolyStim, intensity level 3 , propagator radius. Edit the shape, and choose a radius of 5,and then edit lifecycle. Add the flag 'no max firings', and then set the period. This is how many milliseconds you want to wait before you drop a breadcrumb, I am leaving it at 5000 for 5 seconds. Next, add a receptron to the flowerpot. This receptron will create a clone of breadcrumb at magicrocks Add->Act/React->Receptrons, set min 0 max none, stimulus HolyStim, the effect is CreateObject, target: Breadcrumb, agent: MagicRocks. Target is what you want to create, agent is where you want to create it. By editting the effect we can change displacement settings and headings. As when you have any object selected, it is always 2.8 units off the floor, we can make is so the rocks always appear on the floor. Edit the effect and then type in -2.8 for the z value.

Tada. If you go and pick it up the pouch, and keep it selected, i.e do not switch to another object, it will drop rocks at your current position. If you do change your current selection, it will drop rocks at the point where you last had it selected, but as the rocks go over one another, you can't tell. The sample level features this and a maze with a lever at the end which activates the portcullis at the start.

(Back to Top)

Potential Problem:
Can anyone guess the problem? Well, this magic pouch will be creating rocks once every 5 seconds, onward to infinite. Is this going to muck up the game? The answer is yes, eventually. This cannot be directly solved though there are workarounds involving more programming. If you really want to use such a marker system in your level (or one where you can drop your own markers on demand) then proceed to the next tutorial.

(Back to Top)

Download the breadcr(158k) NOW!!!!!!
While stocks Last!

Tips and hints
  • Always remember the bug when editting with sources and receptrons - you must have a source or a receptron added to an object after you edit it for the first time. You can delete it afterwards.
  • Receptrons will always trigger in the order that they are in the receptron table, from top to bottom, so if you have a one shot trigger, which deletes itself, check that there are no further receptron instructions after the delete one.
  • If you can't work out what a source/receptron is doing, add a link from the receptron to frob a lever so that you can see it move.
  • For a collision source to work, the objects actually have to do that. They have to have a physical dimension, and one of them must stop.
  • Creating objects on the fly is always a risky proposition as does tax the thief engine. If it can't cope with what you want it to do, tone it down.
If you need help, write me, or go to the Forum, And if you don't want to be labeled as a newbie, use the Forum's search function first!