Well, agents in an alife software must also have the ability to mutate. That is, for me alife means evolution: which is made of ability to reproduce and mutate. But evolution also means other things, like complex interaction between great number of agents. For instance, I don't like software such as Framsticks, which is, as far as I know, all about optimization of shape for a single particular purpose, like moving.