
A typical shot of a "Game of Life"
(which isn't actually a game at all!)
John Conway's Game of Life is a simple, and quite popular, example of cellular automation. Imagine an infinitely large grid with each square representing a cell. A cell can either be alive or dead, represented by black and white respectively. Now the way Life works is quite simple, but there are much better authors out there who have already written plenty on introducing this system. So, if you're not familiar with the details of the Game of Life, feel free to check out one of these sites...but make sure you come back to read about what it can do!
Wikipedia - This one uses some fancy computer and math language.
Math.com: Game of Life - This article is more accessible and has a Java applet where you can play with simple examples.
- Life is an example of self-organization.
The first thing that most people notice when they look at this system in motion is that colonies form and migrate across the space. Messengers often get sent off and can completely dismantle a whole colony, or possibly start a new one. No matter what random arrangement of cells you start off with, the population will settle into similar patterns and attempt to keep growing without overcrowding. - Life shows that complicated colonies can arise from simple rules.
Notice how, in the later stages of the system, little movers will sometimes hit a few stable formations and create an explosion of cells. Whole colonies can propagate and migrate, but just a small change can kill of hundreds of cells. There's a delicate equilibrium going on here that is important in understanding how artificial life works. - Life is Turing Complete.
In case you don't know what this means, it's huge. Alan Turing, one of the founding fathers of Computer Science and its algorithms, invented a theoretical machine (we call it the "Turing Machine") which he proved was as capable as any computer we could ever invent. So anything that we can do on a Turing Machine, we can do on a computer. Likewise anything that a Turing Machine can't do, a computer can't do. As it turns out, you can create a set of cells which act like a Turing Machine. So anything we can do with a computer, we can do with the Game of Life, albeit impractical and inefficient. People, with all that time on their hands, have already written populations which do fancy things like arithmetic and even compute prime numbers! I doubt we'll ever see Microsoft Word programmed by Life though. -
It looks cool!
The obvious draw to the Game of Life is that it simply looks cool on screen. Who would have thought that such a simple system can have such amazing qualities when put in motion?
It's pretty clear now that if we add some new rules to cellular automation then we can do some amazing things. If we can learn how to balance rules of artificial life, then we can create life-like thinking machines. Here is currently the most famous example:
Massive
Have you seen The Lord of the Rings movies? All three of those movies have had scenes with thousands of
computer-generated orcs, elves, elephants, etc all acting as one army, but each individual exhibited a mind of
its own. Instead of animating each creature one-at-a-time, the special effects experts wrote software called
"Massive" which utilizes Artificial Life to make these enormous battle sequences. Every individual
was given a (simple) mind of its own and made decisions based on its immediate surroundings - much like these
cells in the Game of Life. Ironically, one of the bugs they encountered in their software was there was always
a few cowardly creatures who ran away from the battle. I guess those soldiers never made it to the big screen.
What fun is talking about the Game of Life if you can't see it for yourself? Below are links to some software that "plays" the game. They're both meant for Windows machines, but Macintosh users can find plenty of programs like these on the internet.
The first one, Life32, is the best Life Editor that I can find on the Internet. On that page is also a link to some example files that artists have made. I suggest you take a look at the hundreds of arrangements that artists have put together for your aesthetic pleasure. To be honest, I just laugh at how much time people have on their hands to put them together.
WeissLife is a program that I wrote (maybe I should hold my laughter since I spent a long time programming this). It takes a random arrangement of cells and runs the system as fast as possible to show movement of colonies and the delicate balance that Life needs to keep from stagnating. The edges of the system are stitched to the opposite side to make the grid seem infinite.
Page last updated: February 04, 2008

