Raw Fishes
Purely apart from any Behaviors, Fishes express certain fundamental attributes and characteristics.
Fundamental Attributes
- Size and Speed: These attributes are exposed in the Add Fishes panel and are combined to derive other Characteristics of a Fish.
- Type: The appearance of a Fish is exposed in the Add Fishes panel and is used only for visual purposes.
- Gender: The Gender of a Fish is randomly generated when the Fish is created.
- Energy: Fishes are given a certain vital Energy when they are created
- Destination: Fishes always have a Destination. Raw Fishes have are given a random Destination at creation time.
Derived Characteristics
- Cycle Energy: The Cycle Energy is the amount of Energy required to conduct one life cycle. The Cycle Energy is the product of Size, and Speed, thus higher values for these attributes produce a larger Cycle Energy. The Cycle Energy is deducted from the Fishes Energy every life cycle.
- Bite Radius: The Bite Radius determines how near an object (Plant or Fish) must be before this Fish can interact with it. The Bite Radius is defined as the Size divided by 2.
Life Cycle
The natural life cycle of a Fish is as follows:
- Seek Destination: All Fish have a destination. This step of the life cycle moves the Fish closer to its Destination at a maximum speed of Speed.
- Perform Behaviors: Iteratively invoke the Behaviors this Fish has learned.
- Reduce Energy: Deduct Cycle Energy from this Fish's Energy.
- Check Alive: If this Fish's Energy has dropped to 0 or less, set the Alive state to false.
When a Fish dies (runs out of Energy) it floats through the top of the Puddle.