Golly – exploring cellular automata like the Game of Life

In Operation

The Game of Life involves starting with a pattern of live cells and seeing what happens.

Even though the rules of the ‘game’ are deterministic, it’s not possible to know whether an arbitrary starting pattern will expand forever, start oscillating, or die out.

Here’s a very short video showing one of the patterns in action.

There’s lots of features available including:

  • Highly configurable.
  • Supports bounded and unbounded universes, with cells of up to 256 states.
  • Generate patterns using various algorithms:
    • QuickLife – a fast, conventional (non-hashing) algorithm for exploring life and other 2D outer-totalistic rules.
    • HashLife – uses Bill Gosper’s super fast hashlife algorithm to achieve excellent speed when generating patterns.
    • Generations – supports similar rules to Life but with an extra history component that allows cells to have up to 256 states.
    • Larger than Life – a family of cellular automata rules that generalize Game of Life to large neighborhoods and general birth and survival thresholds.
    • JvN – this algorithm supports 3 rules: JvN29, Nobili32, and Hutton32.
    • Ruleloader – lets you plug in new rules in  rules in external files.
  • Many different types of CA are included: John von Neumann’s 29-state CA, Wolfram’s 1D rules, WireWorld, Generations, Paterson’s Worms, Larger than Life, etc.
  • Supports Busy Boxes and other 3D CA rules.
  • Responsive even while generating or garbage collecting.
  • Reads RLE, macrocell, Life 1.05/1.06, dblife, and MCell files.
  • Reads common graphic formats: BMP, PNG, GIF, TIFF.
  • Extract patterns, rules and scripts from zip files.
  • Download patterns, rules and scripts from online archives including LifeWiki Pattern Archive, Gliders in Life-Like Cellular Automata, and Jason Summers’ Pattern Collections.
  • Includes a large library of pre-defined patterns.
  • Paste in patterns from the clipboard.
  • Unlimited undo/redo.
  • Auto fit option keeps patterns sized to the window.
  • Full screen option (no menu/status/tool/scroll bars).
  • Supports multiple layers, including cloned layers.
  • HTML-based help with an integrated Life Lexicon. There’s comprehensive documentation available from within the program.
  • Scriptable via Lua or Python:
    • The embedded Lua interpreter lets you run .lua scripts. There’s some example scripts included such as showing you how to use the overlay to create a game, exploring one and three-dimensional cellular automata. The overlay is a rectangular region of pixels that can be displayed above the current layer.
    • Python 2 (not 3) is supported. Again there’s some useful example Python scripts included.
  • Configurable keyboard and mouse shortcuts.

Next page: Page 3 – Summary

Pages in this article:
Page 1 – Introduction / Installation
Page 2 – In Operation
Page 3 – Summary

Share this article

Share your Thoughts

This site uses Akismet to reduce spam. Learn how your comment data is processed.