The aim of this project was to evolve simple mechanical creatures consisting of parts and joints that can move in a physics-based world. These creatures were evolved by an evolutionary algorithm using L-systems as encoding and movement ability as fitness function. The creatures that could move the farthest were selected for further breeding.

The ultimate goal of this project was to use these evolved creatures in a game context, which is why it was implemented in Unity. Due to time constraints we didn’t create an actual game with the creatures, but we added the ability to pick your favourite creature and control it yourself by activating it’s joints.

This project was our final project in the course Procedural Content Generation at the IT University.