Software Documentation

 

        The software includes numerous dialog windows and menus to control the operation of the system.  The controls include buttons, check boxes, radio-buttons, sliders, edit boxes and menus.  Each dialog, will be discussed in turn, along with each of its component controls.

The Main Dialog

The main dialog provides a variety of controls through buttons, check boxes, radio-buttons, a slider, an edit box, and menus.  This document will describe the function of each control, beginning with the “Genome” button group.


The Genome Button Group

 

When the application starts, the only active button is the Reproduce button, which guides the user to start by pressing this button.

Reproduce – Pressing the Reproduce button the first time creates a new creature, and causes the render window to open displaying the animated creature.  Reproduce is the button you will use the most.  The behavior of this button depends on the radio-buttons to the right of the Reproduce button.  The render window is shown below:

Random - At first, the Random radio-button is selected, so the Reproduce button will generate creatures with completely random forms and behaviors.  Even when you are making children of a selected creature, you can return to making random creatures by selecting the Random radio-button.

Selection - Once you have selected a creature (see below) to evolve, the Reproduce radio will switch from Random to Selection.  When the Selection radio-button is selected, the Reproduce button will make children of the selected creature.

Select - Use the Select button to select the creature currently displayed in the render window (the “current creature”) for evolution.  Once you have made your selection, the Reproduce button will make children of your selected creature, with genetic variations.  The Reproduce button will reproduce the last creature you selected, even if that creature no longer appears in the render window.  If you find a variant among the children that you like, you can select it, and it will become the parent of future reproductions.  See Help-Evolution for more information.  After making a selection, if you want to produce random creatures, you can click the Random radio-button.  Then, clicking the Selection radio-button will return to making children from your last selection.

Delete - The software remembers the last N (default to 16) creatures you have created, unless you delete them with the Delete button.  If you create a creature you don't like, you can delete it from memory.

Review > and Review < - If there is more than one creature in memory, you can review them with the Review > and Review < buttons.  The difference between the two buttons is that they go through the list in opposite directions.  If after viewing several creatures, you remember one that you would like to select for evolution, you can find it with the Review buttons.

The Color Effector Button Group

The Color effector button group provides a variety of controls over the expression of color by the creatures.

Genetic - When a creature is created, its genome defines a color for each kind of box in its body.  These colors never change during the life of the creature.  To view these genetically defined colors, select the Genetic radio-button.

Neuron - There is a class of neurons in the nervous system that output color values.  There are seven kinds of these neurons that vary by which color(s) they output: red, green, blue, red-green, red-blue, green-blue, and red-green-blue.  If these neurons are active, they generally will cause the color of the creature to be different from the genetically defined colors.  Often, the color values output from the color neurons will vary over time, causing the color of the body to change over time.  We can think of this as a way that the creatures have of expressing their "mood".  The neuron color effector is perhaps the most interesting color setting, because in this mode, color changes represent a "deliberate" expression by the creature.  To view the colors determined by neural activity, select the Neuron radio-button.

Joint - The joints between pairs of boxes have three degrees of freedom: yaw, pitch, and roll.  If you select the Joint radio-button, the color of each box will be determined by the yaw, pitch, and roll angles of the joint.  Yaw controls the red value, pitch controls the green value, and roll controls the blue value.  The joint color setting is generally the most beautiful, because the creature is almost guaranteed to change color if it moves.  However, there are two version of the joint angle control of the color.

The joint angles are controlled by joint angle actuators, which are effectors of the nervous system.  The joint angle actuators independently set yaw, pitch, and roll angles for the joint.  However, the joints do not instantly change to the angle values output by the nervous system.  It may take some time for the conformation of the creature to shift to the angles set by the actuator.  In the mean time, the actuator may have set new target angles for the joint.  The actual angle of the joint may never reach the target angles output by the actuator.  The angles output by the joint angle actuator are called the "natural" angles, which are often different from the "actual" angles of the joint at any time.

Actual - If the Joint-Actual radio-button is selected, the color of the boxes will reflect the actual angles on the joint at any time.  Because the actual angles always change smoothly from one value to the next, this setting causes smooth changes in color.  Joint-Actual is the default color state because it generally gives the most aesthetically pleasing effect.

Natural - If the Joint-Natural radio-button is selected, the color of the boxes will reflect the natural angles on the joint at any time.  The natural angles are the direct output of the joint angle actuators of the nervous system and can change wildly from moment to moment.  For this reason, this setting can cause wild changes in color.

Locomotion Button Group

 

The kind of locomotion available to the creature is determined indirectly, by the kind of physics simulated in the environment.  This is affected by the controls over the presence or absence of gravity and water, and by whether the ground plane is permeable (see next section).  If water is present, the creature experiences fluid drag when moving, and this can make it possible to swim.  If gravity is present, and the ground plane is impermeable, the creature will fall onto the ground plane where its movements will cause friction.  The friction of body parts moving on the ground plane can cause the creature to crawl across the ground (regardless of whether the ground is visible).  If both water and gravity are turned on, it simulates the bottom of a lake or ocean.  The creature may swim or crawl across the ocean floor.

Gravity - If the Gravity box is checked, gravity will be turned on, if not, gravity will be turned off.  If gravity is on, the creature will fall down.  Gravity is weak, so the creature will fall slowly.  The strength, and even direction of gravity can be altered through the Options-Miscellaneous menu.

Water - If the Water box is checked, water will be turned on, if not, water will be turned off.  If water is on, movements of the body parts of the creature will create an opposing force, fluid drag.  This can permit swimming.  The viscosity of the water can be altered through the Options-Miscellaneous menu.

 

Ground Plane Button Group

 

 

The ground plane serves two purposes: it is a reference plane that makes movements of the creature more apparent, and it is a surface upon which creatures can crawl.  Even if a creature does not crawl, the ground plane can be an obstacle that the creature can interact with in other ways.  The ground plane can be visible or invisible, permeable or impermeable.

Visible - If the Visible box is checked, the ground plane will be visible, if not, the ground plane will be invisible.  There is a small red sphere at the origin of the world coordinate system.  This sphere remains visible as a small point of reference even when the ground plane is invisible.

Permeable - If the Permeable box is checked, the ground plane will be permeable (creatures may pass freely through the ground plane), if not, the ground plane will be impermeable (creatures can not pass below the ground plane).  Actually, it is the center of each box that cannot pass below the ground plane.  It is a good idea to have the ground plane in the permeable state when creatures are created, because parts of large bodies may be created below the ground plane. This can cause the creature to explode even if it is inherently stable.

Speed Slider

 

The speed with which creatures move is determined by how fast the computer is, how good the graphics card it, how many pixels there are in the render window, and by how many bodies there are in the creatures.  Greater speeds can be achieved by making the render window small, or by (temporarily) reducing the resolution of the screen (right click on the desktop, then select Properties, select the Settings tab, and adjust the Screen area slider toward the left).  The block creatures are inherently low resolution forms, so it doesn't hurt much to reduce the screen resolution.

On very fast machines, small creatures may move annoyingly fast.  The speed slider is provided to slow down the simulation in such situation.  Remember to move the speed slider back to the "Max" position after viewing a creature that moved too fast.

Segment Limit Edit Box

 

The value in this box determines the maximum number of boxes in bodies of creatures generated at random.  This limit does not affect creatures read in from the Zoo, nor creatures generated as children of the selected creature.  The maximum permitted Segment Limit is 67.  Randomly generated creatures are often smaller that the Segment Limit.

 

Pull Ball Check Box

The x, y, z and a, b, c keys can be used to pull the creatures (by their first and last boxes) along the positive or negative principal axes.  However, if the Pull Ball box is checked, these same keys can be use to move a green ball which can be introduced through the Genetic Algorithm dialog.  The nervous systems include neurons which can sense the position of the green ball, thus creatures may interact with the ball, and it is convenient to be able to move the ball at will.

Back to Contents Page