Experimenting with some different rendering styles.

Edit: Here’s some organisms which were actually evolved.

Edit 2: I’ve been inspired by this man.

I was inspired over the summer to write a program which generated and evolved competing, artificial life forms. I spent a lot of my summer interning in a cubicle so I wanted to do something for fun. It doesn’t look like very much at the moment but the program is capable of evolving rather complex creatures. These stick figures are a poor representation and not very interesting to look at so I will probably be making it look pretty. This screenshot shows the simulation after about 40 generations of selection for net distance (essentially selection for locomotion). I use a fixed population size and generate new offspring based on the fitness score of an individual divided by the total population fitness score. Each “creature” is fully described by its genome which is itself composed of any combination of B,S,M, and D. Unlike framsticks I use no special control characters and instead determine the meaning of a given letter by it’s position in the gene. For instance, the 4 characters following an M (motor) are decoded into 2 numbers from (0-15). All the creatures are bilaterally symmetrical because I intend to implement some kind of Braitenberg vehicle type of control scheme. In order for the physiology of the creatures to be meaningful in any way, I’ve implemented a verlet based physics engine. Each “stick” is actually composed of 4 points constrained into a square with the diagonal aligned with the axis of the stick. I found this article particularly helpful.

Edit: Another picture, some 70 generations later

Edit 2: A chart showing that the fitness (the distance traveled by an individual organism in its lifetime) does indeed trend upwards over time. I’ve got some experimentation to do with population size and how frequently mutation occurs.
