ANN: CAGE 1.1.3 -- A generic and fairly complete cellular automata
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 (ant.py).
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 && email@example.com && http://www.alcyone.com/max/
__ San Jose, CA, USA && 37 20 N 121 53 W && &tSftDotIotE
/ \ Life imitates art far more than art imitates life.
\__/ Oscar Wilde