Spinning Plates: Rimworld and Dwarf Fortress

Tynan’s Rimworld has drawn a lot of comparisons to Tarn Adams’ Dwarf Fortress, and it’s not hard to see why. Both games adopt a similar premise: you are in charge of a small band of randomly-generated characters. From that humble beginning, you can create large, sprawling fortresses (Dwarf Fortress) or colonies (Rimworld), keeping your merry band of dwarves or colonists safe from whatever harm the world throws your way. Both adopt a similar top-down perspective, and both seem set on simulating ever more complex interactions between various in-game objects, delighting in tangled webs of resource management and simulating the health, thoughts, emotions, relationships, and appearance of every single colonist or dwarf. Over the years, Dwarf Fortress has acquired a legendary reputation as a generator of interesting stories, and Rimworld aims to do the same.

There are some immediately apparent differences, too. Dwarf Fortress uses pseudo-ASCII graphics, so each object in the game is represented by a variety of coloured symbols: a dwarf is a smiling face, a dog is a brown letter ‘d’, a dragon is a green ‘D’. Rimworld uses a top-down artstyle drawn from Introversion’s Prison Architect, with actual pictures for its objects and creatures. Dwarf Fortress includes a z-axis, making it a 3D game with a 2D perspective, whereas Rimworld does not. Their UIs, menus, and the way they model various systems are also quite different, though to be fair Rimworld is a much newer game than Dwarf Fortress.

However, the biggest difference between the two lies in their separate paradigms of what constitutes difficulty and fun. To put it simply, in Rimworld, the player is constantly reacting against events generated by the game, whereas in Dwarf Fortress the world is reacting against events the player sets into motion. This is, of course, a very simplified view and exceptions can be easily found in both games, but the crux of the matter is in how each of these games deals with randomness, and what role it serves.

One of Rimworld’s greatest departures from Dwarf Fortress is the inclusion of an AI storyteller. The player selects an AI storyteller when starting a new game, and can change it at will, choosing from one of three (Cassandra Classic, Phoebe Chillax, Randy Random) and setting a difficulty for it (Freeplay, Basebuilder, Rough, Challenge, Extreme). The difficulty sets a basic scale for ramping up challenges, modifying events according to a set percentage for each difficulty. Lower settings mean that threats are less dangerous, and the interval between events is larger, and the reverse is true at higher settings. Each of the three AI storytellers will send different kinds of events at the player; for example, Phoebe Chillax will send events that the game has marked as easier, whereas Randy Random has a chance of sending any event at any time. Rimworld’s stories are, ultimately, reactive, because the primary driver of challenge in the game comes in the form of a semi-random AI event generator. The game is out to get you, and most of the game revolves around these events. It is possible to play the game as a base-building game with minimal threat thrown at you, but stagnation will very quickly set in, since your greatest source of manpower and resources quickly becomes raids that the AI storyteller generates.

Lacking such a story-generator, how has Dwarf Fortress managed to create so many little stories and narratives? The answer is in its interplay of complicated systems. There is no difficulty setting in Dwarf Fortress, and (as improbable as it may seem to a new Dwarf Fortress player) the game itself is not particularly difficult. Once the player becomes familiar with the production chains necessary to set up a stable fort—as tortuous a process as this might be—creating a safe, “turtle fort” that is capable of repelling nearly any threat is quite easy. While it is still possible to fail from an overwhelming attack, or from bad resource management leading into berserk rages that rip a fortress apart from the inside, or from Digging Too Deep, many forts also end because the player slips up. Perhaps a well was put in the wrong place and the fortress flooded, or the lava pumps sprung a leak, or the player literally forgets to lock the back door.

True, it is easy to hit stasis in Dwarf Fortress, but it is important to separate stasis from stagnation. In Rimworld, it becomes clear very quickly that the game is based around putting the player on their back foot as often as possible, to create a ramping challenge curve that keeps players feeling like they have to claw their way out of whatever pit the AI has thrown them into, with brief moments of respite. Stasis would be an indication that the game has broken down in some way. Indeed, Tynan, the game’s lead designer, has said as such in a comment in the game’s subreddit:

But the fault of this kind of suggestion is always the same: The game is already balanced, so any complexity we add that helps you win actually won’t help you win, since we’ll just rebalance the game so it’s just as hard as before. The ultimate result is that the game is just as hard, but more complicated (that is to say, worse).
…by giving the player what they feel they want [failure penalty neutralizing], you’ve destroyed the system that got them invested enough to want it in the first place. How could we ever balance such a game to still be challenging? What would that challenge even be about, with cleanliness, combat, and mood all neutralized? It would invariably become a game where you can build a perfect risk-free turtle colony and enter a stasis state (like DF). Stasis is bad for stories and I want to avoid that. I don’t want games to end in FPS death; I want them to end in real death, or victory!

(emphasis mine)

That quote, and in particular that comment, belies a very different way of thinking about complexity, satisfaction, and story generation. For Rimworld, stasis is death, and stasis is an end result of a lack of difficulty and a lack of risk. In another comment on his AMA, Tynan talks about the importance of having a core loop or core mechanic, from which the game can “sing”. This is in stark contrast to Tarn Adams’ goals for Dwarf Fortress. On its development page, their stated long-term goal is “to create a fantasy world simulator in which it is possible to take part in a rich history, occupying a variety of roles through the course of several games.” Tarn also consistently refers to Dwarf Fortress as a simulator, not necessarily a game. The general impression is that the “game” part of Dwarf Fortress is something bolted on the side of a sprawling world simulator.

For a clearer comparison, I’d like to take a look at one example from each game that illustrates these different philosophies most clearly. To begin, let us look at Rimworld’s Megascarab Infestation event. This event only happens with the Cassandra Classic or Randy Random storytellers (or is exceedingly rare on Phoebe Chillax). When the event triggers, hostile insects have a chance to spawn on a tile that is under a mountain. Because of the random nature of these spawns, they cannot be anticipated or prepared for the same way a raid (Rimworld‘s other major source of hostile entities) or uncovering hidden building filled with hostiles (since at the very least, one may spot the constructed walls of such buildings before breaking the wall).

Mechanically speaking, the infestation event discourages players from digging into mountains and creating easily defended colonies. The major methods of mitigating risk come from being able to control all entry points into the colony, and then carpeting said entry with an abundance of turrets, sandbags, shooting holes, and other defenses. Because the infestation event has a chance of spawning anywhere in a mountain, it may well pop up in your food storage, or your dining hall, or in your colonists’ bedrooms. This makes them impossible to anticipate and therefore, outside of general preparations such as making sure colonists have weapons and armour on them at all times, it is impossible to plan for the event specifically. Does it accomplish its objective of disrupting the complacency of a player overseeing an otherwise defensible mountain colony? Absolutely. But the way it does so is consistent with the underlying philosophy of Rimworld; that is to say it is about the player reacting to challenges set by the game, and of shaking players out of any “static” state by ensuring danger can continue to challenge the player at any point. The event is a response to a player becoming too successful.

Now let us switch to Dwarf Fortress. In lieu of game events triggered by an AI storyteller, let us instead look at one of its more well-known bugs: the “drunk cat” bug. In Dwarf Fortress version 32.04, Adams introduced taverns, where dwarves could serve visitors to your fortress various dwarven alcohols. Adams started to notice that, after the introduction of these taverns, he would find puddles of feline vomit around the place, and receive reports of cats dying of alcohol poisoning. The cause of the sudden rise in drunken cats? Since the game tracks spilled liquids, and crowded taverns were replete with clumsy dwarves and dropped tankards, puddles of booze were commonly found on the floor of such taverns. Cats that walked through tiles with alcohol puddles would become coated in alcohol, as a result of code originally intended to simulate blood, mud, and dirt being tracked across floors and splashing on clothing. When the cats went to lick the alcohol off their fur, as part of their cleaning behaviour, they would end up ingesting this alcohol. Dwarven alcohol, being fairly potent, interacted poorly with the cats, whose small liver size (a variable for every creature in the game) meant that they had difficulty processing the alcohol. This invariably lead to drunkenness and, for the unluckier cats, death.

The little interaction described above has little bearing on gameplay—a fortress with a fully functioning, prosperous tavern is highly unlikely to be impacted by the impairment of its cat population. But the fact that it happened at all is demonstrative of Dwarf Fortress as a game that reacts to input. The interactions and events that result have nothing to do with challenge. True, there are chains of causality here, and players who seek a challenge will find one. But that is the crucial part—the player must actively seek challenge in order to find it. Though older versions of Dwarf Fortress were notoriously difficult, recent changes to the game, particularly to its combat system, have drastically reduced encounters with hostile entities. To be sure, megabeasts and werecreatures and monsters from the deep are all still a part of the game, but they are consistent, known, and predictable threats. With the exception of megabeasts, which only visit fortresses when they are above a particular wealth threshold, none of these entities are meant first and foremost as a way of challenging the player. Because of Dwarf Fortress‘ historical simulation, every single entity has a history, however brief; their creation is a result of the procedurally generated world, and the interplay of variables set at the creation of the world.

What I am trying to say here is that Dwarf Fortress is deeply unconcerned with being a game. And, in fact, it provides plenty of examples of that “stasis-death” described by Tynan, where a fortress is stable and secure enough that there is little to no threat. Yet it is the depth and complexity of its systems and the breadth of possibilities that stops this stasis from being boring. Trying to play Rimworld as a base-building game is certainly possible. I myself have put forty hours into a colony set at the lowest difficulty, in order to do just that. But it quickly becomes clear that expansion in Rimworld actually requires threat. The pleasure in expanding a carefully balanced and managed stasis-state, such as can be found in base-building or management games, is absent in Rimworld, largely because one’s primary source of new colonists is in converting prisoners-of-war, supplied by raids. Indeed, my base-builder colony expanded only when I flicked the difficulty to “rough” or above for one or two raids, enough to grab maybe a half-dozen prisoners, and convince them to join me. There was little to no possibility of expanding without resorting to challenge in the way of combat.

Granted, Rimworld is balanced around that core loop of the AI storyteller and the player’s efforts in reacting to threats thrown their way. But this means that the game is set around a reactive model of play, whereas Dwarf Fortress‘ lack of concern with providing escalating challenges means that play must be active, because there is little to react to. The difficulty in Dwarf Fortress comes in managing multiple interrelated production chains, not in escalating threat. Rimworld, at its core, is all about making sure threats escalate. I am not trying to argue that one is necessarily superior over the other, but to say that these are, in the end, games that have converged on similar mechanics and interactions, beginning from very different foundations. What I am most curious about is how Dwarf Fortress will continue to shape games in this vein, and the different lessons developers might take from this particular sprawling simulator, drunk cats and all.

Leave a Reply

Your email address will not be published. Required fields are marked *