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
-
Click on the display area to toggle the state of a cell between on and off.
-
The Reset button resets the simulation with all cell states randomized.
-
The Speed slider adjusts the simulation update rate.
-
The Display Update Rate checkbox displays the sampled rate.
-
Use the Pause checkbox to suspend updates while you click cells on or 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.