Cellular Automaton




About

To learn more about what a cellular automaton is, read about it on wikipedia.

This implementation has 5 states, with rules that I wrote (inspired by Conway's Game of Life). As far as I can tell without any real study or testing, it is a Class 3 on the Wolfram scale. This is hard to judge though, based on the small grid size and wrapping behavior.

Rules

Each cell has a life value a ranging from 0-4. Every turn, each cell's life value is changed based on the total combined life value of its neighboring 8 cells b. The rules used to determine the effect are as follows:

  • If b < 2 or b > 6, a = a - 2
  • If b <= 6 and b > 3, a = a - 1
  • If b = 2, a = a
  • If b = 3, a = a + 2

Implementation

All of this is running in simple HTML and javascript (with a touch of jQuery). If you are interesting in looking at the code, you can view the .js file. I wrote this in more or less a day - part boredom, part procrastination.

Controls

Use the buttons at the top of the screen to pause/unpause progress, advance frame-by-frame, clear the board, or randomize the board.

Click on individual cells to toggle their state. When doing this, an additional state (red) is available. Red cells never die, and every turn each neighboring cell will toggle between having a value of 0 and 1. This state can only be set by toggling the cell manually.