Hacker News new | comments | show | ask | jobs | submit login
Polygon sat down with one of the creators of Dwarf Fortress (polygon.com)
195 points by danso 1071 days ago | hide | past | web | 99 comments | favorite

The truly exciting thing about Dwarf Fortress is that it proves that deep, detailed simulation is well within our reach.

It suggests whole new genres of games that have yet to be created; imagine a typical fantasy RPG (or perhaps one that plays more like Mount&Blade) where the entire world is simulated as you play, so every choice you make has logical consequences. The possibilities are endless, and while Dwarf Fortress is a great game on its own, it's really just scratching the surface of what can be done with world simulation.

There are a lot of games inspired in one way or another by DF out there now, actually. But yes, it's an awesome game where the raws with the plant material properties now have scientific species names that they're based on, and the raws cite references for where they got the numbers.

This one, of course, being the most infamous - http://dwarffortresswiki.org/index.php/DF2014:Saguaro/raw

As it was inspired by this 'artifact' - http://imgur.com/EPtgt?tags

My favorite cartoon on the subject:


No, please, if Mount and Blade had the simulated world of Dwarf Fortress, I would never leave my house.

In a word, yep. You wouldn't be the only one.

Have you ever played DF's Adventure Mode? It is "sort of" like that now, and I'm pretty sure that's the end goal.

That's what EverQuest Next is supposedly doing with the Storybricks algorithm.


I have the alpha, didn't impress me that much in comparison to something like DF. The voxels engine is nice but asside from that, last time i checked there wasn't anything else that stood out.

That's the Landmark Alpha test, which is solely the building/minecrafty-aspect of the game. Actual Everquest Next parts have yet to be shown off.

I encourage everyone to check out the game. It's quite crazy, and beginners inevitably lose due to the game's depth and crazy events ("Losing is fun!"). If the ASCII tile sets make your eyes bleed, there are other tile sets of graphics to try out. [0]

There's also a very vibrant modding community, including a lot of memory hacking through the dfhack project [1] – even fixing a lot of longstanding bugs in the game, like dwarves taking a pair of gloves and putting both gloves on one hand. There's a full engine to write tweaks in Ruby or Lua, too.

[0] http://www.dwarfcorp.com/site/wp-content/uploads/2013/08/df.... native versus http://i.imgur.com/FQaND.png (Phoebus tiles)

[1] https://github.com/DFHack/dfhack

The third party graphics are helpful (but still make your eyes bleed) but the main issue is the controls -- I just couldn't get past how difficult it was to do anything.

It's been a while since I've played, but if I remember, you couldn't use the mouse -- I bet adding that functionality would make it so much easier to get into the game.

It's interesting, I used to think the same way. (well, I still do to some extent) But after getting acclimated to using VIM bindings for coding, learning keyboard shortcuts for common things, etc., when trying out the new version the controls were surprisingly comfortable. Now granted, they still aren't really good controls by any stretch of the imagination. But I found it to be an interesting experience that as I've gotten better at coding/using the keyboard for coding, purely using the keyboard to control such a complex game as DF has become a bit less of a barrier. I wonder if anyone else has had a similar experience?

Dwarf fortress made me pickup emacs. After getting into dwarf fortress for a while, I found the idea of only using a keyboard liberating so I ended up seeking out a text editor that could give me that.

Hm. That makes sense. I use Gedit/Sublime for coding myself, only using VIM for a short period during college (never really cared to learn it more than I had to)

Yes, there are plugins for fixing [some of] the UI. There's a few plugins that add brand new UI, too.

Of note, falconne has released a suite of helpful UI tools for dfhack [0] like mousequery, various search/sort tools, etc.

[0] http://www.bay12forums.com/smf/index.php?topic=119575.0

"beginners inevitably lose"

You seem to imply that it's possible to win ;)

The werehedgehog Xim Thogslockawe has come! A giant hedgehog twisted into humanoid form. Now you will know why you fear the night.

You will never win.

I dunno now... I used to play more when the fortress always started on a cliff face.

But back then people considered "winning" if you triggered the end-game demon... that despite that making you lose too, it was really hard to do... (and defeating said demon with a adventurer later even harder).

I would wait for the new release to stabilize, though, and for the third-party tools to be adapted to it. Or just go with the previous release, which is 2 years old.

Yeah, I launched the new version and found that dwarf therapist hasnt been updated (an absolutely needful addon if you like df, it makes managing the jobs so easy) and that there are quite a few bugs, longer worldgens crashing and various in-game crashes for undiscernible reasons, but all I did was turn on autosave and everything seems to be fine.

If you are into fortress mode (like me, I just dont like adventurer mode) just download the old release, there isnt enough changes for you to care and it is a bit more stable.

What I hate about the developers is that they live in their tiny little closed source Windows cave. They develop so many cool things but you can probably never use most of it outside of DF. Like how many cool games would we have if the world generator would be an open source C library? How many languages would have been added by other people who actually study language related science if they knew how to. How many people would have developed 3D graphics engines and usable mouse+keyboard menus if there would have been a publicly defined interface to interact with DF.

There are actually many cool tools but as far as I know a lot of the time of these developers is drained by having to find out about the API themselves (which might change) and most of them are naturally only working on Windows as well.

Think of Minecraft style community + DF on all available operating systems. How cool would that be.

So go write one ;)

Whilst I agree that cross-platform is a nice goal, I'd much rather developers wrote what they want to, and are more comfortable with first and foremost without having to think about multiple platforms or 'trendy' languages, etc.

I want developers to write the things they want, and I'll be happy if they share them, rather than writing things they think everyone else wants and not having the same passion.

Some people will want to write multi-platform something and have the passion for that, which is great, but I wouldn't ever want to enforce that on any one.

If you ever want to see a developer cave, just look at Linux (and the oft-used 'Windows people can build it themselves if they can work it out')

Disclaimer: I use all OSes and like them all in different ways. However, when I write software for myself, there's little chance I'm caring about who else will run it. It's coding for pleasure, not money.

Edit: I should also mention how utterly AWESOME Dwarf Fortress is.

The "just write this one program" philosophy always just yields one program at most. The "add software to the community" approach might add only 1/10th of a program, but with thousand people doing it you get 100 programs out of it. Which approach looks more reasonable?

Or to give another example how many people can enjoy Game of Thrones because it's written in English? (I'm German and I love it!) If it would have been written in a minority language that is only spoken in one village somewhere in central Asia it might have been more comfortable for the developer, but only few people can ever take joy in it.

They don't need to make the program work on all systems or use a fancy new language. They just need to enable the community and make use of development patterns that are flexible. Java certainly is not a fancy new language, and despite it's claim it only really works on Windows well enough out of the box. Yet Minecraft has an open community where even the developers profit from what others add to the game. When the coders of DF die in an airplane crash tomorrow DF is pretty much dead as well and that's the big problem I think. If I invest my whole life to create an awesome piece of work, then it should surpass me in number of years.

Going along with your analogy, it's very possible that if this central Asian George R. R. Martin was deterred from writing Game of Thrones in his native language because it isn't "reasonable" for others to expect to read his works, then maybe it would never have come into existence in the first place. Look, I understand your point but sometimes when you want something done you don't mess around and care about what other people want. You just do it in whatever way is easiest for you. Saying you "hate" these people who actually have CREATED these things that have added value to people's existence seems really rather immature. It's not like lives are going to be saved because DF was open sourced.

> When the coders of DF die in an airplane crash tomorrow DF is pretty much dead as well and that's the big problem I think. If I invest my whole life to create an awesome piece of work, then it should surpass me in number of years.

What reason do you have for your belief that the community's development of DF (after the plane crash) will be according to the founder's great vision? I openly say that it's perhaps better if in this case the further development of DF is ceased than developed into a direction that is opposed to the original developer's goals.

I think it a loss that a game with such original complexity has the most primitive graphics. Nobody wants 3D acceleration, but an upgrade to a simple 2D with sprites and effects with a better interface, would open it to a wider crowd.

It's been said before, but in the opinion of many would-be DF players, it's really the interface that could use a massive amount of love. The ascii graphics may not be your cup of tea, but at least they would be functional if, IF the interface/controls/menu systems weren't all so horrible and obfuscated and totally inconsistent with each other. I've come to the conclusion that the developers get some sort of sick joy out of putting this incredible, tantalizing core out there but making it completely inaccessible to the average player. Maybe that's their strategy to weed out non-diehards until "it's ready".

All software is of the highest craftdwarfship.

The funny thing is, Dwarf Fortress is simulated in 3D. With the 3D viewer, you can even look at your terrain in 3D:


If DF would look like that during gameplay, I'd immediately start playing.

You can play in Stonesense, though it's still early days yet and only works on the last patch.


Thanks for the link. While it does indeed looks nice, it's not what I had in mind. This is basically isometric 2D. You're looking at a plane. Things that rise up, like pillars, are not shown. You could not see that dam the way it really looks like in my linked picture.

We're getting there. mifki's working on getting multilevel rendering for basic tilesets (http://www.bay12forums.com/smf/index.php?topic=138754.105) and then that will be exploring 3d. Stonesense itself is headed in that direction, see the most recent forum page: http://www.bay12forums.com/smf/index.php?topic=106497.1035

A good 3d GUI for DF would be challenging. Usually[1] most of the game takes place in corridors/caves that are underground, so the naive approach would have everything obfuscated by solid rock.

[1] Obvious nitpick: some players do indeed challenge themselves to build everything above ground.

Yep. Dwarf Fortress players seem to revel in the abhorrent UI. It's not even just the abysmal graphics, it's the arcane controls, too.

A sane interface with even the most primitive 2D tile-based GUI would make Dwarf Fortress better by orders of magnitude.

It really does suck how the game has no way to make the tiles easily understandable: http://i.imgur.com/KqHkn4z.png

The UI may be bad and need improvement (personally I find it no more complicated than any other CLI, even if it is a little inconsistent), but you can't complain about the default tile-set being ugly and unreadable and how "even the most primitive 2D tile-based GUI would make Dwarf Fortress better by orders of magnitude" when there is a rich and dedicated group of fans who pour a lot of time into making the game look, in a lot of cases, very nice.

And as your sibling poster said, if you really cannot stand the 2d, there is Stonesense for rudimentary 3d graphics.

That's a mod, is it not?

Yes. One bundled with every beginner's pack linked anywhere you'd learn how to play.

Because people are complaining, not everyone seems to be understanding that they ought to download the beginners pack.

Cool. Nice to see some fans are working to fix the game's awful interface.

Both sprite mods and even isometric view are available. Tarn has made it possible for others to do this work and they did:



You might be interested in Gnomoria[1]. It's not Dwarf Fortress, but is inspired by it.

[1] http://gnomoria.com/

Gnomoria is one of the few "early access" games on Steam that seem to be working out well, despite the effort being a one-man operation. If Dwarf Fortress seems too intimidating, Gnomoria is a good place to start. It doesn't have anywhere near the depth of DF, but many of the core concepts are the same.

And it won't make your eyes bleed.

I don't want to sound harsh at all, but if someone can't get over the quirks of the UI and the abstract ASCII art, I think it's not the kind of person that will love the complexity of the game either. The UI of DF is actually a pons asinorum.

Go is an incredibly complex game but its complexity is not arbitrary. DF has both go like depth complexity and arbitrary waste of time complexity. Many people like depth but don't like bad interfaces.

Dwarf fortress will crush your CPU because it isn't, and likely never will be, multithreaded.

Odd considering that several of the CPU-intensive procedures described in the article (rejection sampling of terrain, generation of independent feature fractals) are easily parallelized.

Those take place during worldgen though, which is a one-time event that occurs before gameplay. Where most players actually experience CPU problems (and it matters) is during gameplay. The world is effectively frozen after world creation (though I think the latest version does allow for events to still go on), but what has historically been the source of performance problems is dwarves and animals pathing, large numbers of items, and water/lava flow. Even though you can generate these huge regions, the average fortress is built on a pretty small map.

Doesn't that mean that DF will only "crush" one core rather than all of them?

Is it really a big concern how well DF will scale? It's a game, it is made to be played. It isn't really meaningful to criticize games for whether they are multithreaded or not.

Yes, it will crush a core.

It actually is a concern as DF in game (dwarf mode anyway) does a huge amount of pathfinding for the little buggers and other creatures. Not to mention item tracking and other bits.

This means that once your fortress gets somewhere around 200 dwarfs you start getting into FPS death because it doesn't scale. So it actually as is a problem, and development of the game is going against the grain of modern computing.

I'm not downing on it at all, DF is Tarns forever project, and a damn good one. He, by design, doesn't owe anyone anything. But the reality of it is that it only gets less and less playable over time and will not be able to reach the mass civilization simulation that many of its players want as more features are added and core speeds remain relatively unchanged.

> He, by design, doesn't owe anyone anything.

A commercial game would have a tutorial mode and other bells and whistles to make it more approachable. Thing is, I have one hour a day before sleep to screw around, so is it Bob's Burgers or Dwarf Fortress?

> A commercial game would have a tutorial mode and other bells and whistles to make it more approachable.

Does Jackson Pollock have a tutorial? Duchamp? The beauty in Dwarf Fortress is that it doesn't cater to the lowest common denominator. It's the vision of Tarn and Zach Adams manifested without the filter of commercial interests.

Nobody's opposed to a tutorial (and there are plenty of community created ones: http://dwarffortresswiki.org/index.php/DF2014:Tutorials ).

Commercial games are like corporate art. A company would never create a game like Dwarf Fortress.

Alternately, you can spend your hour before bed watching reality television.

I'm confused by what you're getting at here

Back when I was hacking on DF ~4 years ago I believe it was actually the item tracking that was ruining performance in big forts. The main loop had to touch every item in the game every frame, including things like every rock mined by your dwarves. You can usually get significant speedup in big forts just by destroying all the spare rocks (I think the best way to do this in-game was put them under a bridge and then close it on top of them).

I ended up having more fun hacking on DF than playing it, but it is an interesting game.

Pathfinding was the other big CPU problem; better fortress design means better pathfindning means longer playtime before death by slowness.

This is the only thing that disappoints me about Dwarf Fortress, my CPU has gotten more and more powerful over the years and despite that my FPS crashes faster and I have to drop to smaller and smaller worlds every release.

What are you talking about? Of course it's meaningful to criticize a game for how well it uses the resources available. Not many applications are are resource-dependent as a video game. Word can be a little slow, but as long as it recognizes what I type, it's fine. Excel can hang for seconds while it calculates my formula. 3D rendering can take days and that's to be expected. No one talks about frames per second in productivity applications. But look at how much crap WatchDogs got when it came out and people realized it was only using 70% of the available resources on AMD cards. Look at how many hundreds of dollars people spend on video cards and quad/octo core processors to get a little better performance. Meanwhile the workstation on my desk has a Core 2 Duo with 2GB of RAM, and I couldn't care less.

If video games shouldn't be developed to high levels of efficiency, what should be?

Ya, sadly Toady has basically said "I don't get multithreading, and it is so far down the list of things to do that it might happen in... who knows when."

I just wonder why this isn't 64bit? Seems it should profit vastly from being able to use modern amounts of RAM plus better registers.

Multithreading is a last ditch effort since you can only get your speedup from it once and it will add a whole new level of hard bugs and will dramatically complicate everything forever. For something like df it is much better to work on smarter code first.

"Fun" aside, they should take a page from GRRM, and look at what makes popular fantasy fiction so popular, and borrow some elements from there (such as allowing nations to commit atrocities during worldgen). The occasional godly intervention makes things more interesting as well.

From a developer's perspective, though, there is a lot of "fun" left in their codebase. They handle massive pathfinding, temperature and fluid mechanics, and other resource intensive algorithms. From what I remember (I last played DF2010), there is a lot of room for improvement, and the community has discovered several "workarounds" that reduce the workload for common structure types (such as a lava pump)

I just genned a world where the southern elves were crushed for 70 years by a goblin Civ. 3 queen regents and princesses were put to the sword.

The 4 iteration, resulted in Ivis Voidwinds (or something), the new elf princess who promptly went to explore the wilds and tamed giant dingos, lions, polar bears, bears and a host of other animals.

In 162 she led an army and attacked the goblin civ, pillaging 3 cities in an unstoppable attack till they signed a peace treaty in 163.

In 163 the goblins broke the treaty, at which point she waged war till 250, when world gen stopped. She was victorious in battle and converted 5 conquered sites to Elfdom.

She did this all with only 1 kill to her name, she was a high master strategist.

I never got around to really learn to play it, but here and there I gen a world just to see that kind of thing happening :D

To quote myself from the last time I commented on an article about DF:

I will continue to have no interest in Dwarf Fortress until it has an actual UI instead of whatever insane random combinations of controls the developer felt like adding on any particular day.

In that case, you might want to give http://gnomoria.com/ a try, which is similar to dwarf fortress, but significantly less complex, easier to control, and looks decent out-of-the-box.

You might also be interested in https://www.factorio.com/ which is a game about building factories (free world, 2d isometric). Aside from being addictive, it is also performant, looks good, has a decent soundtrack and comes with all of it's ingame-stats conveniently embedded in Lua-sourcefiles (which you don't even have to parse-- just run them through the interpreter if you want to start modding/theorycrafting).

Disclaimer: I'm not affiliated with those games in any way, just promoting them because they're awesome (best entertainment/price ratio of anything I ever paid for).

I loved Factorio, but had to give it up because it gave me worse eye strain than any program ever has.

I'm already a big fan of both, actually.

There's an entire subgenre of games trying to make less ambitious, prettier versions of Dwarf Fortress. Banished, for instance. You could argue that even Minecraft attempts to be a 3d dwarf fortress, where you control your one dwarf.

The extra effort in the UI tends to leave far worse games than Dwarf Fortress though.

Minecraft was actually started as an explicit DF clone and then deviated from there

Minecraft was started as a clone of Infiniminer.

Infiniminer and Dwarf Fortress.

I don't know what definition of "clone" you use, but in my eyes you are using the word too liberally here. Was there any stage of Minecraft development that was even remotely similar to Dwarf Fortress in concept? When I started playing it it lacked, say, crafting, and the only concept it really shared with Dwarf Fortress was the idea of generating terrain procedurally; a concept shared by many games, and one that makes Minecraft compare to Dwarf Fortress like a propeller beanie compares to a wind turbine.

Notch has said so himself.

Which of course makes it so.

You're missing out. I mean, I assume that you're doing other things with your time and enjoying them instead, but Dwarf Fortress is a unique experience well worth a few hours every couple of years.

A few hours every couple of years? I admire your discipline.

If I wait a couple of years to play, I end up losing a weekend or two to a few forts. I have to get my fix by spending a day or two every few months. No other game does that to me.

At least many of these "insane random combinations of controls" follow a pretty OK mnemonic naming convention.

b>c to build a chair

b>d to build a door

b>w>l to build a still (type of workshop, many other things under b>w)

This is the kind of stuff that always trips me up:


Several different sets of keys to use depending on what you're manipulating, even though they all have to do with direction. I can never remember and always have to use the in-game help.

Whereas, when I play nethack or DCSS or brogue, 99% of the things my fingers do, they do without needing to consult their external memory (my brain).

The interface is so simple (okay, nethack's is not, but I started playing it at an early age, so it's baked in to my fingers now) that it's a joy to operate the game.

Once your brain doesn't have to drive your fingers, the interface becomes an extension of you and you achieve a kind of flow where you're interacting with the (game) world without thinking about it. Anybody who has learned to drive stick shift (especially if you already knew how to drive an automatic) knows this feeling.

We place a strong emphasis on usability and interface in crawl. For example, we actively avoid putting items in the inventory slot corresponding to using them: potions shouldn't land on 'q', food on 'e', etc. Another advantage is that we're dealing with a simpler game. Brogue takes this one step further and I think does a fabulous job. For example, there are no inventory stacks on the floor. Either there's an item or there isn't. Adding stacks would impose a complexity cost without improving gameplay.

Back in 2009-2010 on DCSS we were very fortunate to have one of our developers organized a usability study. The usability study ran over several months and produced a ton of feedback. Since the core team is around 30, we actually had the throughput to act on these recommendations.

DCSS is absolutely fantastic.

I wrote an IRC bot last year for myself and a small community on IRC (5 of us at the time), that specifically monitored only us by paying attention to lines said in ##crawl. It also passed along commands to the appropriate bots (Henzell, Gretell, etc), and responded with their responses. The bot was pretty crappy through, as it was just an irssi script with a buncha hacked perl.


A friend in the community rewrote it as a proper bot, and has extended it much more. This little community of ours (now up to 20 or so people) has had a ton of fun thanks to this, because we get the usefulness of ##crawl without the spam.



Brogue just blows my mind with how simple it is. The magic system is reified as items. You really only have one stat (strength) IIRC. The food clock is both dead accurate and merciless [0].

I haven't played DCSS in a few years, but when I did, it was literally feast or famine: I would either be walking around with dozens of rations or else dying of hunger all the time. Herbivorous races like Spriggans didn't have very high food consumption but also didn't have many options in case they didn't find vegetarian food.

I read the summary page for the usability study, it seemed to give tons of (in particular) very _actionable_ feedback.

[0] Nethack, as much as I love it, causes brain damage in the same way that BASIC does: it shapes the way your brain works in a disadvantageous way. Consider that all of the nethack variants _add_ features (and are unabashed about it, SLASH stands for Super Lots of Added Stuff Hack).

pender has done an amazing job with Brogue. Without a doubt it's the best roguelike out there today. It doesn't have the same scale as crawl, but I think this is more of a strength than anything else. Slogging through 51 levels in a normal length game or upwards of 100 in extended is just exhausting. I joke that every time crawl gets better, we do it by cribbing something from Brogue.

Two features that come to mind are summoning mechanics and axes. Previously summoned monsters would stick around after a summoner died. This encouraged players to just run away if too many summons dropped. Instead, brogue pops all the summoned creatures as soon as you kill the summoner. This raises interesting tactical possibilities: Do I expend items to kill a summoner? Do I try to separate a summoner from other monsters?

Exactly. Which is exactly like games like Starcraft or Warcraft, where there are any number of things you can "do" as a player. No one complained about those games' UI. DF has this and more. Therefore, the UI becomes more involved. I think what this really boils down to is "I haven't played the game and everyone says it's really hard, so I guess I won't try. Instead I'll go online and complain about the UI I've never used."

This is the first time I have heard someone suggest that DF has UI design of comparable quality to Starcraft or Warcraft (or any other major game for that matter).

It's on par with using vi, but once you get over the speed bump it actually feels natural and you go through the menus without even thinking about it.

Granted, this isn't easy for everyone.

Are there any good newbie tutorials? I always start it but just get way too lost right away.

I would choose a phased approach for a brand new player.

Learn about tiles, z levels, and investigating what an object/unit is (navigation and inspection).

Learn about designations (how to mine, gather plants, chop down trees)

Learn about rooms and workshops (mason, carpenter, bedrooms, dining rooms, offices, walls, doors, grates, stairs, ramps)

Learn about farming (underground preferred)

Learn about trading (crafts, trading depot)

Learn about nobles (bookkeeper and manager to start, followed by broker)

Learn about mechanisms (mechanisms and levers, let power come later)

Learn about military (squads, commanders, fighting, training, equipment)

Explore the rest of the game!

If you want any help, comment or email me in my profile, I would be glad to help!

Find a multiyear walkthrough that will take you hours to just play the game according to how a manual tells you.

Why? It's like learning Ruby on Rails with Michael Hartl. You follow his instructions to learn more than just mechanics, but the Rails Way of doing things.

Same with Dwarf Fortress. You need to learn the DF way of doing things, the DF way of solving problems. Easiest way to learn it is to follow deep instruction for a while.

I cannot find the exact tutorial I followed a while ago (and I'm not sure it's even valid for the latest versions) but this wiki ought to help start: http://dwarffortresswiki.org/index.php/DF2014:Quickstart_gui...

Maybe a current DF player can link you to the best multi-year walkthrough :)

sounds less fun than just jumping in the game and winging it

I read Getting Started with Dwarf Fortress[1] to understand the game. DF is not intuitive at all and this book helped me wrap my head around DF.


I learned from YouTube user captnduck back in the day - they're great tutorials made all the more appealing by the guy's incredibly soothing Dutch accent.

Follow along with some youtube examples of how to start. There are a couple out there with good explanations of moving between the different modes.

Thanks, I assume just searching for Dwarf Fortress videos will lead me to a useful starting point?

The YouTube series by captnduck is noted for being particularly helpful and comprehensive. But I think seeing several people's playstyles is good once you figure out how to not starve.

That opening cinematic is terrifying.

terrifyingly awesome you mean

We changed the linkbait title to one of the article's introductory sentences that accurately (if blandly) describes the piece.

I appreciate the transparency.

Thank you.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact