Life

Metadata

Description

  • This is an implementation of Conway's Game of Life.
  • The display area shows a grid of cells that are either on or off. At each time step, each cell transitions to on or off based on the number of adjacent cells that are on.
  • If the number of adjacent cells is less than two or more than three, it will turn off. If the number is two, the cell will stay the same as it was. If three, the cell will turn on.

Objectives

  • Observe how spatiotemporal patterns emerge from these simple rules.
  • Make patterns that travel across the display area.

Controls

  • The Reset button restarts the simulation.
  • The Speed button toggles the simulation speed between slow and fast.
  • Click on the display area to toggle the state of a cell between on and off.

History

  • In 2008, I wrote a Java-based implementation of Conway's Game of Life. I also wrote an implementation using Drools, an open source Java rule engine.
  • I wrote this 2023 implementation in the Rust programming language and then compiled it to WebAssembly (Wasm) so that it can run in a webpage. See my Rust and WebAssembly research page for links to tutorials that I wrote on how to do this.