What Is It?

Conway's Game of Life is a cellular automaton created by the mathematician John Conway. It is not a game with players. Instead, it is a world of cells where simple rules create surprisingly complicated patterns.

Each cell is either alive or dead. Every generation, the whole grid updates at once by counting the eight neighbouring cells around each square.

The Rules

Underpopulation

A live cell with fewer than two live neighbours dies.

Survival

A live cell with two or three live neighbours stays alive.

Overpopulation

A live cell with more than three live neighbours dies.

Birth

A dead cell with exactly three live neighbours becomes alive.

Why It Is Interesting

The rules are tiny, but the results can look almost alive. Patterns can move, blink, disappear, explode, or create other patterns. That is why the Game of Life is loved in both maths and computer science: it shows how complex behaviour can grow out of very simple logic.

Try the tool above by choosing a pattern, pressing play, stepping one generation at a time, or clicking cells directly on the grid.

A more sophisticated tool

My desktop lab includes saved canvases, a live-cell graph, a pattern library, custom rules, and a guided tour. Version 3.0 is available below for Windows, macOS, Linux, and ChromeOS. The Python source and code example below are also from the earlier edition.

Windows .exe Installer macOS .dmg Download Microsoft Store Linux AppImage / DEB Open source code - GitHub ChromeOS Desktop .apk
Legacy versions

Or install with Homebrew (macOS only)

On a Mac, install Homebrew first if you need it:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Then install Conway:

brew install --cask nithilanvivek/apps/conways-game-of-life-lab

These desktop apps run on your computer. The Windows app supports x64 and ARM64. The macOS app requires Apple Silicon and macOS 14 or later. Linux packages support Intel/AMD x86_64 and ARM64, targeting Ubuntu 24.04 or compatible distributions. AppImages require glibc 2.39 or later; DEBs require compatible GTK3 and JSON-GLib packages. The ChromeOS APK requires an Android-capable Chromebook with an Android 8.0 or later runtime and support for ADB sideloading. Contact me if you need another format or platform.

Third-party notices

The earlier Python source uses Python, licensed under the Python Software Foundation License. Copyright (c) Python Software Foundation and contributors. See LICENSE or THIRD_PARTY_NOTICES for details.