Cells

This is the home for my tinkering with cellular automata. Originally, I thought it would be a fun challenge to build John Conway’s Game of Life. That then expanded into exploring Stephen Wolfram’s 256 rules. For an introduction to both of these topics, see Daniel Shiffman’s book The Nature of Code .

After completing my version of the game of life I added support for generational rule sets. These multi-state simulations can create rich patterns by controlling color based on how many iterations a cell has survived.

My Little Program#

The program allows you to run different types of cellular automata rules. Think of rules as a population simulation. Each position on the grid can contain an alive cell or nothing. Before running a simulation you can set the initial population by clicking on the grid.

Right clicking on the grid displays the context menu. The context menu provides a set of templates for building up a population. The bottom group of templates are some of Stephen Wolfram’s 256 rules. Be default, Wolfram’s rules all start with a single alive cell at the middle of the first row. To randomize a rule’s starting inputs check the Random Start checkbox.

Disclaimer#

This is a hobby project and as such has not been thoroughly tested on all browsers. It is recommended to use the latest version of Chrome or Firefox. Mobile devices are not supported.

Resources#

If this sort of thing interests you, here are some resources you can leverage to dive deeper.

  • The code for my little app and an explanation for how it works is here .
  • Golly is a more powerful application that can be used to explore cellular automata.
  • ConwayLife.com is an online community for cellular automata.
  • /r/cellular_automata is a subreddit dedicated to cellular automata.