ANN: CAGE 1.1.3 -- A generic and fairly complete cellular automata simulation engine

Erik Max Francis
Sun, 05 Oct 2003 16:04:29 -0700


    A generic and fairly complete cellular automata simulation engine.


    CAGE is a fairy generic and complete cellular automaton simulation
    engine in Python.  It supports both 1D and 2D automata, a variety
    of prepackaged rules, and the concept of "agents" which can move
    about independently on the map for implementing agent behavior.

    CAGE comes with numerous examples of fully-functional CA systems,
    including Conway's Game of Life, Langton's self-reproducing
    automaton, Langton's "vants," and 1D automata rule explorers.  It
    also comes with simple displayers (including a curses interface
    for 2D automata).  Also included is a unique implementation of a
    finite state machine (

    Note that CAGE is implemented entirely in Python, and due to its
    very generalized nature, is not designed for speed.  It is
    sufficient to update a 80x24 Conway's Game of Life grid at a few
    times per second on a modern machine.  CAGE is intended primarily
    as an education toolkit, rather than an industrial-strength CA

Getting the software

    The current version of cage is 1.1.3.

    The software is available in a tarball here:

    The official URL for this Web site is


    This code is released under the LGPL.


Release history [since 1.1]

    - 1.1.3; 2003 Oct 5.  Fix AsynchronousAutomaton updating method;
      add a chain reaction demo; changed license to LGPL.

    - 1.1.2; 2002 Nov 4.  Workaround for reported crashes on some
      Linux systems in either curses or the Python curses glue layer.

    - 1.1.1; 2002 Jul 23.  The Conway automaton inadvertently
      defaulted to "high life" instead of the standard rule.

   Erik Max Francis && &&
 __ San Jose, CA, USA && 37 20 N 121 53 W && &tSftDotIotE
/  \ Life imitates art far more than art imitates life.
\__/  Oscar Wilde