I designed and developed this React app based on Conway’s Game of Life, which has a few simple rules:

  • Cells are either alive or dead
  • Any live cell with fewer than two live neighbors dies, as if by underpopulation.
  • Any live cell with two or three live neighbors lives on to the next generation.
  • Any live cell with more than three live neighbors dies, as if by overpopulation.
  • Any dead cell with exactly three live neighbors becomes a live cell, as if by reproduction.

Each generation is stored in a doubly-linked list, which allows the user to step forward and backward in the game’s history.

It was a lot of fun to make and can produce some interesting patterns, just with a few simple rules.