💾 Archived View for gemini.spicyporkbun.online › text › rimworld.gmi captured on 2021-11-30 at 20:18:30. Gemini links have been rewritten to link to archived content

View Raw

More Information

-=-=-=-=-=-=-

Why Rimworld is boring (and Dwarf Fortress isn't)

A bear had been scouting around the colony for the last few days.

It didn't seem interested in the colonists or their chicken coop. Everyone ignored the bear. Just another part of the background, like the megasloths and guinea pigs.

Then I got a message that the bear was hunting the colony's Yorkshire terrier, Shalimar. Shalimar was bonded to Ren. Ren was basically the stay-at-home dad of the group who spent his time cleaning, cooking, throwing parties and making sculptures for everyone's bedrooms. Shalimar and Ren kept the group's spirits up. I already had a couple of unhappy colonists. It might be a bad blow for the group if Shalimar was killed.

I told Shalimar to get inside. He started moving as fast as his little terrier legs would take him. The bear was gaining on him, but it looked like Shalimar would still make it into the rec room in time.

I didn't factor in the slow marble doors on the rec room. While Shalimar was stuck waiting for the doors to slide open, the bear killed him with one strike. It devoured the corpse right there.

Ren was strong mentally - the result of escaping the cult he grew up in - but surely even he might be driven to despair by this! I checked his mood, ready to fend off a mental break.

Oh. He's -8 upset. And he threw a party the other day, which gives him +8 happiness. So he actually doesn't care.

Something is wrong here.

Don't show your working

Disclaimer: this is all based on the last time I played Rimworld. It may have changed by now.

These games should never show their raw numbers outside of debug mode. You cannot present players with a balance sheet and tell them it's a personality. Football Manager: Emotions Edition is still a resource management game, not a storytelling game.

Imagine a novelist writing that Jane was -10 sad after her parents died, but she was +5 after eating a nice meal and +5 after a hot bath so it all balanced out in the end. These events and emotional weights could happen in a novel, but it would be a book about a psychopath (and probably written by one). Even adjusting the weights really doesn't accomplish much. If Jane is -100 saddened by her family's death and only +1 by having a nice dinner, the fact that the events are boiled down to numbers still makes Jane look inhuman.

This is what Rimworld and The Sims 4 look like to the player. Moods are a list of buffs and debuffs.

It's obvious why these games want to show the numbers. There is no way otherwise for a player to know what kind of penalty or reward has been given to them for certain events. Therein lies the problem: a storytelling player should not be thinking in terms of penalty or reward.

The typical Dwarf Fortress equivalent of these numbers looks like this: "He is dejected when caught in the rain. He was embarrassed after sleeping without a proper room. He was resentful dwelling upon getting into an argument. He was disgusted after retching on a miasma."

This is infinitely more meaningful to a player. There is no boiling down embarrassment, resentment and disgust into the single realm of negative numbers (even if that's what obviously happens under the hood). A player wants to do something about a dwarf who is horrified, dejected, disgusted, despairing, gloomy, terrified, outraged, remorseful or vengeful after seeing their dog killed by a bear. They would want to do something even if that emotion had no impact whatsoever upon the gameplay. If there was a bug and the dwarf never behaved more depressed than any other, the existence of the text itself would make the player think about getting revenge on the bear, or giving the dwarf a new pet, or hiding them away from all animals in future or something.

A player who sees "-8 dog died" on a debuff list isn't going to do anything.

Emotional sugar

"Syntactic sugar" refers to syntax in a programming language which only exists to make things easier for a human to read or express. For example, a += b is the same as a = a + b.

The computer likes seeing a bunch of numbers representing emotional state. A human being doesn't. The Dwarf Fortress method of assigning words to these states rather than numbers is like sugaring it - making it sweeter for human consumption. It does nothing but add meaning for humans.

The Sims 2 also had a bunch of mechanically pointless but very fun emotional sugar. A Sim who had their items stolen would take a numerical mood hit if they feared burglary - but more importantly, they would rush to the item's former spot and visibly grieve its loss, slumping dejectedly with a big thought bubble of the item over their head. Sims who got into fights would have literally burning thoughts of their enemy and walk around slamming their fist into their palm in anger days after the incident. Memories didn't just go into a numerical log. Sims acted out their thoughts and memories.

Even Tamagotchis got this right. You worried about your pet and felt the urge to care for it because it looked sick when you didn't feed it - not because you wanted an arbitrary 'health' number to go up.

Of course, it can be hard to show such things with low graphical fidelity like Rimworld. The characters are very static. They slide around the map and that's about it. But there's no excuse for not having flavour text, or some simple behaviours like rushing to the site of an attacked pet's death (since they psychically know about the death anyway, why not?).

Faking it

I'd say all this is more important than simulating emotions, memories and personality at any deep level like Dwarf Fortress does. A version of Rimworld which tracked absolutely nothing but randomly assigned colonists an emotion after each day/each major event, which they convincingly played out via behaviour and animations, would be more satisfying than the current version. Then the player could construct all kinds of narratives in their head. If Ren does become sad after Shalimar's death, great. If he becomes delighted instead, the player can think "Oh no, he doesn't know yet. When he finds out, it'll be a shock." or "Oh, he's just putting a brave face on it because of his time in the cult. Maybe too brave of a face. It's kind of scary, really."

If it sounds unrealistic that the player would read so much into it... I made a simple robot once that wandered randomly and put it in an environment with one light bulb. A person watching it, not knowing anything about how the behaviour was programmed, said things like "Oh! He's trying to reach the light!" and "Oh no! He's made a mistake! He almost had it too!" They cheered when the robot finally went into the light. Even though I knew the robot's programming, I couldn't help but be happy for the robot too. Its behaviour had nothing to do with the light at all - but it still provided high drama!

Maybe I'll try making a game like that one day as a demo.