Actions

Work Header

Conway's Game of Life

Notes:

(See the end of the work for notes.)

Work Text:

Computing...
Tap the green button A LOT to power the simulation

















Post-processing...
Seeking moral validation...
Finalizing Answers...
Minding the Gap...
Reticulating Splines...
Decoupling Matrices...
Run Next Generation
Lowering prices...

Notes:

Conway's Game of Life is a classic "zero player game" played with a grid of on/off cells viewed through a series of generations. Each generation, the board state can change based on these rules:

  1. A living cell dies if it has fewer than 2 neighbors ("underpopulation"), or more than 3 neighbors ("overpopulation").
  2. A living cell survives to the next generation if it has exactly 2 or 3 neighbors.
  3. A dead cell is born to life if it has exactly 3 neighbors ("reproduction")

The Game of Life is a popular demonstration of Turing completeness, which basically proves some system (electronic system, programming language, etc.) can do anything a general-purpose computer can do. I am pleased to solidly demonstrate AO3 is Turing complete. (I know it also runs Doom, but that was a bit of an off-site streaming cheat, rather than a proper AO3 implementation.)

There's an enitre Game of Life wiki dedicated to interesting shapes (some of which might fit in this fairly small grid), the most famous of which is surely the humble Glider.

For the sorcerers among us, the full code with some explanatory comments is at this JSBin link.