
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.
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.
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).
Additionally, I added special "ALife" section to my normal blog. You can read about any news or developments with this project: My ALife Blog
;
; 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!)