the way to achieve lifelike behavior is to simulate populations of simple units instead of one big complex unit. Use local control instead of global control. Let the behavior emerge from the bottom up, instead of being specified from the top down. And while you're at it, focus on ongoing behavior instead of the final result. As Holland loved to point out, living systems never really settle down.