☞ To Simulate a World

Or, Why I'm delighted by Dwarf Fortress even though I've never actually played it

File:Dwarf Fortress world generation.png
Dwarf fortress world generation.

I’ve never played the computer game Dwarf Fortress. And yet I am drawn to the ideas that undergird this game, a game that involves managing a group of dwarves as they build a fortress. For despite its spare graphics and a goal that sounds basic and straightforward, it appears to contain within it an unbelievably deep complexity and simulated richness. Just as Carl Sagan noted that if “you wish to make an apple pie from scratch, you must first invent the universe,” if you want to have dwarves build a fortress, you must first generate entire worlds, complete with detailed geologies and civilizational histories.

From Wikipedia, here’s a bit about its process of world generation:

The process involves procedurally generated basic elements like elevation, rainfall, mineral distribution, drainage and temperature. For example, a high-rainfall and low-drainage area would make a swamp. Areas are thus categorized into biomes, which have two variables: savagery and alignment. They have their own specific type of plant and animal populations. The next phase is erosion—which the drainage simulates. Rivers are created by tracing their paths from the mountains (which get eroded) to its end which is usually an ocean; some form into lakes. The salinity field defines oceans, mangroves or alluvial plains. Names are generated for the biomes and rivers. The names depend on the area's good/evil variable (the alignment) and though in English, they are originally in one of the four in-game languages of dwarves, elves, humans and goblins; these are the four main races in any generated world.

After a few minutes the world is populated and its history develops for the amount of in-game years selected in the history parameter. Civilizations, races and religions spread and wars occur, with the "population" and "deaths" counters increasing.

This is far beyond “reticulating splines” of SimCity 2000; it’s playing with cosmic powers. And because of the sprawling complexity inherent in Dwarf Fortress, this means that there is an associated richness to its bugs. After my previous discussion about simulation and SimCity, my friend Taylor Clauson recently recommended that I check out Dwarf Fortress’s change log. And it does not disappoint. If you just look at the overall changes page, you can see a lot of strangeness:

  • Stopped dwarves from carrying mugs forever

  • Allowed soil critters to live in wider temperature ranges

  • Made pain from broken tissues depend on relative part size

  • Stopped people from being enough to satisfy a need to see great beasts

  • Allowed legless animal people to pet animals

The list is long and bizarre. And the Dwarf Fortress bug tracker and change log goes even deeper. It is amazing and bonkers, with mentions of a giraffe being trainable for war as well as problematic vampires that can destroy a city’s population while living in its sewers. This richness verges on debugging reality.

And when I think of debugging reality, I can’t help but be reminded of the simulation hypothesis, the idea that the universe is actually a computational simulation. Because here’s the inevitable question, if you want to explore this hypothesis seriously: Can we find bugs in our cosmos? Or can we at least find ways of testing whether we are in a simulation of the world, as opposed to simply using the idea as a fun thought experiment for late-night discussions among undergrads?

And, because everything has been overthought before, there are a number of physics papers about this, such as these:

I guess the upshot is that when exploring a sufficiently complex simulation, we are bound to find obscure and interesting errors. Or at least make an apple pie.

In the last issue of the newsletter, I discussed (and likely oversimplified) the philosophy found within the Toy Story franchise. My friend Ben Fry pointed me to this incredible video by the screenwriter for Toy Story 3, which discusses the mechanics of its plot and its themes. It is a fantastically thought-provoking talk and well worth watching.

In June, Alan Jacobs wrote about the concept of “stochastic resonance in reading”:

But if you step back from the endless flow of social media and the internet more generally, and sit down with a book from the past that appears to have absolutely nothing to do with the affairs of the moment, something curious and rather wonderful can happen. Unexpectedly and randomly — stochastically — you begin to perceive resonances with your own moment, with the concerns that you may have turned to the past in order to escape.

This idea of finding in seemingly unrelated texts unexpected sources of fresh ideas and novelty is one that resonates (ugh!) with me quite strongly, as I am a big proponent of trying to develop tools for serendipity. I even made a tool to spur me to revisit the many books that I own.

In that spirit, I recently finished reading Stanisław Lem’s 1960’s novel His Master's Voice and was gratified to come across this passage that explored the common issue of scientific knowledge being tucked away, unread, in the vast repository of scientific publication (something I discussed in The Half-Life of Facts):

Rich lodes of potential discoveries no doubt lie in various libraries, but have gone unnoticed, untapped, by competent people.

Nothing like an old book to contain within it resonances of the idea of stochastic resonance in reading.

Until next time.