Live data from Hacker News

How Dwarf Fortress is built

stackoverflow.blog

151–160 of 407 posts

Re: How Dwarf Fortress is built

#151

Earlier quoted context omitted.

https://www.joelonsoftware.com/2000/08/09/the-joel-test-12-s... I've seen this post brought up as relevant regularly up till 2010. You may have been lucky to avoid the dredges but SW industry in the 2000s was a copy-paste fest (not in the "copy from stack overflow" sense but as in "copy paste instead of creating a function"), PHP with SQL in templates and string concat queries all over the place, MVC was a revolution…

In the Windows world SCM was not generally available until SVN was released as a File Explorer extension. This was sometime in the 2000s. Git took several years to become viable on Windows.

IIRC, Microsoft's TFS (Team Foundation Server) also came on the scene in the early 2000's. I first used SVN around that time, before TFS became the standard at Microsoft shops.

Re: How Dwarf Fortress is built

#152
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…

> That said, I've always wondered if Dwarf Fortress would be a more smooth experience if it had more developers

Maybe, but only if it was under the benevolent dictator model.

Re: How Dwarf Fortress is built

#153

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've put in probably over a thousand hours on it, and have played it over the years as new releases come out. I've gotten to the point where I usually hit FPS death (too large a fortress that it overloads the CPU) even on the harder starts and with dfhack to help. The draw for me was the steep learning curve that rewards you with logical complexity when you finally understand it. The lore that your fortress generates…

For me, the reason I have stopped playing is that I have issues managing migrants.

There are just too many dwarves to care for. Even DF Therapist doesn't (or didn't?) really help micromanaging jobs. It becomes tedious quickly.

I remember seeing something about auto-allocating jobs, but it didn't work for me.

Re: How Dwarf Fortress is built

#154

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.

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 avo…

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.

Re: How Dwarf Fortress is built

#156
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.

A similar Twitter account publishing funny bug fix notes from other games:

https://twitter.com/TheStrangeLog/

Re: How Dwarf Fortress is built

#157

Earlier quoted context omitted.

Is it? That's when git is simplest, having a single branch and never merging removes most of the complexities of git.

Sure, but it also removes most of the reason to use Git.

The main reason is the ability to undo mistakes. Or compare working code with non-working code (including bisect)

That's very valuable even when solo, and worth typing a "commit" command once in a while.

Re: How Dwarf Fortress is built

#158

Earlier quoted context omitted.

Damn you sound exactly like me...when I work for my own projects they usually die off quickly once I figure out how to do it (without actually implementing it but I'm pretty sure it can be implemented in this or that way). But if it comes from a friend, or a colleague then I'm super focused on it until it's done. It's almost as if I do projects to show off to other people or I like to serve other people.

Part of the issue is that it is difficult to come up with problems worth solving. I think Joel and Fogcreek is a great example. He started out with the premis that you don't need an idea for a successful software company, you just need to find great devs and create the best working conditions and then success would come. This was a novel idea at the time since Apple was the only FAANG that even existed and this was t…

> you just solve it for somebody else without all the emotional attachment to the problem

This rings very true to me

Re: How Dwarf Fortress is built

#159

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…

That's very interesting, because I had observed exactly the same when I tried to implement a rogue-like in Java some years ago. For example, I had to decide whether there should be different subclasses for spell books, the different weapon types (e.g bows vs swords), drinks, etc. or just one big Item class. Closely related to that, another decision I had to make was whether object or character properties should be im…

Mattias Johansson uses basically this example in his argument for composition over inheritance. You have humans, robots, and dogs all fitting into your nice class hierarchy. But now you need a robot dog that breaks everything.

https://www.youtube.com/watch?v=wfMtDGfHWpA

I think inheritance makes the most sense when your problem domain has been known for decades - like airline reservations. But for new blue sky projects - you always seem to wind up in these snafus that break your rigid class hierarchy.

Re: How Dwarf Fortress is built

#160

Earlier quoted context omitted.

Sure, but it also removes most of the reason to use Git.

Personally, I started using git for my projects after I accidentally deleted a good chunk of source code and my closest backup was several weeks old.

The exact same thing happened to me, and I kicked myself hard for it. At the time I used source control at work (TFS and SVN; git wasn't yet ubiquitous), so I didn't really have an excuse.

I've used source control for all personal projects since, and it's in no way a burden. In fact, there have been another couple of instances since the first, where I would have lost a bunch of work without it.

Post reply on HN