As Ariel Dolan says on his site, "eFloys (evolving Floys), are social, territorial, evolving artificial life creatures, implemented in Java.
They belong to the flocking Alife creatures variety, sharing with them the social tendency to stick together, and the lifelike emergent behavior which is based on a few simple, local rules. They differ from most other flocking Alife animals by having the following properties:
- Territorialism (they defend their territory against intruders)
- Potential individualism (each can possess a different personality)
- Ability to evolve (using a Genetic Algorithm code)."
Take a look here.