One Year of ALife

For one whole year a dedicated linux box will be running an "artificial life" simulation. Every day a new snapshot will be uploaded to this website. The software is an evolution simulator called Evolve (version 4.0). My hope is that after one year there will exist amazing creatures that stalk/hunt/evade other creatures.

Update July 3, 2007

I restarted the one year of alife program. This one uses the XY simulation mode, which means all creatures reproduce sexually (not asexually, like previous attempts).

When did you start?

On May 3rd, 2006 May 24th, 2006 July 7, 2006 September 26, 2006 January 1, 2007 July 3, 2007 Click here to see the latest progress and download the snapshot simulation files.

Who are you?

My name is Ken Stauffer. I am a software developer from Austin, TX.

Why are you doing this?

I have been interested in ALife for many years. I recently dusted off one of my old ALife programs, and completely rewrote it. I thought it would be cool to run it for an extended period of time.

It is my hope that creatures with really cool behaviors will evolve and complex genetic programs will emerge. I have run small simulations for a couple days at a time (at most). This will be the first large scale simulation, and so I have no idea what to expect.

What can I do?

If this interests you, you can check out the software Evolve 4.0. If you like it, go ahead and install it (it is completely free). This program is easy to use and will let you examine this project as it unfolds.

The source code is also available, so you could help me enhance the client GUI stuff to make it better (I have a huge list of enhancements I want to try out).

What is Evolve 4.0?

This is the software that runs the simulation and allows you to visualize it. You can watch as the evolving creatures move about.

What is the current progress?

Every day a new snapshot is uploaded. Check out the current progress here.

Additionally, I added special "ALife" section to my normal blog. You can read about any news or developments with this project: My ALife Blog

How fast is the machine?

It is a 2.2 Ghz Athlon 64 3200+ processor, with 512 MB of RAM, SuSe Linux 9.3. It simulates about 7 millions steps per day.

What was the starting genetic program?

Here you go:
;
; sex_xy_seed.kf
; ===============
;
; This is a PURE sexual creature. Meaning it doesn't try
; asexual reproduction in its reproduction routine. It can only
; be bootstrapped with a small population of other creatures.
;
; (it is also intended to use the "xy " hack)
;
; This creature forever moves in various directions until
; its forward movement is blocked. Before moving in a new
; direction it will try to reproduce and eat.
;
; The "reproduce" algorithm is both SEXUAL and ASEXUAL.
; If there are no organisms nearby, then we reproduce asexually. Otherwise.
; we try to reproduce sexually (by fertilizing spores, or just creating spores
; for others to ferilize).
;

main:
{
	reproduce call

	{ 1 1 omove ?loop } call
	reproduce call
	1 NEAREST eat pop

	{ -1 0 omove ?loop } call
	reproduce call
	1 NEAREST eat pop

	{ -1 1 omove ?loop } call
	reproduce call
	1 NEAREST eat pop

	{ 1 0 omove ?loop } call
	reproduce call
	1 NEAREST eat pop

	{ 1 -1 omove ?loop } call
	reproduce call
	1 NEAREST eat pop

	{ 0 1 omove ?loop } call
	reproduce call
	1 NEAREST eat pop

	{ 0 -1 omove ?loop } call
	reproduce call
	1 NEAREST eat pop

	{ -1 -1 omove ?loop } call
	reproduce call
	1 NEAREST eat pop

	1 ?loop
}

;
; A pure sexual algorithm.
;
; If we are touching a spore, fertilize it.
; Otherwise lay down a spore
;
reproduce:
{
	2 1 NEAREST2	; any spores directly touching us?
	2dup or
	{
		;
		; fertilize any spore we are directly touching
		;
		0 MAKE-SPORE pop
	} {
		;
		; lay down spore in opposite direction from nearest anything
		;
		15 NEAREST 2negate
		energy 4 /
		MAKE-SPORE pop
	} ifelse

	;
	; move in opposite direction from nearest thing.
	;
	15 NEAREST 2negate 2dup 2dup
	omove pop
	omove pop
	omove pop
}



VOLVE    4.0 (download it!)