Adam Campbell's Website
2D cyclic cellular automata

  • I got the idea for this type of automaton at It is called the cylic space cellular automaton, and was developed by David Griffeath(University of Wisconsin).
  • A two dimensional grid is filled with psuedo-random integers between (0, 9), inclusive. Every pixel on the two dimensional grid has eight neighbors. During each cycle, all of the neighbors in the 3x3 block under "Neighbors" marked with a white 'X', will be checked. The current pixel checks its value against the neighbors' values, and if any of the neighbors' values have a value one higher than the current pixel, then the current pixel changes to that value. For example, if the current pixel has value 5, and one of its marked neighbors(a neighbors with a white 'X' in the box) has the value 6, then the current pixel changes its value to 6. When the value of a pixel is the maximum value, it checks if any of its neighbors have a 0 value. This creates the cycle.
  • Clicking on the pixels themselves will increment the value of that pixel by one, unless it's the maximum value, then it changes to zero
  • Neighbors: Mark or unmark the boxes under "Neighbors" to determine if the pixel checks that neighbor or not.
  • Pause: Simply pauses the applet. You can change the applet while it's paused, using the menu or by clicking on a pixel
  • C.D.(Cyclic Difference): I don't know if this has been done before, but when the box next to C.D. is marked, then the current pixel checks for different neighbor values than (current_value + 1), where current_value is the value of the current pixel. The pixel will check for values of (current_value + 1) and the next cycle it will check for (current_value + 2) and so on... This creates a puslating effect.
  • Color: Changes the color of the pixels
  • Speed: Click the '-' to go slower and '+' to go faster
Additional Information:
  • This CA has been a good learning experience for me, and I hope you can get something out of it also. Play around with different neighbor combinations, with C.D. on or off, and see what unique designs are created.
  • E-mail me at if you have any questions