Cellular Automata and Elemental Forces
Today, Idraluna over at the Idraluna Archives blog posted a 2024 slush pile that contained the "insane" idea of building an app to use cellular automata with complex emergent properties to influence the nature of magic in your game world. This idea was picked up by my comrade Mr. Mann over on the OSR Discord and after a little bit of spitballing, I decided I was going to blog about this because I've been at a bit of an impasse with how to implement an idea I have about how the world works with shutting the fuck up and drawing a map.
The Fuck is Cellular Automata?
So obviously I'm posting this blog post in spaces where kindred spirits congregate, so I usually presume a bit of familiarity, but in the event that this is a little esoteric for adventure fantasy games: cellular automata are discrete models of computation studied in automata theory. That sounds boring as hell, but the long and short of it is this - there is a grid of cells that are either on or off (not necessarily just the binary but for the sake of simplicity just bear with me) and as the grid iterates, the cells and their neighbors change states according to certain rules. The most famous example (to my knowledge) of cellular automata is Conway's Game of Life, whose rules are:
- Any live cell with fewer than two live neighbours dies, as if by underpopulation.
 - Any live cell with two or three live neighbours lives on to the next generation.
 - Any live cell with more than three live neighbours dies, as if by overpopulation.
 - Any dead cell with exactly three live neighbours becomes a live cell, as if by reproduction.
 
Those four simple rules, coupled with an arbitrary starting state, lead to extremely complex patterns and "programs" emerging in the grid. The Game of Life link above shows an example of a working program, known as a "glider gun", which because of the aforementioned rules, exists in a stable loop, regularly firing off "gliders" in a given direction.
How on Earth Does This Relate to Adventure Fantasy Games?
Directly, I don't suppose it does. But as I mentioned in my previous post, I eschew the much-beloved hex grid in favor of a square grid in my mapping, and as traditional cellular automata are typically displayed on a square grid, this works pretty well for my purposes.
One of the key points of my nebulous setting is the idea that geography and weather do not result from what we'd consider "natural" processes, but are instead informed by elemental forces, such that a heavy fire presence makes an area hot, lots of earth means hills, plateaus, and mountains, and so forth. I'm sure you can see where I'm going with this.
The plan is to take a blank grid and run cellular automata for each of the classical four elements on it, and extrapolating from those results to produce fantastic geography. Then, once the world itself is "built", continuing to run automata and updating the map will allow me to create weather patterns, update geography as appropriate, and crucially, provide for a "ley line" type of situation to play with in the fiction.
So What's Next?
I need to make a few decisions, but in order to do so, I'm going to need to read up on cellular automata a little more. The questions I need to answer are:
Am I just going to use the rules from Conway's Game of Life? It's pretty well documented, and being able to find stable (and unstable!) patterns to unleash on the map would be pretty easy if I stuck with such a well-documented rule set.
Do I want to use the same patterns (or even the same rules?) for each element? It seems appropriate to me to vary them, such that fire's patterns are explosive and quick, Earth's are slow to spread but stable, and the like, but that increases my workload significantly.
How player-facing do I make this? I've considered that this could be a "faction" game that exists above the characters, and let each player control an element (maybe they can place/remove single cells?), but I don't know if that'd be asking too much out of the players.
Please feel free to ping me on the OSR Discord (@polarfrosty) to help develop this idea further. I'm actually pretty excited about developing this, and I believe Mr. Mann may be looking into developing a hex-based solution for you hex-purists out there, so keep tuned to his blog as well. And give idraluna a follow as well, because if this random throwaway "insane idea" gave me this much fertile mind-soil, you can imagine there's gold to be found.