For those of you that don't know, the game of life is an interesting algorithm. The board is divided into cells which are either alive or dead. A cell begins living if it has three living nieghbors. A cell keeps living so long as it has two or three neighbors. And a cell dies if it has any other number of neighbors (lonliness or competition for resources). This simple premise leads to strange results. The app I'm distributing holds 10,000 cells, and you can watch as cells start forming connections and communities, and achieving a dynamic stability. Because that's really what the program is about. Certain arrangements of cells are stable. While the cells in the formation live or die, there's a pattern, and for lack of a better word, an "organism". The whole is more than the sum of its parts. Other unstable configurations die out. Sometimes the pattern involves moving across the board, in which case, you'll have mobile organisms, that will probably intersect with another pattern at some point- often, the two patterns mutually destruct. Other times, one pattern is "stronger" and actually consumes the other, and of course, the remaining posibility- symbiosis.
Complex behavior from simple premises.