Last updated at 9:32 am UTC on 23 April 2003
Squeak Life is an artificial life simulation. It describes interactions between evolving individual, living in a virtual world. In this last one several species are mixed, each one is defined by an individual color. Each individual has its own behavior (defined programmatically by the user).
This set of all these evolving behaviors defines Squeak Life. Each individual can be acted by one or more behaviors, letting it to choose, step by step, its way and its speed. Each one has a viewframe with an angle and a distance. This viewframe is subdivided into several possible way. Each behavior counsels (using a weight) which way is the best taking the environment into consideration. In order to understand, let's took a simple example. A behavior describing a straitforward move will leads to give the highest weight for the middle way, and a lighter one for others way.
When an animal are acted by several behavior, the "right" way to choose is computed by an average of all weights. This is how an individual can progress further. Several behaviors can be used such as: avoiding obstacles and going at a determined point (for fetching some foods for instance).
Some new behavior will be added very soon, for having some more complex and accurate behaviors. For now, the following behavior are available:
- BehaviourAvoid Avoid obstacles
- BehaviourFlock Search for a specie leader and follow it.
- BehaviourPredator Looking for a prey, attack it, and eat it once founded. Then the predator grows up.
- BehaviourPsycho Same than previously, the prey could belongs to the same specie.
- BehaviourRandom Random walk.
- BehaviourRound Round around walk (as a circle).
- BehaviourStraight Straitforward move.
- BehaviourTarget Once a target is defined, this behavior make the animal going to it.
A small flock is formed following a leader going strait avoiding to go out of the map.
An heterogenous set of a virtual World
Concretely, all behaviors inherit from the class Behaviour. At each step, the method findRecommendation is called, giving a table of recommendations based on an average.
An individual going to a defined place avoiding obstacles.
Each animal has a brain. Only a brain knows what going on the external environment. So, behaviors are contained in it. Whereas the class Beast defines only physical properties (such as the size, the speed, the way, the viewframe, ...) All choose regarding the behavior are chosen by the brain.
Squeak Life is just beginning. I wanted to work about mixing artificial behaviors. Following this way, the actual release contains three small scenes where individuals can evolve properly. The complete application can be downloaded from SqueakLife.zip. To unzip it, to load the change set SqueakLife.cs, and to launch SqueakLife start.
I really would like to meet people interesting by this kind of project in order to collaborate. For any question, do not hesitate to contact me.
Send me your opinion about Squeak Life!
My official web page could be find on: