GOLDE is a high-performance Conway's Game of Life simulator with an intuitive GUI and an implementation of HashLife for jumping billions of generations instantly.
GOLDE 1.0.0 is now here! Check it out under Releases!
Also check out this article I just published about GOLDE's HashLife engine!
- Interactive GUI: Full-featured interface with intuitive controls
- Simulation Control: Play, pause, step, and adjust speed in real-time
- Hyper Speed: Jump any number of generations into the future using HashLife
- Customizable Rules: Experiment with outer-totalistic rules and toroidal topologies
- Pattern Editor: Create and edit patterns with all the quality of life features of a paint program
- Customizable Shortcuts: Edit keyboard shortcuts in real-time through shortcuts.yml
- Pattern Library: Pre-loaded classic patterns from Golly
- Multi-threaded: Separation of concerns for maximum responsiveness
- Cross-platform: Windows, Linux, and macOS support
- Production Quality: Comprehensive test suite with GTest
For general use, download the latest version of GOLDE from the Releases tab.
If you would like to build from source, follow the instructions below.
- C++23 compiler (MSVC, Clang, or GCC)
- CMake 3.29+
- Ninja (recommended) or other CMake-compatible build system
- OpenGL 3.3+
# Configure (Ninja single-config)
cmake -B build -G Ninja -D CMAKE_BUILD_TYPE=Release
# Build
cmake --build build
# Run tests
ctest --test-dir build --output-on-failure
# Launch application (Linux)
./build/GOLExecutable/bin/GOLDE
# Create installers (.zip, .msi, .dmg, etc.)
cpack -B buildNote that on Windows, the produced binary will also have a .exe extension (GOLDE.exe), and on macOS, the executable can be opened by running:
open ./build/GOLExecutable/GOLDE.appFor multi-config generators (Visual Studio, Xcode):
cmake -B build -G "Visual Studio 18 2026"
cmake --build build --config Release
ctest --test-dir build -C Release --output-on-failure
./build/GOLExecutable/Release/bin/GOLDE.exe
cpack -B build -C ReleaseStart GOLDE and you'll be greeted with an interactive grid and control panel.
- Draw cells to the screen by dragging the cursor
- Select regions of the grid by holding shift and dragging.
- Edit the selection by pressing copy, cut, rotate, flip, or any other command visible in the sidebar.
- Shortcuts can be found by hovering over any button, and can be customized by editing shortcuts.yml.
- Open patterns from the built-in library by selecting a preset from the bottom window.
- Start the simulation, and freely pause, restart, or stop your simulation.
- Step billions of generations by inputting any value into the "Step Count" field.
- Save and Load your universe for future use.
- Customize your window setup using ImGUI's docking features
A simple glider gun running for over 10^1000 generations using HashLife.
A turing machine in GOLDE.
A demonstration of basic GOLDE editing features.
Game of Life simulating itself in GOLDE.
GOLDE will continue receiving updates and is moving towards the goal of supporting modular extensions to the editor. In order of priority, the next major features that GOLDE is targeting are:
- Support for multi-state rules
- Support for Python and Lua scripting
- Robust extension support for adding rules, algorithms, topologies, and data structures (both in C++ and Lua)
- Support for making additions and modifications to the UI through extensions, such as additional widgets
This project is licensed under the terms of the MIT license.




