Danya Lette

Conway’s GOLf

animation games javascript

In my free time, I’m making a game based on conway’s game of life. Here’s the result of my work so far. Obviously, it’s not a game yet, but it is a functional cellular automaton written in javascript.

Click on a cell to flip its state, or drag to paint on living cells.

 

In this example, the starting state of living cells is called a “pulsar” – an example of a cyclic form with a period of 3. In other words, if you step 3 times it will return to the original state.
Click on the cells to turn them on or off – maybe you can find other stable or cyclic forms.

What

Conway’s game of life is not really a game; rather, it’s a cellular automaton. Well…according to wikipedia, it is a game…but it’s a zero-player game.

A cellular automaton is a grid of ‘cells’ that have states: on or off; alive or dead. Under certain conditions, cells that are alive will die and cells that are dead will come alive.

The ruleset used specifically in conway’s game of life has it that living cells with more than 3 neighbours and fewer than 2 neighbours will die; dead cells with exactly 3 neighbours will come alive. If you need a mnemonic: a cell can die of overpopulation…and of loneliness.

Why bother

It’s no coincidence that this field’s terminology alludes to organic life. Cellular automata are a computational phenomenon – viz. cells have addresses and states, logical operations determine future states, etc – but they are oft-cited in philosophy of biology as a window into understanding the emergent properties of a group of individual organisms or cells. The patterns that arise in cellular automata are often surprising and appear to have semantic content or intentions. Similarly, the achievements of a colony of ants appear to be inexplicable in light of the very simple rules that guide the behaviour of individual ants.

Evolution itself has (/is) a simple set of rules that act on individuals. The astonishing outcome is the result of a ruleset iterated many times over.

Learn More

  • Emergence on wikipedia.
  • There is a radiolab on the topic.
  • This is related to the mathematical concept of iteration. This might lead you down the path to fractals. Here’s an excellent explanation of the relationship between cellular automata and fractals (from a Carnegie Mellon computer science class).
  • Regarding evolution and thought as emergent phenomena: an old professor of mine, Ronald de Sousa, wrote a book on the topic.