Open source Conway's Game of Life simulator.

Golly is an open source, cross-platform Game of Life simulator currently under development by Andrew Trevorrow and Tomas Rokicki. Our goal is to write a world-class Life simulator, solicit ideas and help from the planet's best Life hackers, and share some of our excitement.

  • Unbounded universe (limited only by memory).
  • Fast, memory-efficient conventional algorithm.
  • Super fast hashing algorithm for highly regular patterns.
  • Responsive even while generating or garbage collecting.
  • Reads RLE, Life 1.05/1.06, and macrocell formats.
  • Can paste in patterns from the clipboard.
  • Auto fit option keeps patterns sized to the window.
  • Full screen option (no menu/status/tool/scroll bars).
  • Built-in HTML help system (thanks to wxWidgets).
Release Notes Version 3.3:
  • Major speed improvements to 3D.lua via custom-purpose ovtable commands.
  • 3D.lua now natively supports cell history with fading.
  • Added a new gplus module called NewCA.lua which makes it easy to write scripts that implement new types of cellular automata.
  • Two new scripts show how to use NewCA.lua: 1D.lua supports one-dimensional CA rules, including all of Wolfram's 256 elementary rules, as well as totalistic rules with up to 4 states and a maximum range of 4. Margolus.lua lets you explore rules using the Margolus neighborhood.
  • Updated Lua to version 5.3.5.
  • The optimize overlay command now returns the minimum non-zero alpha bounding box of the clip.
  • The blend overlay command now has a faster blend mode ("blend 2") which should be used when the destination is opaque.
  • Some fixes and improvements to the replace overlay command.
  • Performance improvements to the drawcells overlay command.
  • The C parameter in a Larger than Life rule can now specify up to 256 states.
  • A bug where the canonical form of Generations rules in MAP format was incorrect.
  • A bug caused by simultaneous clicks of different mouse buttons.
  • Flickering selection size message when extending the selection on Windows.
  • A performance bug in QuickLife where changing the rule each generation caused a significant slowdown.
  • Bugs in the Mac app that caused memory leaks when running Lua or Python scripts.
  • A bug that could cause "PyRun_SimpleString failed!" warnings when running Python scripts.
  • A bug in Larger than Life that could cause a cut/copy operation to create an empty clipboard pattern.
  • A fatal "bad increment" error by limiting the size of the step exponent if necessary.
  • A crash caused by buggy NVIDIA drivers.