On Intermediate Dwarf Fortress
Posted by Jack on 2012-11-25 at 13:59Tagged: gaming
I've been playing Dwarf Fortress a lot these days, after a hiatus and I finally managed to get my first Barony (i.e. a stable fortress that's got enough imports, exports, and population to get a noble - the first step to a monarchy). This fortress is about five years old, which is a feat in and of itself, but it's survived four good sieges, a minotaur attack and initially I thought it was cursed and doomed to be a failure (I had a failed strange mood dwarf turn out to be a vampire that went berserk and lost 5 dwarves and damn near tantrum spiralling the remaining 10 and then had some migrants show up pissed off and some dwarven babies die mysteriously and a vampire fishery worker that got elected mayor... I could go on).
I thought I'd take advantage of this milestone to write a few things that I've realized in my last year or two of Dwarf Fortress that may not be obvious to even players that have been at it for while and had their share of FUN. As such I won't be covering basics like food production or embark, but leaning more toward intermediate strategy and surprises.
The first tidbit I have is that Dwarf Fortress is all about supply. Half of your game is spent supplying masons with stone, smelters with ore, forges with bars, food, fuel, water, furniture. You have to look at optimizing the speed at which your supply chains work in order to avoid getting bogged down.
This starts with specialization. First, of the stockpile. General stockpiles have their uses (like keeping all of your workshops uncluttered), but general stone stockpiles will get choked quickly. Even general metal ore stockpiles will get bogged down in tetrahedrite and galena. You need to specialize them even more. For example, getting steel production started. You're going to need to smelt quite a bit, first iron, then pig iron, then steel. The stockpile around your smelters then should allow just your most common iron ore (i.e. magnetite), and bars of pig iron and iron. Nothing else. If you are going to switch from steel to copper (say to bash out a bunch of copper bolts or bins) then either start a new smelter/stockpile, or change the stockpile settings and mark everything currently in it for dumping.
Why does this make such a difference? Because - especially with the 0.34 hauling changes - you want your haulers to do the hauling and your artisans to do the crafting. If the stockpiles around your workshops are inefficiently loaded, you've got your legendary armorer walking up ten flights of stairs and hauling materials back to his shop to get his task done when any idle Urist getting drunk in the hall can do it. Higher skilled workers craft way faster than novices, but if they're wasting their time hauling it doesn't matter at all.
Which brings me to the other specialization: of workers. The higher skill a worker the better their output and the faster they produce it. A legendary artisan, mason, smith, carpenter can blink through a full order of items in no time and they'll be great quality. Once you've reached that level, you're pretty much no longer bound by how fast you can produce the items, but how fast you can supply the craftsman with materials. By ensuring that you're always focusing on leveling a single dwarf, you'll reach that point faster than if you throw 10 novice dwarves at it. You take a hit initially (if you're unlucky and don't get a decent migrant for the job) but after that single dwarf you drafted gains a few levels, he'll be moving much faster than the handful of dwarves with less experience would be.
Unfortunately, the basic UI makes this a huge pain in the ass. There's no good way to get a decent overview of the skills of your fortress and as such it's too easy to have high level crafters languishing as novices in other fields. As such, I recommend Dwarf Therapist for anyone that wants to have any level of control over their dwarves (and yes, it works on Linux). With Dwarf Therapist when I get a migrant wave, I group by squad (so I can use the "no squad" group) and then sort by skill in each labor ensuring that I have the highest dwarf in each skill assigned and only one or two related skills enabled at a time. For example, I usually only have one or two masons and now, five years in, both of them are "accomplished" (level 10) and they can build walls, bridges, coffins, etc. as fast as I can get them stone. My single legendary + 3 carpenter can make a new brace of 30 beds in no time. My single weaponsmith is also "accomplished" and I started him from nothing - he's just made literally every weapon and bolt ever produced at the fortress (arming military, hunters, weapon traps, some trade orders). In short throwing dwarves at the problem is almost never the answer.
That said, some labors - like stone smoothing or woodcutting - respond well to having dwarves thrown at them because they are no supply (or one-time supply) and have no workshop. This is why I have 4 wood cutters and 8 detailers (5 of which are legendary).
With this knowledge in hand, I've gone from having a massive list of managed jobs that seemed to take forever, to having short bursts of jobs that disappear quickly and it's made all of the difference not only to my fortress but to my frustration level. I lost many a fortress to not being able to get weapons or ammo out fast enough, or produce coffins, beds, etc.
The next bit of knowledge is that the manager isn't perfect. Playing DF would really suck without the ability to manage jobs on a higher level than the workshop and the manager does a good job of providing that interface. I almost always have a standing meal and brew order and it's great for handling bedrooms (queuing beds, rock cabinets, rock doors) and smelting wouldn't be nearly as painless without it.
However, the longer than chain of actions, the worse the manager performs. I used to draft a half-squad, then queue up a huge amount of jobs for iron then steel, then crafting weapons, armor, and leather clothing. The problem is that the forge jobs get queued at the same time as smelter jobs so that even though you list the squad's weapons as top priority, those jobs are getting cancelled constantly until you've got the supplies to complete them. The result is the first random job that's queued and has materials gets done so that even though you clearly gave the weapons top billing, you could get a squad that has two weapons, four breastplates, one gauntlet and a mail shirt when you could've had them all at least armed and training with the same amount of metal and time.
There are two ways to deal with this. The first is that you queue up chunks of tasks. For example, queueing the fuel creation jobs and waiting, then the smelting jobs, and waiting, then the actual jobs you want done. This works, and because it takes advantage of the manager's ability to track the items and notify you on completion, it's the best for large tasks (like outfitting a squad).
The second way is to take manual control of part of the process. The manager blindly queues jobs up in a sort of round-robin manner between workshops, but it will never cancel jobs unless the overall task has been cancelled. That means, if you need something made quickly it's often better to just go to the workshop, cancel the inactive manager tasks, and insert your own. The manager won't override you, you don't have to wait for them to validate the job, and you don't have to wait for the already queued jobs at the workshop to be completed. This is best for on the fly jobs, like creating more bolts in the middle of a siege, or anything else you want to rush to the front of the line.
Another tidbit is that the military is never enough. Military dwarves are great because they can become mobile killing machines capable of putting down sieges like no other. That takes a long time though, and a lot of hard experience. Even getting decent marksdwarves takes quite awhile even though you can get pretty experienced hunters. In the meantime, it's perfectly possible to bottle up your fortress - but being forbidden from the surface means your pastures are destroyed, you have no access to huge amounts of trees, or fish (unless you had enough time to get them underground), or hunted meat. Traders will get slaughtered, diplomats leave unhappy. No, you need to be able to capture or kill an onslaught outright.
Personally, I like a two story entry way, with a trap hallway and entrance on the first level, and open space on the second level with fortifications bordering one side. The entrances and fortifications are all behind bridges that can be raised and the whole entry way can then be flooded. This way I can bite off a certain number of invaders by toggling the entrance bridges, deal with them (cage and pit, eviscerate, headshot from above or - worst case - seal off and drown). After they're dealt with, pit the captured invaders, reset the cage traps, and take another bite.
This automated system works pretty but it's very rigid as well. A military is still necessary for handling the unexpected forgotten beast that flies up by accident into your lower levels and suddenly appears in your dining room breathing fire. Or for clearing out goblin stragglers, thieves, snatchers etc. In addition to berserk dwarves of which there will be many.
Another brief tidbit is read the magmawiki page on Armor. For a long time I thought that military dwarves only needed one piece of chest, leg, foot, arm, head armor but in the end they need way more than that to be decked out. The difference is staggering.
Last military one is be aware that you can have standing active and inactive orders. I was ignorant of the fact that you can actually have "inactive" squads training and guarding and "active" squads be in position for a siege. This makes calling everyone to battle stations as easy as setting everyone to active on the military alert screen. You switch between active and inactive orders with /. Before, I had my training and guarding on the "active" schedule, and then when a siege came I'd manually position my squads but that's not nearly as useful because you can't easily burrow them and you can't easily control their numbers.
Last bit of knowledge: quality easily trumps quantity. Setting up a great hall with tables, chairs, food, and booze is a necessity that all DFers are familiar with. Maybe you've even seen dwarves griping about the lack of chairs if you haven't gotten to it yet. If you have to choose between 30 rock tables and thrones versus a couple of nice metal (gold, silver, platinum - even lead) go for the nicest ones you can provide. The lack of chairs thought will be easily outweighed by just being in the presence of these nice objects. My current fortress (whose inhabitants are mostly ecstatic) had literally four gold tables and chairs in the hall with 150 dwarves for awhile and not once did I catch a sad dwarf complaining about lack of chairs, but a lot of my others always had "admired a fine seat" in their thoughts.
The same thing is true with other furniture, meals, booze, and virtually all trade goods. Try to put out the best product rather than the most product. This dovetails with the worker specialization I mention above.
Anyway, these are my notes after receiving my first Barony. Hope they help you with your FUN.