Fun with cellular automatons, BoulderDash and the Watchdog!

The WATCHDOG artifact is some demo application featuring a 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 WATCHDOG artifact. To try it out, download the watchdog-launcher-0.0.1.sh binary script and invoke it by calling ./watchdog-launcher-x.y.z.sh or java -jar watchdog-launcher-0.0.1.sh. It will start with a random cellular automaton and a random board (you will need at least a Java 16 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

The BoulderDash related images (1, 3, 4 and 9) above are not part of the funcodes-watchdog show case though they are screen shots of a similar application using same cellular automaton engine and viewer …

Getting started

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

How do I get set up?

Using SSH, go as follows to get the Maven WATCHDOG project:

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

Using HTTPS, go accordingly as follows to get the Maven WATCHDOG project:

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

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

1
2
3
cd funcodes-watchdog
mvn clean install
java -jar target/funcodes-watchdog-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 scriptify.sh script and the build.sh script respectively:

1
2
./scriptify.sh
./target/watchdog-launcher-x.y.z.sh

The resulting watchdog-launcher-0.0.1.sh file is a big fat single executable bash script being launched via ./target/watchdog-launcher-x.y.z.sh.

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

Starting Watchdog

1
2
3
4
5
./watchdog-launcher-x.y.z.sh --help                     # Show a help message
./watchdog-launcher-x.y.z.sh                            # Start watchdog automaton and a random board
./watchdog-launcher-x.y.z.sh --console                  # As above, in addition also print the current state to the console
./watchdog-launcher-x.y.z.sh --board lecture            # Start watchdog  automaton with  the 'lecture' board
./watchdog-launcher-x.y.z.sh --list                     # List all available watchdog boards

Have fun playing around with the various WATCHDOG settings!

See also

  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