• dwarves
  • Gaming
  • retro

Playing Dwarf Fortress

I was looking into getting a minecraft account for the kids, and not knowing much about the game I started out on wikipedia just to see what the hype about the game was all about. I know what the game looks like of course and in my mind it was just virtual lego, but I wanted to learn a bit about the company (especially if I was going to hand them some money), what the multiplayer aspects of the game were like and whether I could run it on Ubuntu, or run my own minecraft server. Maybe I'll write up something about minecraft someday, but the investigation led me to a game which was supposedly one of the influences for the author of minecraft: Dwarf Fortress. I was immediately intrigued. I have a small Dwarf army for Warhammer Fantasy Battle, and some of my favorite characters in RPG games have been dwarves. For non-geeks: we're talking Dwarves ala Tolkien, not Disney here. I also read Casey Johnston's ARS article on DF which can be read either as a warning or a challenge - you choose.

update 141126: Using Arch more than Ubuntu lately and found that Dwarf Fortress is in the official Arch repos, so installing it is as easy as pacman -S dwarffortress


If you're not interested in my exposition and just want to see pictures and descriptions, scroll down a bit.

The first thing you'll notice about Dwarf Fortress (DF) is that it isn't a graphically intense game. DF looks very retro, but while it may look similar to games like nethack or angband, development on the game actually began in 2006 and most work has been done since 2011. If you're unfamiliar with these older rogue-like adventure games, in these turn-based games you control a single character represented by a colored ASCII character symbol, maybe an @ sign, and you fight monsters represented by other colorful alphabetic characters while wandering in halls on a 2D maze-like grid defined by # signs and _ underscores looking for items represented by other characters like / slashes and * asterisks. I'm a fan of these kinds of games, so if you're keeping track thats Dwarves + old school = WIN so far.

Installing under Ubuntu was pretty easy. Since I'm running a 64bit version of Ubuntu, and Dwarf Fortress is a 32bit game I did have to install a bunch of 32bit libraries. If you have the space and don't mind installing a bunch of extra libraries you won't need, you can get away with: sudo apt-get install ia32-libs Then just download the linux package (I grabbed DF2012 v.34.11) and unzip it someplace.
I did have to manually link one file to get sound working in Ubuntu 12.04: ln -s /usr/lib/i386-linux-gnu/libsndfile.so.1 ./libsndfile.so Launch Dwarf Fortress in the df_linux directory with: df

However, thats where easy ends.

Before you can even start playing DF, you have to generate the world, which on my old machine took some time. Then, once the world is generated you have to find an appropriate place to start. Luckily I had already watched CaptnDuck's very informative video introduction to "World Generation & Finding a site" in DF so I was able to navigate through that portion of pre-game easily.

Once started, as many folks would do, I just blithely started playing the game and tried to futz around as best I could to see what I could figure out on my own. This approach did not go well. I quickly became frustrated and really didn't get very much accomplished. It wasn't more than a couple hours before I had already abandoned that first fortress. I do have a screenshot of it, but its really uninteresting.

My second fortress attempt ran for about a week and a half. I didn't have to regenerate the world, but I did have to find another site within it which met the criteria laid out in the video above and in the amazingly helpful Quick Start Guide. Really, this guide is required to play DF, and actually not just the guide but the entire DF wiki of information about DF will eventually come in handy at some point.

The process of figuring out what you need to do as things progress is halting and slow, but the game isn't about rushing around, its about strategy. Since the game is turn-based, you can spend as much time as you want on "Pause" looking up what to do next. In fact, giving orders to your dwarves puts the game into pause mode. Most of what you do in the game is done while the game isn't even running. The idea of the game is different from nethack in that you do not actively control a character or a "piece on the board", but rather, you define zoned areas where activities should take place, and assign skills and duties to your dwarves. When you un-pause the game, they set about doing those jobs, but they do so using their own AI (artificial intelligence), you don't select a bunch of guys like in Starcraft and send them to a specific place, they decide if they feel like doing their jobs and set about doing them if they want to.

Thats right - I'm talking about these guys like they have minds of their own. In fact, they have wives, kids, they get pissed off, they get into fistfights, they get drunk (or worse, sober), they have psychotic episodes, they decide they're just sick of it all and give up or get mad and go nuts. It all depends on the ratio of happy thoughts to bad thoughts they have every day. Give your dwarves a nice room with a bed and a desk and a chair and nice flooring and a cabinet or two, make sure they have plenty of ale and food and you've got a happy productive dwarf who will efficiently do whatever labors you assign as quickly as can be. But piss them off and bad things start to happen.

Building my second fortress

df-130323aI started off again this time in flat forested plain. No mountains nearby, just some lakes and wildlife. I managed to cut down some trees and stockpile the wood, and start to channel and dig out a little mine entrance. I designated some areas for planting and pasturage.

df-130323bFollowing the suggestions in the guide I was soon able to mine out some areas below the surface and create a narrow hallway leading back to what would eventually become my main halls. The narrow hallway was for defensive purposes since it would be easier to defend, but as I would eventually learn, defence is not easy. One large room was opened up to serve as a stockpile for many types of things and soon after my dwarves brought all the supplies from their wagon down into it.

df-130324-fallI realized it was fall as many of the trees began to change to a yellow color. I had already chopped a bunch of them surrounding the mine entrance down, and you can see a nice stockpile of dolomite blocks. It probably makes sense that a game featuring dwarves would have a fairly extensive geology system. There are all sorts of rock and mineral types in the game.

df-130324-level1I was able to mine out a couple more rooms and build workshops in them for essentials like woodworking, stone masonry, metalworking. I quickly put these to work building beds, chairs (and thrones), and all the metal tid bits we'd need soon. They needed to be kept stocked with wood and stone and ore so my dwarves were running hither and yon to keep the stockpiles full.

df-130325aI realized I needed to till the fields and set some of the animals who wandered by and were domesticated to pasture. The pastures I set to the north, and found I had to keep moving the animals in them around or they'd eat up all the grass and starve. I didn't have as much luck farming as I had hoped, but you need seeds and you have to fertilize (which requires potash which requires an ashery workshop, etc.) I start to see the similarities to building games like simcity and warcraft II where you need to know the build hierarchy. There are some flow charts showing requirements for varous build types in the wiki. I despair at their complexity.

df-130325bI defined the large entrance area as a meeting area and dwarves who were previously running around above ground decide to loiter in it potentially safer than up top. I put a trading area in the large entrance (so the trading wagon would fit) and I had a few trading visits. None went very well - I had trouble figuring out what to do in the trading interface, even though I did manage to get my designated trader to show up and discuss stuff. I wasn't sure what I needed, or how to go about effecting the trades. This is something I need to do more reading about. I mined out some more rooms and set up some more workshops of different types. I started thinking about making rooms for some of the administrator dwarves (they require a nice office and a decent dining room, etc.)

df-130325cI started to dig deeper, looking for more precious metals as well as the standard dolomite. I strike all sorts of goodies, but also accidentally tunnel under one of the lakes but avoid a watery disaster. You can see the areas I've designated to be dug highlighted. Eventually miners will dig out these areas.

df-130325-dwrfsMy list of dwarves has grown, standing in this shot at 35 citizens. Most are happy (that information is not shown here you have to dig into each guy to see what they've been thinking about recently) and doing something. Although it looks like most of them are drinking. I suddenly realize I have no underground source of water and they must all be up top (more dangerous). I look up how to set up an underground well and its kinda complicated and I give up and build wells up top as close as I can. I also build a lot of buckets hoping they'll carry water back for other dwarves.

df-130327The unthinkable happens! A were-elephant attacks my peaceful dwarves! There is blood (which doesn't disappear) smeared on the landscape as a couple hapless dwarves are mauled by the beast. It eventually runs off, but I was a little shaken by this and start to look into how to organize my miliary to respond to things like this. I do not put the effort into understanding this that I should (this will be my downfall).

df-130327bdf-130331 The first level is really filling in now. I've build a mausoleum with stone coffins and a nice statue off to the left, I have some nicely appointed rooms with smooth stone flooring and walls, most dwarves have beds though many are bunking with others in a kind of dormitory.

df-130331-therapistI've got almost 90 dwarves and I can't keep track of what they're doing anymore. A friend on G+ suggests that I look at running a management program called Dwarf Therapist. I had laughed at the thought of running an ancillary program to keep track of things in my game when I first read about it, but now I totally see the need for something.

Installing Dwarf Therapist required the install of some qt dev package, download of the program from a git repo and compiling. In Ubuntu: sudo apt-get install qtcreator hg clone https://code.google.com/p/dwarftherapist/ cd dwarftherapist qmake dwarftherapist.pro make sudo make install

df-130403aAnd then, it happened. I wasn't ready for the goblin attack and attack they did. Up top I saw a group of little "g"s converging on my fortress like a swarm. I had suited up a couple miliary units, but wasn't very adept at using them - I also had run into a problem wherein I had assigned a couple miners to a military squad and they had stopped mining entirely and had been struggling to get them back to work for a while. Things had been deteriorating for a while actually - df-130403cI had been losing a dwarf here and there to various causes for a while and just learning how to dispose of the body properly - in a proper coffin and not just on the dump heap. Besides the problem of miasma (a purple cloud that envelopes whole areas obscuring sight and making dwarves retch), there was the issue that an improperly disposed body might mean perpetual haunting by that body's ghost.

I haven't logged back in since the disaster, but when last I looked there was all of about 6 dwarves left to defend against as many goblin attackers. After I finally bring myself to face the end, I will hit the wiki again to try to school up on how to properly handle the military.

In summary, I have come to appreciate the official motto of Dwarf Fortress: Losing is Fun!