Posts Tagged ‘Dwarf Fortress’

The vagaries of the internet’s attention: More Dwarf Fortress design/dev commentary


I checked my blog stats one morning a few weeks ago and saw this:

Apparently my post on Dwarf Fortress and Goblin Camp got reddited by someone and things kinda took off.

It is a strange thing to suddenly get a whole lot of attention when I’ve mostly just been shooting my mouth off about random things for the sake of itself. I saw people who read my post commenting on points I raised, and I saw people who misread my post comment on points I didn’t even make. Others commented on points I somewhat unintentionally made due to lazy and unclear writing. Others picked up on an exaggerated sense of urgency and conflict between Dwarf Fortress and Goblin Camp that I put into the writing to make it more interesting (presumably, mostly to myself and a couple readers of this blog).

It’s all a bit overwhelming, and it’s always upsetting when it looks to me like someone is wrong on the internet. No wonder writers can get frustrated with their words being mis/re/interpreted!

Right, so there are a few points raised in various comments that I’d like to specifically address now that time has made mild all heated feelings. I’ll uncharitably paraphrase a comment or criticism then address it.

1. “Learn to use the interface/keyboard commands/job manager, noob!”

I assure ya’all that I am familiar with the job manager and that I’ve learned the keyboard commands of DF inside and out. I am indeed not just some noob who can’t be bothered to learn the system and who should go back to playing Farmville or Bejeweled. In my post I left out detailed explanation and critique of the particulars of DF’s user interface for the sake of brevity. It still stands that the systems are esoteric, unwieldy, and – the real kicker – may interact very poorly with the game systems (eg. “Job cancelled by Urist McUrist. Need this or that material!” x1000). Results of supply chain breakdowns are occasionally disastrous, which may or may not be as fun as advertised, depending on your attitude. This last point is where Goblin Camp’s “pull” job orders work very nicely (if things still work as they were described) compared to Dwarf Fortresses “push” job orders.

Let me explain: To make high-level things in DF, a slew of materials need to be processed through various steps, and I need to give the order for each step either by-hand or through the job manager of them. To make a steel item I would need to designate the mining of coal, an iron ore, and a flux material, then order the smelting of the ore into pig iron, order the processing of pig iron with flux into steel, then order a steel goblet to be crafted. I have to push each material and process from the bottom up. Consider an alternative: What if I could just order a steel goblet from the workshop and the workshop sent an order for steel to the smelter which would, in turn, send out an order for iron ore, flux, and coal to be mined from active veins of each? This is “pull” versus “push”. It’s one action from me vs. a whole list of actions.

In the end, it’s about whether the decisions the player has to make are meaningful or meaningless; I don’t want a game to treat me as a mindless automaton. It is largely irrelevant if I mine iron ore square 1 vs. iron ore square 2 (unless square 2 opens on to a cavern full of giant cave spiders, but them’s the breaks). As I was saying, there is a difference between meaningless micromanagement (eg. hand-designating every square to mine out in DF) and meaningful micromanagement (eg. unit ability control in StarCraft).

If I am micromanaging actions that can be handled just as meaningfully by the computer, if it is a problem that has only one reasonable solution that I have to provide over and over, then I feel like I’m wasting my time, and that is the core of my objection to the intense micro of DF.

A couple quick counter-counter arguments:

  • Yes, the “more is more” design philosophy of Dwarf Fortress is indeed its particular charm and I love finding diorite, gabbro, rhyolite and so on even if they could all be summed up as “rock”. However, this quality of excessive detail in DF  is not mutually exclusive with non-tedious micromanagement or a transparent UI/game interaction scheme.
  • Yes, Tarn is ‘working on it’. I certainly respect the problems he is dealing with and I respect him as a game creator — this does not mean it is illegitimate to critique his creation. Which brings me to my second point…

2. “Dwarf Fortress is still in alpha, you can’t expect too much from it.”

Well, yes and no.

It is an alpha in the sense of not being done, but it isn’t in the sense that tons of people are playing it right now as a game. This is not an “alpha” in the usual sense of a linear software development process with an alpha, beta, and final release (and then some followup patches and expansions). Dwarf Fortress has an ongoing, responsive, and open-ended donation-driven development model which is quite unlike the thinking surrounding a traditional commercial game. The effect of this is that DF is a process, not a product.

I contend that it is quite legitimate to comment on the process of DF’s creation as it is ongoing.

There were probably more comments that I should address, but that’ll have to wait for another time. (I will say that I do find all the interest and discussion around Dwarf Fortress completely fascinating.)

I’ve got one final point for this post:

Based off everything Tarn has said in interviews and his dev log, I am struck by the thought that what he wants Dwarf Fortress to be is not the same as the game that most people are playing. Tarn is making Slaves to Armok 2; Most fans are playing Dwarf Fortress. Tarn is making a fantasy world simulator that is focused more on creating a Roguelike/RPG experience than on the Dwarf-themed city-builder which everyone else cares much more about. This is reflected in what development has been focused on: extreme detail for creatures and combat versus streamlining the interface and usability of the city-building game.

And I think that’s really the answer: Tarn is not (deeply and ultimately) in it for fortress mode. Other people, other projects – like Goblin Camp – are in it primarily for fortress mode, for the fantasy city-building simulation game. [To clarify, I wouldn’t say that Tarn is not interested in fortress mode, just that it is not the primary objective of the whole project of creating a fantasy world simulation to serve as a medium for genre narratives. In other words, it’s not his goal to make the best fantasy city-sim it could be, so it is somewhat nonsensical to expect it. With that observed, all this nattering about the design and development of DF is purely academic. I can live with that because it’s fun to write about what DF is, isn’t, could be, and should be. ]

ps: “If you think you’re so smart, why don’t you make your own game?”

Sure! I’ll, uh, keep you posted on how that works out. [More: I really want to do this. I did have a number of months free a few years ago, but I didn’t get as far as creating an actual playable game. It was, however, an intense learning experience. I’d love to do the game-auteur thing again when I’m in a financial position to do so.]


Game Design Dialectic: Dwarf Fortress and Goblin Camp


This is only the beginning of a story, but it could prove to be a very interesting story if it bears out. I think it already contains instructive lessons for game development and design.

On the left, Dwarf Fortress. On the right, Goblin Camp.

I hope you know about Dwarf Fortress, the very complex roguelike-lookinglike fantasy world sim / citybuilder. From a development perspective,  DF is a very long-running obsessive project coded by one guy, Tarn Adams, who makes more money than I do (not difficult) entirely by donations from his fans. I admire Tarn’s goals and his creative freedom which lets him indulge his whims – I wish I could do that. I even had fun playing some Dwarf Fortress until I explored most of what there was to explore. It was sweet while it lasted, but I grew tired with the tedium of a very rough user interface and tedious gameplay.

This brings me to a common criticism of Dwarf Fortress: development over the last year, year and a half has focused on revising very low level details about the game’s simulation of how materials interact, particularly how creatures bodies are built with layers of bone and muscle and hair, what properties these each have, etc. It is true that part of the charm of Dwarf Fortress is about the ridiculous level of detail. But it has been over a year and I still have to press a series of awkward keyboard shortcuts to build things, I need to hand-designate every square of ore to be mined, I need to tell each workshop exactly what to make. Frankly, the user interface achieves mind-blowing levels of confusion and  unnecessarily repeated actions which lead to a sense of tedium and frustration that overwhelms my interest in continuing the play the game – so I don’t. Many people don’t even manage to fully learn to use the interface (or don’t want to)  due to – I’ll say it – how bad it is. And further, most new players are overcome by the sheer detail and volume of information that needs to be processed and managed by hand: To speak for my own experience (to those of the DF community that hold in high regard their ability to manage an extraordinarily complex game), it’s not that I am incapable of running a complex Dwarf Fortress game, it’s just that I don’t want to because it’s boring to have to hand-tweak every little thing to keep the place running, and worse still, it actually hurts my hands to press the same keys again and again and again as is required.

I love what this game could be and reading the development page it is full of admirable, sky-high aspirations. But I can’t bring myself to play it. It’s a beautiful idea but an extremely flawed game.

To get the Dwarf Fortress Experience, you’re better off reading the stories people write about their games in forums, eg. the classic Boatmurdered. This removes the frustration of playing the game itself and gives you the high points of amusement at the absurd details and situations which arise during gameplay (which inspired a good deal of the silliness we have in Dungeons of Dredmor, I should add).

And then, if the post’s timestamp is correct, just two days ago on July 14, Ilkka Halila announced Goblin Camp in the SomethingAwful forums.

Now things are getting interesting.

Goblin Camp looks like Dwarf Fortress, uses the same ASCII-graphics, and starts from a foundation of the same sort of gameplay built upon semi-autonomous agents collecting and processing resources in a world build of tiles, but it makes several important departures in terms of project development and design philosophy.

  1. The code of Goblin Camp is released open source. In interviews, Tarn Adams has expressed concern about releasing DF’s code because he could lose control over the focus of the project, lose financial support, and he is not interested in supporting other people modifying (and breaking) the code. Goblin Camp has already been extended by coders other than Ilkka – if the initial interest maintains its present momentum, the game could develop at an extraordinarily rapid pace. I must observe though that GC’s appeal is somewhat cannibalistic on DF’s – It is frustrated DF fans that are excited about CG.
  2. Goblin Camp streamlines play. For example, there is a central depository of craft goods in GC which the player gives orders like “Maintain a stock of 500 wood planks”. Workers are automatically assigned tasks to fulfill this requests, they are sent out in the woods to cut logs which are returned to a carpenters shop to be processed. In DF, one would have to designate a single worker as a lumberjack, scroll out into the map, designate an area of trees for chopping (using the keyboard, by the way), then queue tasks in a carpenters shop by-hand. When designated trees run out, the player has to re-designate more trees – and the player is not told when they run out of designated trees. GC handles the minutiae for the player, reducing the hand-interaction required from perhaps 10 actions to one action, at least. To be frank, this design ethos of streamlining interaction blows DF out of the water in terms of playability already (Dwarf Fortress was released four years ago, by the way).
  3. Goblin Camp abstracts details. While DF has spent a year of development time simulating the material properties required to properly model the penetration of an iron bolt through leather armor, flesh, and bone, as appropriate to the details of a given creature’s anatomy, GC was coded in its entirety in two months and uses simple die rolls for attack skill and damage. The resulting playability of each game’s combat is not a radically different experience: guys swarm each other and people get chopped to bits. The idea of abstracting small details to implement fun features more quickly appears to lay behind every aspect of GC’s development. Further, the mod-friendly and open source nature of the game allows other people to fill in small details at their whim while the primary developer concentrates on the more general framework of gameplay.

Goblin Camp was made, to paraphrase Ilkka, because he loved the sort of game that is Dwarf Fortress but he is impatient and wants to play the game DF could be, that he wants DF to be, now rather than waiting for Tarn to add certain features to Dwarf Fortress – if he ever does. A game like Goblin Camp was bound to happen in response to Dwarf Fortress, and I think Tarn and many others knew it would come. I’m pretty sure similar attempts have been made (there was an Elf Forest joke-game, I believe), but none seem to have really taken off. Maybe Goblin Camp will.

Goblin Camp, as a game and an approach to development, is a critical response to weaknesses in the game and development of Dwarf Fortress. Maybe Tarn will have to react to Goblin Camp out of a need to save his source of income, maybe he will re-focus on making Dwarf Fortress a playable game rather than a complex simulation lost in it’s own obsessive detail, accessible only to an extremely dedicated few. It’s like Josh Petrie’s advice to beginning game developers: “Write Games, Not Engines” mixed with the ethos and methodology of Open Source software, Wiki-style content, and the absurd power of the internet.

I can’t wait to see what happens next.