I read everything about this game I can get my hands on. I don’t fully understand why I find dwarf fortress so intriguing. It’s such a pure passion project… that actually made it.
Do you actually play it? I'm a bit the same about reading about it, yet I have never once played it for myself!
How Dwarf Fortress is built
31–40 of 407 posts
Re: How Dwarf Fortress is built
#32Earlier quoted context omitted.
Sure, but it also removes most of the reason to use Git.
I invite you to try using Git as much as possible for two weeks. After a week I started using Git for branching out of my main branch to test several different ideas and then compare them at once with other developers - colleagues or friends. I think that moved the meetings and discussions with my teammates up a level.
Re: How Dwarf Fortress is built
#33> 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.
Re: How Dwarf Fortress is built
#34Dwarf 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…
Re: How Dwarf Fortress is built
#35Which platform? Mobile, PC, console? Any good introductions on the subject of solo game development? I know I can google this, but I trust HN users more than the Google algo.
Re: How Dwarf Fortress is built
#36Kudos Mr. Adams for making the achievement and moves gaming history.
Going back to the interview, I found this line (and the logic attached) interesting:
>Making the item system polymorphic was ultimately a mistake, but that was a big one.
>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.
I guess when the game becomes moderately complex then ECS or something similar suddenly makes a lot sense.
Re: How Dwarf Fortress is built
#37Earlier 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.
Re: How Dwarf Fortress is built
#38To me what was most surprising about Dwarf Fortress, given the complexity, is that Tad didn’t use git or any other code repository until more recently.
Why would that be surprising? For a single programmer working alone Git is an incredibly complicated tool. P.S.: A lot of you are confusing "complicated" with "difficult".
Re: How Dwarf Fortress is built
#39Making 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…
"Tool" is still a class, with perhaps very generic polymorphic methods (e.g. do_default_action() ). The problem is not polymorphism per se, but rather about having a deep class hierarchy aka lasagna code. My policy: OOP is like salt. Use little and that's great. I only allow a single inheritance layer, and ideally no inheritance at all.
I would agree to that as a goal, but not as a dogma. It depends what you build, I guess.
Re: How Dwarf Fortress is built
#40Earlier quoted context omitted.
"Tool" is still a class, with perhaps very generic polymorphic methods (e.g. do_default_action() ). The problem is not polymorphism per se, but rather about having a deep class hierarchy aka lasagna code. My policy: OOP is like salt. Use little and that's great. I only allow a single inheritance layer, and ideally no inheritance at all.
> My policy: OOP is like salt. Use little and that's great. I only allow a single inheritance layer, and ideally no inheritance at all. That's been my observation as well - there's no free lunch and DRY isn't free either, certainly not if you use inheritance chains to achieve it. I'm starting to think that the only programming axiom that will survive in the end is KISS.