To speed up the simulation, click Warp=10.
These circles are each controlled by their own neural network that tells them how to move, attack and change color. Circles that survive long enough get to be the template for the new creatures constantly being added to the board. These new creatures have the parameters of their network mutated slightly, which could either help them or harm them.
The creatures all have a type, shown by the colored circle around them. Food nodes are shown with a white circle instead of a colored one, and always look white. Changing away from the true color costs a small amount of energy. Creatures can only eat those with a different type, which encourages them to form teams. Each type has a separate genome, so they have to change how they act in response to the others.
Creatures see creatures near them by their color. There are 4 sensors on them, and the sum of each color component within their range is provided to the creature. This means that creatures are effectively invisible when they turn black.
They also have a very small short-term memory, which you can display with the "Toggle memory arcs" button. This enables them to form more complex behaviors, like remembering how a nearby node changes to see if it is a food node.
A blue square appears around the creature with the longest life. A yellow square appears around the creature (or creatures) with the longest lineage.
Check out the source code if you like that sort of thing.