Live data from Hacker News

Dwarf Fortress Creator Explains Its Complexity and Origins [video]

youtube.com

61–70 of 139 posts

Re: Dwarf Fortress Creator Explains Its Complexity and Origins [video]

#61

I would love to be able to read the Dwarf Fortress source someday. I know Tarn considers Dwarf Fortress to be his life's work, so it would be amazing if he decided to release the source someday -- even if that's 10, 20, 30 years from now.

He has said multiple times that he will release the source if he dies, so long as foul play is not suspected in his death.

I think for him it's more about being able to "own" dwarf fortress. If he open sourced it, large teams of people might be able to develop it much faster than he could, and if he doesn't really want to manage an open source project, that might end up in him losing control/maintaining a less popular game than whatever gets forked out. It's also widely suspected that the codebase is really bad, and he might not want to manage a clean up of it that makes it 'better' but which results in him not understanding it as well.

Re: Dwarf Fortress Creator Explains Its Complexity and Origins [video]

#62
I have been playing dwarf fortress for about 7-8 years. If anybody has any questions feel free to ask me.

I think the difficulty of learning the game is overstated: if you follow a tutorial, use a graphics pack, and use dwarf therapist (dwarf therapist is a must, most experienced players also use this because it's just a better UI) I think you can get the hang of the game in a few hours of play time. Probably the biggest barrier to learning the game is the UX but if you're a programmer that will be much easier to learn. I recommend https://dwarffortresswiki.org/index.php/DF2014:Quickstart_gu... and https://dwarffortresswiki.org/index.php/DF2014:Dwarf_fortres... as guides, and I recommend downloading the "Lazy Newb Pack" version compatible with your operating system, as it makes switching graphics and managing utilities/settings very easy.

Re: Dwarf Fortress Creator Explains Its Complexity and Origins [video]

#63
post #39
post #18

Earlier quoted context omitted.

Don't modern processors have more cache available between all cores than available to a single core?

They must mean its memory I/O bound.

I think they meant it only runs quickly enough when everything's in cache? But that doesn't make much sense to me. It's really hard for me to believe it'd be I/O bound though, when memory bandwidth is like tens+ of gigabytes per second?

Re: Dwarf Fortress Creator Explains Its Complexity and Origins [video]

#64
post #26

Some casual alternatives to Dwarf Fortress include Gnomoria or Rimworld. They do not have the same level of depth, but they're enjoyable.

There is also Cataclysm: Dark Days Ahead[1] which is open source [1] https://github.com/CleverRaven/Cataclysm-DDA

I love CDDA, but it is not really that similar to DF. It's a very punishing rougelike with a huge amount of depth, but it's an RPG style game, not a strat/base management game, and it doesn't create a procedural story with Rich depth, it was some fun depth, but that's coded in by the developers.

HN crowd might be impressed by the scale of the contributors though. Last I checked it has over 1.1k contributors. Just cloning the repo takes a while.

Re: Dwarf Fortress Creator Explains Its Complexity and Origins [video]

#65

Earlier quoted context omitted.

Every time multi-threading gets brought up one of the devs explains that being single threaded isn't the bottleneck. It is the cpu cache that is the bottleneck.

And if it was written with a single thread in mind (which it most likely has been) naively 'multi-threading' it will likely not help do much except increase the number of bugs. Too many independent but intertwined systems communicating with each other. Making DF use multiple cores efficiently would be amazing, but I have serious doubts its viable in the short-ish term without a significant rewrite. The most you're li…

DF has many things that could be multithreaded or perhaps even vectorized (such as the heat simulations) very easily.

I agree you can't make the whole agent-based system multithreaded overnight but there are many calculations happening with every 'tick' that I would be quite confident are easily parallelizable.

Re: Dwarf Fortress Creator Explains Its Complexity and Origins [video]

#66

Some casual alternatives to Dwarf Fortress include Gnomoria or Rimworld. They do not have the same level of depth, but they're enjoyable.

CDDA is gradually evolving into more of a Dwarf Fortress than a Roguelike as time goes on.

Could you elaborate?

Re: Dwarf Fortress Creator Explains Its Complexity and Origins [video]

#67
post #28
post #21

Earlier quoted context omitted.

Caves of Qud [1] is a fantastic roguelike with procedurally generated backstory, quests, towns, etc. If you like the classic Fallout games (1 & 2) and you enjoy roguelikes with a lot of weird stuff, I think you’d get a kick out of CoQ. The game has incredible atmosphere that gives you this feeling like you’re exploring a real, living, breathing world. There’s a lot of depth to the gameplay as well, with deep characte…

I just learned about Caves of Qud by this great talk by its developer that goes over examples of its procedural history generation: https://www.youtube.com/watch?v=ClGAApZYIvI Apparently it's slated to leave early access in Q4 2020, so I'm holding off on buying it for the moment, but I'm very eager to play it.

And here is the paper [1] about how they procedurally generate the histories in Caves of Qud. Very interesting both from a storytelling theoretical point of view, and from a practical programming point of view (state machines and replacement grammers)

[1] http://www.freeholdgames.com/papers/Generation_of_Mythic_Bio...

Makes you wonder what you could do applying something like the GPT-3 AI text model to this kind of problem (history generation).

Re: Dwarf Fortress Creator Explains Its Complexity and Origins [video]

#68
post #19

As you might imagine after watching, and if you haven't read it before, the Dwarf Fortress change log[1] is a thing of absolute beauty. > - 0009195: [Dwarf Mode -- Pets] Cats dying for no reason - alcohol poisoning? - resolved. [1] https://www.bay12games.com/dwarves/mantisbt/changelog_page.p...

For anyone doubting the complexity of Dwarf Fortress, the dying cats bug provides a fantastic glimpse. > Cats have a self-cleaning interaction that contains the [IE_SYNDROME_TAG:SYN_INGESTED] tag [...] They might be walking through spilled alcohol, licking it off their fur and ingesting the drunkenness syndrome. Toady also said alcohol effects are related to body size, so it theoretically wouldn't take much to do the…

It helps if you think of it as 1a) spilling liquids, creating puddles on the floor; and, 1b) alcohol includes the property liquid; because then you can start considering scenarios like "if I spill a potion of rampage, would the cat go berserk?" — and I don't know whether a potion of rampage exists, but if it does, I expect the answer would implicitly be 'yes' because DF is coherent like that. There are absolutely a few 'potions' mods and so someone motivated could test this :)

Until then, please enjoy this interview with the creator of Dwarf Fortress. I quote a paragraph about the puzzle of intersecting the side effects (blisters and flight) of a potion of happiness with the simulated motivations of a slightly depressed dwarf:

https://www.bay12games.com/media/df_talk_8_transcript.html

> But just in general things like a potion that makes you happy ... there are two obstacles there now in the current system. One of them is that you'd need to have the effect, you'd need to give the modder or vanilla modding control to change the happiness of a dwarf, so it's not just giving blisters or whatever but there's a new effect, and that list is just going to increase over time and hopefully cover the basis. The other problem is to get a dwarf to actually use the thing; to recognise that there's now this flask filled with this juice that when you drink it it makes your happiness one hundred and fifty percent for a week, and having the dwarf know that that's something that needs to be used is a large problem, especially for a modding situation where you make happiness juice that gives you blisters and makes you fly ... when do you drink it? I don't know, it sounds like an adventure mode thing; the adventurer would take that journey, but not necessarily a dwarf craftsman that's feeling a little bummed out.

Re: Dwarf Fortress Creator Explains Its Complexity and Origins [video]

#69
post #54

Earlier quoted context omitted.

And if it was written with a single thread in mind (which it most likely has been) naively 'multi-threading' it will likely not help do much except increase the number of bugs. Too many independent but intertwined systems communicating with each other. Making DF use multiple cores efficiently would be amazing, but I have serious doubts its viable in the short-ish term without a significant rewrite. The most you're li…

Isn't (a large part of) DF basically a huge cellular automaton? That problem is already solved for multiple threads.

Forgive my ignorance, but do you have any good references to multi-threaded cellular automata implementations? This is something I've been dabbling with myself.

Re: Dwarf Fortress Creator Explains Its Complexity and Origins [video]

#70
DF is wondrous not just because of what it is (I think it's one of the greatest living examples of the artistic potential of computers as a medium), but also because of how it came about. In a society which does about nil to allow for this kind of deep creative work to flourish (I mean, was Toady basically living on ramen for most of the 2000s?), the Adams brothers set out and did it anyway. And we're getting to see it happen in real time!
Post reply on HN