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
./toolbox/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 ./toolbox/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 ↩