Fun with cellular automatons, BoulderDash and the Watchdog!

The CELL-O-MAT artifact is some demo application featuring show-cases on cellular automatons being built with the REFCODES.ORG artifacts. It accompanies my talk at the JVM-Con 2018, where I speak about With swarm intelligence on Burglar Hunt.

The funcodes.club provides some show-cases on cellular automatons with its source codes hosted at Bitbucket, including the CELL-O-MAT artifact. To try it out, download the cellomat.sh binary script and invoke it by calling ./cellomat.sh or java -jar cellomat.sh. It will start with a random cellular automaton and a random board (you will need at least a Java 8 installed).

… Die Zellen eines zellulären Automaten, die auf ihre jeweilige Umgebung reagieren, verhalten sich Mainzer1 zufolge wie eine Schwarmintelligenz …2 (“… According to Mainzer, the cells of a cellular automaton that react to their respective environment behave like a swarming intelligence …”)3

Getting started

To get up and running, clone the funcodes-cellomat repository from bitbucket’s git repository.

How do I get set up?

Using SSH, go as follows to get the Maven CELL-O-MAT project:

1
git clone git@bitbucket.org:funcodez/funcodes-cellomat.git

Using HTTPS, go accordingly as follows to get the Maven CELL-O-MAT project:

1
git clone https://bitbucket.org/funcodez/funcodes-cellomat.git

Then you can build a fat-jar and launch the application:

1
2
3
cd funcodes-cellomat
mvn clean install
java -jar target/funcodes-cellomat-0.0.1-SNAPSHOT.jar

Big fat executable bash script (optional)

This step is optional, though when running your application under Linux, the following will be your friend:

To build a big fat single executable bash script, take a look at the shell-exec.sh script and the build.sh script respectively:

1
2
./shell-exec.sh
./target/cellomat.sh

The resulting cellomat.sh file is a big fat single executable bash script being launched via ./target/cellomat.sh.

Building and creating an executable bash script is done by calling ./build.sh!

Starting Cellomat

1
2
3
4
5
6
7
8
9
10
./cellomat.sh --help                     # Show a help message
./cellomat.sh                            # Start with a random cellular automaton and a random board
./cellomat.sh -b                         # Start with the BoulderDash cellular automaton and a random board
./cellomat.sh -b --console               # As above, in addition also print the current state to the console
./cellomat.sh -b --board CAVE_99_TESTRUN # Start with the BoulderDash cellular automaton and the 'CAVE_99_TESTRUN' board
./cellomat.sh -b --boards                # List all available BoulderDash boards
./cellomat.sh -w                         # Start with the Watchdog cellular automaton and a random board
./cellomat.sh -w --console               # As above, in addition also print the current state to the console
./cellomat.sh -w --board lecture         # Start with the Watchdog cellular automaton and the 'lecture' board
./cellomat.sh -w --boards                # List all available Watchdog boards

Have fun playing around with the various CELL-O-MAT settings!

  1. See Klaus Mainzer at Wikipedia (de), 2019 

  2. See Zelluläre Automaten und Maschine 4.0 by Achim Szepanski, 2018 

  3. See Die Berechnung der Welt. Von der Weltformel zu Big Data (page 161) by Klaus Mainzer, 2014