[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#452026: RFP: golly -- Game of Life simulator using hashlife algorithm



Package: wnpp
Severity: wishlist

* Package name    : golly
  Version         : 1.3
  Upstream Author : Tomas Rokicki <rokicki@gmail.com>
                    Andrew Trevorrow <andrew@trevorrow.com>
* URL             : http://golly.sourceforge.net/
* License         : GPL version 2 or later
  Programming Lang: C++, with Python scripting support
  Description     : Game of Life simulator using hashlife algorithm

 Golly simulates Conway's Game of Life with an arbitrarily large grid
 of cells.  It can optionally use a hashlife algorithm, which allows
 it to rapidly compute generations for huge patterns, and to compute
 many generations into the future at a time.
 .
 Golly provides a graphical interface for viewing and editing cellular
 automata.  It supports copy and paste, zoom, auto-fit, multiple
 layers, and viewing different areas of a pattern simultaneously in
 different areas of a window.
 .
 Golly can load patterns from RLE, Life 1.05/1.06, dblife, and
 macrocell file formats; it can also interpret images as Life
 patterns.  Golly provides integrated help, including a copy of the
 Life Lexicon.
 .
 Golly also supports other rules for 2D cellular automata with an
 8-cell neighborhood, and supports 1D cellular automata.

(end of description)

Some notes:

* Golly has some serious portability issues: in particular, it
  generates many compiler errors if sizeof(node *) != sizeof(int).
  Much of this seems to occur in the hash table code when hashing
  pointer values, so in theory it might not cause a problem if made to
  go away via appropriate casting.

* Golly uses wxWidgets, and supports building for either X11 or GTK+;
  however, the authors specifically recommend against the X11 version,
  so I'd suggest only packaging the GTK+ version.

* Golly runs extremely fast, and the hashlife algorithm makes many
  complex patterns easy to simulate.  On my system, I could easily
  simulate a 3x3 grid of Unit Life cells running a blinker, with one
  Unit Life generation per step, in real-time.  I could also take any
  of the patterns from Golly's database and run it to 1e10 generations
  with no problems, even those with asymptotically quadratic growth.

* The interface beats xlife hands down.

- Josh Triplett




Reply to: