> A: It’s probably boring for me to say, but I just can’t beat the drunken cat bug... That was the one where the cats were showing up dead all over the tavern floor, and it turned out they were ingesting spilled alcohol when they cleaned their paws.
I think that bug explains very well just how deeply complex Dwarf Fortress really is. Drinks can be spilled. Some drinks have alcohol. If cats step in something it sticks to their paws. Cats clean their paws, causing them to ingest what's on them. Enough alcohol will kill a cat. Put together: dead drunken cats.
Dwarfs trying to clean their inner organs (dwarf wounded, doctor closes the wound, dirt stay inside)
Undying children in the moat water (for years... just swimming there...)
Killer carps (there was a long time during which carps were really overpowered because constant swimming was buffing them up really good, dwarfs getting close to water sources were eaten by carps)
Catplosions (Tarn loves cats, cats reproduce, too many cats kills DF performance)
Catplosions (Tarn loves cats, cats reproduce, too many cats kills DF performance)
This was a particularly insidious one because the usual strategy of culling excess livestock doesn't work out when applied to dwarfs' pets (pets can't be designated for slaughter, and other means of making pets die will make their owners upset). With most animals, you can avoid the pet adoption issue by just not marking them as available for adoption, so you wouldn't have to worry about a dogsplosion, sheepsplosion, etc. Cats do not become pets through that system. Instead, a cat adopts a dwarf.
Note that the obvious strategy of not having any cats at all doesn't work well because cats are the most/only easily-available HUNTS_VERMIN creature, so you need some around to protect your food stockpiles.
A somewhat effective solution is to use male cats for stockpile protection, and keep female cats caged (which IIRC stops both adoption and breeding) and only let one out at time (cage any resulting (female) kittens immediately). There's not (yet) any simulation of evolutionary pressure to adopt a owner quickly, so you can just prefer kittens that do so for the next breeder when the current one dies of old age.
Gelding (neutering) the male cats also works, but is less sustainable if you don't have a reliable source of replacement cats from migrants or trade caravans for when the current ones die of old age. Spaying is not supported AFAIK.
You can also just remove the ADOPTS_OWNER token via raws editing.
I. M.> John, the kind of control you're attempting simply is… it's not possible. If there is one thing the history of evolution has taught us it's that life will not be contained. Life breaks free, it expands to new territories and crashes through barriers, painfully, maybe even dangerously, but, uh… well, there it is.
H. W.> You're implying that a group composed entirely of female animals will… breed?
I. M.> No. I'm, I'm simply saying that life, uh… finds a way.
Verily, the dwarf would pick up a cat to take it to the slaughterhouse, the cat would adopt the nearest dwarf (the one carrying it) and then the dwarf would slaughter the cat.
And get sad because his pet died. And then eventually start tantruming and a tantrum spiral would begin.
It's so crazy when you try to make dwarves feel great all the time and then the simulation comes up with some completely insane causal chain that messes up everything.
I once tried to isolate a miasma problem with a wall. Which works fine, unless the dwarf tasked with building the wall decides he needs a break, sleeps on the floor and then gets grumpy because he just slept on a hard surface in a smelly area.
This is why I always spent an inordinate amount of effort on my dining hall - get that thing fancy enough and the dwarves could endure quite a bit before they flipped.
Since no one else has mentioned it, I feel compelled to mention thermonuclear catsplosions.
My understanding of the legend is that a player began experiencing a catsplosion, and wanted to find a way to get rid of the cats. So he started tinkering with the game a bit, and eventually tried setting the blood temperature to a very high number. This killed the cats, but also had the unfortunate side effect of setting them on fire. And the cats were multiplying faster than they were dying, so there was a massive, expanding fireball of burning cats.
If this legend is wrong, I'd love to hear another version.
TIL this was a bug and how it was a bug! Wow! Back when I played DF it really seemed like it was simply accepted folklore that the carps in DF were really strong and the common advice was don't build your base too close to rivers. Having not played in a long while, I had always thought this was intended.
I had a roommate in college who loved to play World of Warcraft.
At some point, we got into a discussion over art style and realism. He made an observation that still sticks with me.
"The style sets expectations. When something breaks a real world law of nature or logic because of a bug, it doesn't feel as jarring, because the style is already cartoon-y."
It made me think about just how malleable expectations are with regards to game systems. Train a player to expect realism, and breaches become infuriating. Train a player to expect the unexpected, and the unexpected becomes intriguing and fun.
I think it’s more about internal consistency. If a world hasn’t said something about it (or hasn’t shown a derivation of it — e.g. gravity presumably exists, because all objects shown have been affected by it), then you’re free to do whatever (e.g. introduce magic as a mechanism). But once done, it must continue to hold true — else the rules are bullshit, and we expect nothing to behave in a manner that isn’t arbitrary.
Even fortnite has a kind of logic to it, haphazard as they may be (though it’s also so loosely defined, that I find it completely uninteresting — it’s a dumpster fire of cosmetic items with no real theme or nuance; this is because its more a modern shopping mall [ an arbitrary context for social groups ] than a game system).
It’s why simpsons can revert (nearly) all damages every episode (that’s simply the rule of the world), but if it tried to violate that rule and persisted those changes in any meaningful way, it would feel like complete nonsense. (They do however do it for self-referential jokes and such, but these aren’t persistence so much as temporary anomalies) At best, they’re allowed to forget something exists altogether.
> Dwarfs trying to clean their inner organs (dwarf wounded, doctor closes the wound, dirt stay inside)
I'm curious if the fix was to just remove the dirt from the simulation or if Tarn actually went ahead and simulated infections (or more realistically, used an existing infection mechanic).
I live in a city with a lot of stray cats and lemme tell you, "catsplosion" is pretty realistic. We narrowly averted one by getting the ones that live under our house fixed.
Reminds me a little bit of something strange I saw in Rimworld - all of my dogs were developing liver cirrhosis!
It turns out that my dogs weren't alcoholics - it just happened to be that beer was the only food source they had zoned access to, so they were drinking it out of hungry desperation, and while it gave them enough calories to live on, it also gave them cirrhosis.
One time a raider broke into my animal pen and started attacking my animals, but got shot down by a turret before they could cause any lasting damage. I didn't pay it any mind, but that raider had brought in a good chunk of Yayo (the game's cocaine analogue) that had scattered around in the pen when he died. By morning I had a herd of inebriated megasloths hunting down my colonists en-masse.
Hops outside of beer is toxic to dogs, it causes malignant hyperthermia. It's a problem for brewers who leave their hops where the dog can get at them (usually spent hops in the trash or a compost heap).
Beer brewed from hops doesn't cause hyperthermia, it's harmful to dogs because they experience the same effects of ethanol poisoning that humans do (e.g. cirrhosis), at much smaller doses.
Unfortunately it remains unexplained (by the article) why this is considered a bug. It would be unethical to test, but this seems like perfectly cromulent behavior one might actually see in real life.
When you look at an item listing and you see something like “Mead”, that is truly all the item is —- it isn’t a cup of mead, it’s just a vague amount of the liquid mead itself, as if your hand was the only thing keeping it from hitting the ground.
But there are containers that can hold your liquid. You have mugs and goblets that hold one quantity of “Mead”, giving the impression that one count of mead is like a generic serving size. You also have barrels and pots that hold stacks of “Mead”.
Creatures are kind of like walking containers and have their own detailed inventories. Among the things you’d expect to find like armor, weapons, and books, you might also find a “coating of tears” on a crying dwarf, or perhaps a “spattering of blood” on a murderous elf.
They’re not just static inventories for the fun of a story, creatures do interact with them and use them. Dwarves covered in a vomit item will (hopefully) put any available soap in their inventory and use it to clean themselves in water, for example.
Cats are simple and just clean themselves with no water or soap needed. The catch with them is that they ingest whatever they have cleaned off of them.
So, putting all this together: The problem was that cats pick up a whole “serving size” of alcohol and proceed to clean themselves, ingesting the entire serving. The bug surrounds the vagueness of liquid sizes.
And it was fixed accordingly! Cats are still vulnerable to the effects of self-cleaned alcohol, but the strength is now proportional.
My favorite feature in Dwarf Fortress is that all eyelids automatically clean their associated eyeball, just so that players don’t post about how their dwarves have vomit on their eyeballs.
IIRC the actual bug was that cats licking their paws made them consume an entire tankard's worth of beer with each lick, which made them drunk (and dead) with just a few licks.
My experiences with cats (at least in my own life) is that cats prefer not walk into an area with a sticky floor if they can avoid it.
Clearly there's a bug here where the cat will keep wandering around on the sticky floor, and then keep consuming the alcohol off it's paws.
The obvious fix is to add a feature wherein different creatures have preferences about where they go next, and then use that to have the cats avoid the bar floor if they can.
As a bonus you can include stuff like "Cats don't like hanging out in crowded areas" so that they'll also stay out of the main hall when the army is gathering to muster forth, etc.
Good suggestion. It would occasionally be nice if the _dwarves_ would avoid stepping in things and tracking it all over the place. The only reason that the cats were in the tavern in the first place is that pets follow their owner* around.
The bug was a numerical error that would cause cats to drink something like the equivalent of a pint of beer for every lick, and therefore die prematurely. He talks about it in this video:
The actual bug here was a mistake in handling of liquid volume. The cats were ingesting a tankard’s with with each lick, and they’re smaller than dwarves, so that killed them.
I read about a cat who used to visit a pub and learned to lick beer from under taps. The cat got banned from the pub for its own good but I don't believe it was anywhere close to poisoning.
That's not even (necessarily) a bug: whether convicts can win/hold elected positions is a aspect of applicable law (albeit a weird one), vampires (IIRC) have high social stats and skills and so are well-postioned to win elections in general, and dwarves (and for that matter humans) don't necessarily update their opinion of someone just because they were convicted of a crime (especially if they don't hear about the conviction, which (knowledge transmission) I recall was added to the game modeling at some point). So this is like a headline "Bob Smith Convicted of Murder; Wins Mayoral Election Anyway", which seems weird-but-possible in real life.
Yeah exactly. Also top tip is if you actually catch a vampire in DF a known thing is to imprison them in a room with all your switch levers in and a desk and chair so you can make them your accountant. They don't kill anyone that way and can do useful work.
Space Station 13 is another game with a lot of serendipitous emergent gameplay but with a slightly less steep (but still insane) learning curve and multiplayer antagonist fun.
It sounds like the actual bug was about quantity. Walking on the tavern floor resulted in 1 entire serving of beer on the paws, and cleaning resulted in ingesting that serving.
Not sure what's in the code, but I think each cat (which is some sort of entity by itself) is composed by body parts, which at the lowest level owns a bunch of attributes/components. Would that make sense?
The bug in this case was the minimum alcohol value a cat could like from its paws was above the cats LD100, so if they licked their feet when soaked in beer they would die.
That's what intrigues me, Not played the game but this must because there were a list of things which could get the cat killed right? Then how come this is an unexpected bug?
The bug was the quantity. Cats that walk around in a place with spilled beer will indeed lick themselves clean, but the amount of beer ingested is tiny.
Imagine getting drunk by licking beer residue off your hands.
> A: It’s probably boring for me to say, but I just can’t beat the drunken cat bug... That was the one where the cats were showing up dead all over the tavern floor, and it turned out they were ingesting spilled alcohol when they cleaned their paws.
I think that bug explains very well just how deeply complex Dwarf Fortress really is. Drinks can be spilled. Some drinks have alcohol. If cats step in something it sticks to their paws. Cats clean their paws, causing them to ingest what's on them. Enough alcohol will kill a cat. Put together: dead drunken cats.