In the mid 80’s I was playing around with Atari BASIC, GFA BASIC and Turbo Pascal. At that time I was also eagerly reading articles published in the magazine Spektrum der Wissenschaft from my father’s bookshelf. I was especially interested in articles belonging to the columns Mathematische Unterhaltung (Mathematical Games) and Computer Kurzweil (Computer Recreations). Here the authors worked out and explained on how to get mathematical and logical puzzles solved or simulated with an ordinary Home Computer.
Update [2019-11-14@23:12]: Added a reference to the article Fun with cellular automatons, BoulderDash and the Watchdog! describing on how to kickstart the demo application
Quite a few of those puzzles were “played” by the computer on some kind of two dimensional grid or matrix. Lately a special edition with Computer Kurzweil experiments tumbled out of my bookshelf, memories came to mind and as a result I set up the
refcodes-checkerboard artifact. And while doing so during summer break, I was reasoning on
BoulderDash being a
… with the
refcodes-checkerboard artifact I want to get some ease into experimenting with
cellular automatons on the
platform. For a demo application, please refer to the article Fun with cellular automatons, BoulderDash and the Watchdog! which also introduces a
swarm intelligence implemented by a
“… 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
refcodes-checkerboard being a checkerboard server with no real client, I implemented a graphical client and put it into the
refcodes-checkerboard-alt-javafx artifact. Whilst starting to refurbish that
MERKUR Vision arcade machines,
BoulderDash came to my mind.
Searching the web a little, I came across a
discussion regarding the
BoulderDash article (found in the English version of the
Wikipedia). That very
talk was on whether it can be considered fact that
BoulderDash has been implemented by the principle of a
cellular automaton or not…
“… It may be interesting to note that most of the rules for game object movements in BoulderDash can be implemented efficiently using a
cellular automaton. For example, there are four different cells representing butterflies moving in different directions. On each game iteration, if the space ahead or to the right from their path is empty (space cell), the butterfly cell is moved there; otherwise, the cell is not moved, but its direction is changed to next one in counterclockwise order. The spreading of amoeba cells use the help of a
pseudo-random number generatorwhich determines the chance of infecting neighboring cells, and there is also an extra counter for the total number of amoeba cells occupied. Also, falling rock has different characteristics than stationary rock, and the transition between these two states takes one iteration. The original implementation on 8-bit computers even used in-place modification in sequential left-to-right, to-top-bottom order to save memory. Extra cell types were used to make sure that cells to the right or bottom would not be updated again …” (see
You are welcome to participate e.g. enhancing the
refcodes-checkerboard-alt-javafx artifact with even more functionality!
For a demo application, please refer to the blog post Fun with cellular automatons, BoulderDash and the Watchdog!