Live data from Hacker News

How Dwarf Fortress is built

stackoverflow.blog

141–150 of 407 posts

Re: How Dwarf Fortress is built

#141
post #33

> What’s your favorite bug and what caused it? > 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 ha…

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.

Liquid items are funny in the game.

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.

https://www.bay12games.com/dwarves/mantisbt/view.php?id=9195...

Re: How Dwarf Fortress is built

#143
post #23

Dwarf Fortress consumed hundreds of hours of my life in high school, I have so many fond memories of it. Every year or so I come back to it and I'm always surprised that they've managed to add another mechanic or feature that just makes the game feel even more like its own little universe. After enough time in the game there really is a moment like that scene in the Matrix - "I don't even see the ASCII anymore. All I…

Even if it were open source I doubt there would be enough impetus to implement multithreading.

It would literally be easier to completely make a new game from scratch with async and threading designs taken into account, instead of trying to adapt an existing monolith.

Async and multithreading are complex and introduce many subtle bugs. It's not so easy to just move to that from a single-thread event loop.

Re: How Dwarf Fortress is built

#144
post #34

Earlier quoted context omitted.

Passion project? It is the sole source of his income.

I've been working on a project for a long time. It's not even yielding income, though I hope it will. A friend referred to it as a passion project. That hurt for some reason. I can't explain why.

Yeah I agree with this, I would feel hurt too. For some reason the word "passion" has this hidden connotation for me which makes me feel like the project isn't serious, isn't making money, isn't popular, and is just eating up all my time as it is something I constantly obsess over.

In the case of Dwarf Fortress, I would say for him it is "the sole project he's been working on for 20 years now, which takes up $large_number of hours per week, and which has been sustaining his life now thanks to a fan base which have proven themselves reliable contributors of financial support. And he really enjoys writing the code too"

Re: How Dwarf Fortress is built

#145
post #103

Earlier quoted context omitted.

Everything about it is wonderful (I really mean that) except the fact that he's sponging off his mother to do it. I can't help but feel that it's a drop of vinegar that spoils the whole cup of milk

He is? He's making almost 9k a month, that's pretty good if you ask me. https://www.patreon.com/bay12games

That's for two people (him and his brother, who's also working on the game, but in a non-coding capacity).

Re: How Dwarf Fortress is built

#146
post #61

I know I will regret asking it… but what’s the modern way of starting playing DF?

You can use dfhack to run the game, which provides some niceties [0]. There are graphical packs; many people like Phoebus. You can also use an external program like Dwarf Therapist for dwarf management, which becomes necessary once you have a lot of dwarves.

[0]: https://docs.dfhack.org/en/stable/docs/Introduction.html

Re: How Dwarf Fortress is built

#147

Making the item system polymorphic was ultimately a mistake, but that was a big one. Q: Why was this was a mistake? A: When you declare a class that’s a kind of item, it locks you into that structure much more tightly than if you just have member elements. It’s nice to be able to use virtual functions and that kind of thing, but the tradeoffs are just too much. I started using a “tool” item in the hierarchy, which st…

In the LPMud LPC language objects could inherit from multiple other objects, so they could combine behaviors. I haven’t really seen that in other languages.

Re: How Dwarf Fortress is built

#148
post #31

Earlier quoted context omitted.

Do you actually play it? I'm a bit the same about reading about it, yet I have never once played it for myself!

I tried playing it like a decade or two ago. Couldn’t get past the ridiculous learning curve.

I just saw that O'Reilly published a book to help with that: https://www.amazon.de/Getting-Started-Dwarf-Fortress-complex...

Re: How Dwarf Fortress is built

#149
post #33

> What’s your favorite bug and what caused it? > 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 ha…

One of my favorite Twitter users. https://twitter.com/DwarfFortBugs It's just funny Dwarf Fortress bugs.

LOL - 5386: Imprisoned Vampire Elected Mayor

Re: How Dwarf Fortress is built

#150

Earlier quoted context omitted.

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.

Liquid items are funny in the game. 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 th…

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.
Post reply on HN