I made a program where there's a bunch of flying orbs linked with lines to other orbs:
http://i90.photobucket.com/albums/k276/krims2006/orbs.gif
http://i90.photobucket.com/albums/k276/krims2006/orbs.gif
http://i90.photobucket.com/albums/k276/krims2006/orbs.gif
What I'm going to do with these orbs is to make them into a 3-dimensional representation of an algorithm. I will assign a certain function to each orb and its relation to other functions will be determined by its links.
For example, here's a simple algorithm represented in C++:
a = 3 + 4;
In my 3d system I will break each of these pieces into orbs and link them in a tree form:
(a)
|
(+)
/ \
(3) (4)
Once I've done this, I want to create a 3d algorithm that reproduces itself, so that the end result is like a biological cell reproducing itself.
The problem is that I can't think of a way for how to implement this self-reproduction. I could make a function-orb that takes all the orbs nearby and reproduces them exactly, but that ruins the whole point of what I'm trying to do. And what I'm trying to do is to create a 3d evolving system where even the means by which the "organisms" reproduce can be mutated and evolved.
So what I need is to break down self-reproduction into little steps that I will represent with orbs. I could store all the information on how to reconstruct an organism in some orbs, but then that is not really self-reproduction but having a really complex organism make smaller organisms...
Is that understandable? It's very abstract, but I happen to have become interested in this sort of thing because I have a lot of free time to waste. :D
So any ideas on how I can use very simple rules to create a self-reproducing organism in this 3d system?