PC Gamer: So, this might be kind of a dumb question because I’m not a programmer and it’s very hard for me to conceptualize what you do. But when you put out a big new update for the game, you’ve written some new features, there’s then a period of several weeks where you were cleaning up tons and tons of bugs. How do those bugs get created when you’re putting something new into the game? It seems like it’s then affecting many other pieces in different ways. How does that stuff lock in together and affect different parts?
Tarn Adams: There’s a lot of ways it can happen. It’s funny how I have popular bugs, right? You shouldn’t have popular bugs. But the most popular bug with the latest release, I added taverns to fortress mode, so the dwarves will go to a proper establishment, get mugs, and make orders, and they’ll drink in the mug. And, you know, things happen, mugs get spilled, there’s some alcohol on the ground.
Now, the cats would walk into the taverns, right, and because of the old blood footprint code from, like, eight years ago or something, they would get alcohol on their feet. It was originally so people could pad blood around, but now any liquid, right, so they get alcohol on their feet. And then I wanted to add cleaning stuff so when people were bathing, or I even made eyelids work for no reason, because I do random things sometimes. So cats will lick and clean themselves, and on a lark, when I made them clean themselves I’m like, ‘Well, it’s a cat. When you do lick cleaning, you actually ingest the thing that you’re cleaning off, right? They make hairballs, so they must swallow something, right?’ And so the cats, when they cleaned the alcohol off their feet, they all got drunk. Because they were drinking.
But the numbers were off on that. I had never thought about, you know, activating inebriation syndromes back when I was adding the cleaning stuff. I was just like, ‘Well, they ingest it and they get a full dose,’ but a full dose is a whole mug of alcohol for a cat-sized creature, and it does all the blood alcohol size-based calculations, so the cats would get sick and vomit all over the tavern.
The original bug report is, ‘There’s cat vomit all over my tavern, and there’s a few dead cats,’ or whatever, and they’re like, ‘Why? This is broken.’
People helped me with this. We were all looking and figuring out, ‘What the heck is going on here?’, and that was the chain of events. It’s like doing the detective work to figure out that entire chain of events is what happened. You can see how adding just a tavern that gave the opportunity for spilling alcohol, which was really uncommon before, now all the spilled alcohol starts to, form in one location where something could start to happen. You activate bugs and little parts of code from eight, six years ago where you just didn’t balance the numbers because it didn’t matter. You don’t want to spend time doing balancing that doesn’t matter, because then you lose a couple of days doing something for no reason.