Other Modern Cellular Automata tools are Javascript based, which allows construction of interactive web based examples. This site is a showcase of Modern Cellular Automata technology. Essentially a single applet powers all that you see for the entire site!
Here are the key features of Modern Cellular Automata:
Author allows simple experiments to be set up.
AuthorXY allows table-based comparison experiments
to be easily set up. Author, AuthorXY, and the Modern Cellular Automata Java Applet together
form the software distribution, which can be downloaded here.
During next generation calculation a cell's neighbors are totalled giving a result which is between zero and twenty four. Each total represents a unique combination of corner and side neighbor cells. This form is canonical because any other weighted counting form rule which distinguishes only between corner and side neighbors can be trivially converted to this form without loss of information.
Modern Cellular Automata is a CWCFSMNCA which supports multi-step rules. When used with rectangular geometry up to nine states are available, each of which may either participate in counting or not participate in counting. When used as a hexagonal cellular automata up to four states are available. States are numbered from zero.
0a
1ab
2abc
3abcd
4abcde
5bcde
6cde
7de
8e
Here is the full basic rule specification for Game Of Life:
3abcd/2abc3abcd
If a total count is specified without side counts it is equivalent to all meaningful side counts having been specified. Each of the following specifies Game Of Life:
3abcd/2abc3
3abcd/23abcd
3abcd/23
3/2abc3abcd
3/2abc3
3/23abcd
3/23
Basic rules with more than two states specify the number of states by appending the number of states to the rule, seperated by a comma. Up to nine states are supported. The following specifies Brian's Brain:
2/, 3
In the canonical rule format the number of states is inferred from the largest state number seen in the specification. For each state value in turn, result state values for each of the twenty five combinations of corner and side counts is given. Here's the portion of the canonical specification of Brian's Brain which specifies result state numbers which can arise from various combinations of neighbor count:
00100.01000.10000.00000.00000
For convenience canonical rules result states are typically grouped into groups of five.
The group number indicates the number of directly adjacent neighbors and the position within
the group indicates the number of diagonal neighbors. Here the result state is "1" for all
combinations of adjacent and diagonal neighbor counts which total two. When less than twenty
five result states are specified the last state value is assumed to repeat. The following are
equivalent:
00100.01000.10000.00000.00000
00100.01000.10
A particular state value may either contribute
to its neighbor's counts or not, and this is specified by prepending either a "c" (for counting)
or an "n" (for non-counting) to the canonical specification:
n00100.01000.10
Finally, the rule is specified state by state. Here's canonical Brian's Brain:
n00100.01000.10.c2n0
Here's Canonical Game Of Life:
n00010.00100.01000.10.c00110.01100.11000.10
Multiple step rules combine either basic rules or canonical rules. They are specified by seperating individual steps with plus signs. The following specifies a five step version of Game Of Life with identical steps:
3/23 + 3/23 + 3/23 + 3/23 + 3/23
Repetition is indicated by use of an asterisk preceeded by a count. The following specification is equivalent to the previous specification:
5 * 3/23
One is a valid count, but zero is not.
Parentheses may be used to group steps together. The following specification is equivalent to the previous two specifications:
2 * (3/23 + 3/23) + 3/23
Here's a nice two step Brain specification:
2/ + 2/3, 3
Here's the canonical equivalent of the two step Brain specification:
n00100.01000.10.c2n0 +
n00100.01000.10.c22212.22122.21222.12.n0
Since neighbor counts can reach twelve the following count values can be used in birth/survive notation:
Note that "A", "B", and "C" must be specified in uppercase, to distinguish them from codes used to indicate adjacent neighbor counts: the "a" to "e" codes of rectangular universes, and the following hexagonal extensions:
For canonical rule format there are 49 different combinations of live neighbor count instead of 25, and so we collect results into groups of seven:
n0000000.0011000.0110000.1100000.10.c2222211.2222111.2221111.2211112.2111122.1111222.1112n0
The Color Game Of Life Visual Exhibition (examples above) is a sister site which explores Conway's Game Of Life in color using Modern Cellular Automata technology.
Collidoscope is fast (sixty frames per second) hexagonal color cellular automata software for Windows which operates as a screen saver and turns one's computer into a large scale emergence appliance. With a wide variety of rules and a user interface which is trivial, Collidoscope lets anyone surf cellular automata rule space. Collidoscope 1.1 is currently available.
SARCASim is fast programmable color cellular automata software for Windows, the predecessor to Collidoscope. Its powerful enough that it supports both hexagonal and rectangular geometries as well as arbitrary cell neighborhoods.