Monday, February 15, 2021

Reflections on Rimworld and Dwarf Fortress

This is not really a D&D-related post, except inasmuch as a lot of my OSR gaming has been Dwarf Fortress inspired.  It gets vaguely D&D / philosophy-of-games related below the bolded line.

I picked up Rimworld recently and it's almost very good.  My impression is that someone spent a lot of time playing Dwarf Fortress, thinking about all the things wrong with Dwarf Fortress, and how to fix them.  And then they went and did a very competent, moddable implementation job of it.

They're both sort of top-down city management games, where you have a set of characters who have their own likes, dislikes, skills, happiness, and quirks, who you can sort of manage but not really control.  In Dwarf Fortress, you start with 7 dwarves and your fortress can grow up to a couple hundred.  But I've always felt the sweet spot in Dwarf Fortress was closer to 30; with 30 dwarves, you can keep track of everyone's quirks, you have enough people to cover most of the necessary job functions and skills, and it isn't an insane amount to manage.  Rimworld compresses that population range, starting you with 3-5 people and capping out closer to the 30-50 range, right in that sweet spot.  Rimworld also makes this lower population viable by compressing the total number of available skills - in Dwarf Fortress, brewing beer is a separate skill from cooking is a separate skill from butchering animals; in Rimworld those are all just the Cooking skill.  So this means that you need fewer people to cover your needs competently and redundantly.

You also have a lot more control over when and how you get new guys.  In Dwarf Fortress, migrant waves arrive seasonally, and the number of migrants you get depends on your fortress' wealth.  They arrive with random skills and often they aren't what you need.  I have distinct recollections of getting waves of migrants that were like 60% fishermen or cheesemakers.  In Rimworld, you don't have this problem, because you recruit mostly by taking prisoners in combat and then convincing them they your settlement is actually a nice place to live.  If you capture an adversary whose skillset you don't want, you just release them.  Or let them bleed to death in the field.  Or make hats out of their skin to send as gifts to their tribe.  Either or.

(While Dwarf Fortress' developer has always been somewhat uncomfortable with the emergent atrocities committed by the playerbase, like capturing and farming mermaids to butcher because the value of their bodyparts was very high, Rimworld's dev seems to take a different view.  Rimworld makes it straightforward to do cannibalism, organ harvesting, and manufacturing addictive drugs to dump into native markets - but there are almost always consequences.  Most colonists are pretty unhappy about cannibalism and organ harvesting.  Some colonists have tags like Psychopath or Cannibal that let them ignore the happiness penalties from doing these things, but they come with their own penalties; Psychopaths, for example, don't get mood boosts from socializing.  As for drugs, some colonists have a tag that makes them ignore you drug policy and do drugs for fun, even when forbidden, so if selling meth to the natives is your business of choice, that limits your selection of colonists to adopt).

The graphics are an obvious change from Dwarf Fortress and part of the reason that I did not initially recognize it as Fortress-like.  They aren't ASCII.  They're not fancy, still just two dimensions, but they're a little fancier than even the fanciest of Dwarf Fortress tilesets, in part because the engine was built with them in mind.

There is no digging / vertical elevation component to Rimworld's maps.  This is a definite simplification and I'm mostly OK with it; it would be hard to make a simple 2d interface clear with elevation levels (and two dimensions with no z-axis was how older versions of Dwarf Fortress did things anyway).  Not being able to dig defenses is an interesting change and not one that I have really adapted to yet.

The combat system is better than I expected.  There is some weirdness in it (such as bolt-action rifles having only about 1.5x the range of a pistol).  Much of the anatomical detail of Dwarf Fortress combat is still there, but a lot of the jank around inventory management and ammunition is gone.  You also don't draft by squads, which is nice; every colonist is draftable independently, so if you just need one marksman to come deal with a rampaging alpaca you don't need to call up the whole crew.  It also isn't tick-based like Dwarf Fortress', but the slow/normal gameplay speed is quite slow so it's easy to pause, issue an order, unpause, wait for it to be completed, and then pause again before something else goes wrong (there are also some faster gameplay speeds, which are nice when you're waiting for stuff to happen, vs Dwarf Fortress' fixed clock).  The gameplay of moving your shotgunners and melee guys forward from cover to cover while your riflemen pin down enemy ranged units, or of moving your melee to intercept enemy melee while your riflemen try to evade, is quite good.  I do wish you could give your guys secondary weapons though.

The job management UI is excellent and a big part of why I feel like Rimworld's developer must have put some time into Dwarf Fortress.  It's a big grid, with a row per colonist and a column per job type, and you can put priorities in each cell.  It's very similar to Dwarf Therapist, a third-party tool that presents comparable grid-like UIs mapping dwarves to functions, but then edits the memory of running Dwarf Fortress processes to actually apply changes.  Managing large fortresses without Dwarf Therapist is excruciating.  In Rimworld it just comes stock, no memory-editing required.

One unpleasant surprise I had was around deconstructing buildings.  In Dwarf Fortress, when you demolish a workshop, say, you get all of the materials back that you put into building it.  This is not the case in Rimworld.  This is especially bad because there's a big bottleneck in the early-midgame economy around Components, little bits of precision-manufactured metal and circuits.  Many buildings need a couple of Components, and demolishing these buildings does not get you all of the Components back.  I found myself in a Components crunch in year 2 and had to take some risks to get myself out of it.  It was interesting gameplay, but lossy construction and deconstruction is an unforgiving surprise on new players in a game which is otherwise much more approachable than Dwarf Fortress (there's even a tutorial and then an in-game system to continue to show you tips for quite a while after).  Sure, you can savescum (another affordance present in Rimworld and absent in Dwarf Fortress), but did you save at just the right time in your construction effort?

In order to get out of my components crunch, I had to figure out how to use the caravan system.  This is actually rather neat; it lets you send out parties onto the world map, to go to destinations and trade with (or raid) them.  I had a good tailor, so I picked my colonist with the best speaking and shooting skills and sent him across the map to sell hats to the nearest friendly village and buy their components.  He did, in fact, get ambushed en route home, but fortunately was able to fight his way out.  I also set up an orbital trade beacon and was able to buy components from a passing starship.  This beacon cost me components to build, but paid for itself and more.  I like that I had to take some risks / make some calculated gambles here.

So what don't I like about Rimworld?

Rimworld has an AI "storyteller" system as basically part of its difficulty settings.  The storyteller setting (mostly) determines how often threats to your settlement appear.  Two of the three settings alternate between windows when major threats can appear and windows when major threats can't appear.  Under the third setting, all events are on the table at random at all times.

These "threat windows" became apparent to me after some time in game.  There's a graph you can look at of colony wealth that also shows when you were attacked by raiders, and there was a clear pattern, an interval, at which I usually got two raids in fairly close succession.  The only time I didn't get a second raid in that window was when my caravan was ambushed instead.  It wasn't tied to the logic of the game-world; it wasn't about in-game seasons, or having accumulated wealth (though that influences size of raiding parties I think), or having repelled the previous raid with different degrees of success, or having befriended particular tribes.  You can make friends with all the tribes but one, you can kill all their raiders every time, and they're just going to keep raiding you at the same frequency they always did.  It isn't like they figure out "oh this settlement is a hard target, we need to wait a while and gather our forces and then make bigger but less frequent raids rather than squandering our manpower piecemeal".  It just...  doesn't feel right.  It's very obviously artificial.  I found myself anticipating the trouble window and planning around it, and not enjoying it.

I get why it's there; the amount of strain you put on the colony is tightly-controlled and you don't get stacking catastrophes leading to cascading failure as much as you do in Dwarf Fortress.  But that graph annihilated my suspension of disbelief.  So say what you will about Dwarf Fortress' obscurantism, but the fact that there is no graph of when the goblins attacked might actually be a really important feature for sufficiently anal players (who are probably over-represented among players of this genre...).

It leaves me feeling like I can't expect Rimworld to yield reasonable consequences for any of my strategic / macro decisions now.  I was leery about settling near roads because I expected that having a site that is easier to get to would lead to more raids.  But now I'm pretty sure it doesn't (nor more visiting merchants).  I chose to settle near the headwaters of a river instead, because what sort of sensible person, given the choice, wouldn't want to settle near a nice clean water source, for drinking, for cleaning wounds, for irrigating crops, for fishing, for disposing of waste, for carrying bulk cargo downriver in canoes?  And who wouldn't be nervous about settling too near a river, due to possibility of flooding?  But it turns out that rivers don't do any of those things.  Rivers are good for 1) building water wheels for power, 2) slowing down melee enemies trying to cross it, so you can shoot at them more easily, and 3) giving your dudes the Soaking Wet mood penalty.  That's it.  There are mods to make rivers do most of the things that I expected them to do, but none of that is in the base game.  I can forgive when Dwarf Fortress omits things like that, because Dwarf Fortress isn't (and hopefully never will be) finished, and I have faith that the Toady One wants to do those things eventually; he just hasn't gotten to them yet.  But Rimworld is a complete, finished, game, and also not free like Dwarf Fortress.  It makes these obvious omissions less forgivable.

What I want from the "AI storyteller" subsystem isn't a predictable pattern of rising tension interspersed with breaks.  It isn't the total randomness of the third storyteller mode either.  I want it to take the state of the world as input and make sensible things happen.  If I settle up near a bunch of hostile villages, I should get raided more!  If I settle out in bumfuck nowhere, I should get fewer visiting merchants!

My other complaint is likewise around a macro mechanic: difficulty levels.  Besides the three storyteller settings, Rimworld offers a list of difficulty levels to choose from, which influence resource production, injury infection chance, baseline colonist mood, raid size, etc.  I can see why Rimworld has them - the existence of easy difficulty levels makes the game accessible, while hard difficulties exist for the deep fanatics.  But reflecting on Dwarf Fortress, I think I like its approach better.  Dwarf Fortress has no difficulty settings.  Instead it has a wider variety of biomes.  If you want an easy game of Dwarf Fortress to learn how to play, you settle in a mirthful (blessed) temperate forest far from goblin towers.  If you want a stupid-hard Dwarf Fortress game, you settle on a haunted glacier near a necromancer tower with no source of flux for making steel.  So the range of difficulty is there, but it's purely within the game-world; it isn't messing with things like infection chance or goblin raid size.  Or when it does mess with goblin raid size, that's because you settled near a goblin civilization and it's decoupled from everything else.  There's a certain...  reality to Dwarf Fortress.  Dwarf Fortress is opinionated.  It's not afraid to say "these are the rules of the game, the rules of the world; here is the minimum bar for any fortress in any biome."  It doesn't bend to you, and I think that's part of why people admire it (and its developer).  Part of the magic of Dwarf Fortress is that when you conquer Dwarf Fortress, even in an "easy" biome, it feels like an accomplishment, and you're like 80% of the way over the difficulty curve.

Maybe it's weird to say that you "conquer" Dwarf Fortress, since every fortress falls eventually.  There is no win condition.  But you can feel that you have put the fortress into a stable state, one where it can resist, say, any two concurrent shocks (like a goblin siege and a forgotten beast at the same time).  Such a fortress is likely to survive until you get bored.  Rimworld adds a win condition.  I haven't gotten there yet, but I'm not sure how I feel about its existence.  Dwarf Fortress was kind of a stoic exercise, or a zen garden; you spend all this time and care building this fortress and minding the troubles of all these little people in it with the full knowledge that it will eventually burn down.  And at a certain point in your life as a player of Dwarf Fortress, the burning down becomes the most interesting part.  That's where the surprise is; you have dealt with all the typical threats and then some combination of circumstances sneaks up on you and you go "Oh!  It's time!  I didn't expect it to happen like this!  Neat!  Let's watch it all unravel."  Having a win condition...  I don't know, it sort of feels like it changes the meaning of the game.  The Rimworld is something to be escaped, something to achieve a lasting victory over, rather than just something to be survived for a while.

Maybe that's suitable, really, for a science fiction game; the theme that things could be otherwise, that they could improve, as opposed to the fantasy of return to myth, of recurrence, the perpetual turning of the wheel of Armok.  I haven't actually played Dwarf Fortress in a long time; every now and then I open it, generate a world, pick an embark site, and then get to gear and skill selection for my dwarves and go "no, no I don't think I want to deal with this again today.  I stand reminded."  It is very much a cycle.

I suppose in ultimate judgement, it might be fair to say that Rimworld is probably a better game than Dwarf Fortress, but a worse simulation.  It thinks about things like narrative structure, rather than trying to simulate a fantasy world (in excruciating detail) and letting interesting stories emerge from the randomness.  It is certainly more accessible, more humane, more marketable, with finer attention to the core gameplay loop, but...  there's a certain elemental quality, a primal sincerity that Dwarf Fortress has that I think Rimworld lacks.  Dwarf Fortress strikes me as the better device for building character in its players, while Rimworld's focus on creating tuned challenges is more gamist, more like my thoughts on creating dungeons intentionally to be challenging, rather than to make sense in the world.  But if I have difficulty respecting it because it is too transparent about that game, maybe challenge dungeons are similarly misguided.

...  apparently it was Valentine's Day today.  Ha!


  1. Hrm. So resource management games + buildy crafty type games(Rimworld, Dwarf Fortress, Oxygen Not Included, Minecraft, Space Engineers, etc, etc, with peripheral overlap with the Sims and Kerbal Space Program) tend to have 3 stages. There's an early game, where you start with nothing and put together your [wooden tools] and [basic furnace] or equivalent. There's the midgame, where you get [iron tools] and an [advanced furnace] and dip into automation of tasks you were doing manually in the early game. Then there's the late game, where automation management and vanity projects takes priority over survival and resource acquisition.

    Developers tend to understand and optimize the early and mid game experience, but have difficulty developing the late game. If you start with a [flintlock pistol] in the early game, you can be enticed into progressing by the prospect of a [laser cannon] in the late game. But once you've got the [laser cannon], or the [automated refinery core], or the [balanced minecart system], then what?

    Some developers put in an endgame contest or scenario that requires a large resource investment. In Rimworld and Factorio, you Launch the Rocket and Win. In Minecraft, you kill the Dragon and Win.

    Some developers don't. The endgame relies entirely on player initiative. Keep going or don't. There's no carrot or end goal. There's just you. And, faced with that, some players are a bit uncomfortable.

    Resource management games can also feel empty and desolate. Without other people, the world is sterile and melancholy. To drive progress, and provide some sense of challenge, developers add:

    Ambient NPC threats: angry bugs, random monsters, etc.
    Targeted NPC threats: raiders, invasions, sieges, etc.
    Environmental threats: weather, fires, cold, lightning strikes, limited view distance, darkness, etc.
    An Economy System: trade X resource for Y resource.
    Rare or craftable cosmetic upgrades.

    It's interesting how late these systems appear in a game's development. The playerbase, at first, is just entranced by the buildy-crafty-explory side of things, but then the magic fades, and more challenges are needed. Dwarf Fortress is a sprawl of peculiar challenges.

  2. In the last couple of weeks a new version of DF has been released that fixes some of the terminal depression problems which cuts out a lot of need for micromanagement of moods.