Cities and Cellular Automata
Amberspire design diary #5 - see the other design diaries, wishlist the game, or subscribe to our newsletter.
Cellular automata have fascinated me from the moment I learned about them. How can simple rules and constraints can produce astounding complexity and unpredictability? Or even a simple recurring equation like the logistic map producing random noise, when tuned to the right value. It feels clipping through a wall in a game and seeing the underside of reality. A decade ago these ideas lodged in my brain and fused with the overwhelming desire to move from the suburbs and to a city, and I've been thinking about the two together ever since.
Cities of Life
So over the years I’d try experimenting with cellular automata to create a city builder, somewhere between a game, toy, and visualizer. I tried to hold on to a powerful idea that would eventually prove impossible, that the player could adjust the rules of the automata system to change how the city would grow. If a player wants more farms, they can tweak the conditions under which farms grow, or denser/sparser street networks, and so on. It's easy enough to experiment with how this might work1 using Conway's Game of Life (GoL), adjusting the thresholds for a cell's birth and death.
If you experiment with GoL you'll start to notice an issue: frequently a ruleset will set every cell in the system to alive or dead. Some rulesets won't do that, but after a few generations will stabilize in a random but completely static pattern, no longer exhibiting the intriguing fluctuations of Conway's specific rules.
From the point of view of making a game that someone can play, the variants on Life’s ruleset are not qualitatively equal. Conway’s ruleset is the optimal one that produces interesting results. What took me a long time was realizing how common this problem was across many types of cellular automata.
The Big Problem
The appeal of a cellular automata system is its downfall when trying to put it into a game like how I imagined. That appeal - that a small set of deterministic rules can unexpectedly produce anywhere from structure, chaos, nothing or everything - is distinctly unappealing when applied to traditional game design and structure. This is the shared unsolvable problem2 that I found, at least for me, my style of design, and my goals.
Generally speaking, players want the outcomes of their actions to be predictable, with some margin for uncertainty. Maybe the uncertainty is large but its effects are limited (a to-hit dice roll) or a small uncertainty not realized for a long time (several moves in Chess).
Broadly, types of cellular automata systems might be more or less predictable. I was exploring and designing various systems, trying to find one that allowed the player to adjust rulesets within them to be variously interesting and function as a game. While each ruleset had benefits and drawbacks, it was very hard to find one with a wide variety of qualitatively interesting rulesets. Many would respond like GoL does, just shutting down entirely.
If the player is fiddling with the rules, they might create something that has too much immediate uncertainty, or not enough. Or something that only starts producing random results after 1000 steps of iteration. Effectively, the result of adjusting rulesets in itself becomes too randomized. The outcomes don't fall within that narrow band of uncertainty that makes games interesting.
The appeal of decision spaces in games is that players can slowly grow to understand most if not all of the possibilities within it; the appeal of cellular automata is that a system can sometimes produce nothing, gibberish, or structure.
Moving On
Now, you might be thinking, hey I can name a few games that use CA, so learn from them! And you’re right! Everything above is a historical realization I had maybe five years ago now, and only really applicable to me and a very specific goal of a certain kind of city builder. At some point I just had to set this idea down and move on.
What's funny is I do still think about games as non-linear systems and frequently try to analyze and design games with this method. Chess (or Go, etc) as a system is almost purely deterministic (the random elements are the players themselves) and produce highly random outputs. Solved games like tic-tac-toe do not interest people – we're interested in games3 where we don't know the outcome.
This provides some key background to my thinking as I approach Amberspire. Cellular automata, chaos, and nonlinear systems have influenced me tremendously, and there are ideas in the game that are downstream of these. They are not quite true cellular automata, but there is chaos arising from order and player input. In future design diaries I'll be talking about the population and terrain tiles where these ideas are strongly represented.
1 An online tool for experimenting with Game of Life (this can produce flashing images, increase the round delay value to mitigate this).
3 Extend me some grace here about the definition of 'game', I am pretty aware of edge-case definitions and take them seriously!