Arqade is a question and answer site for passionate videogamers on all platforms. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm a beginner at Dwarf Fortress. I was just about keeping on top of things, until my first wave of migrants arrived. Now I have 15 dwarves to keep track of, and my previous strategy of micromanaging each dwarf is not scaling up. In particular, I'm having problems with "chains" of tasks, where something in the chain goes wrong, and the dependent job gets cancelled or suspended.

For example, I would like to be continually brewing ale, but occasionally I run out of barrels, either because the carpenter wandered off, was doing something else, or ran out of wood. When this happens, my dwarf gives up on brewing and moves on to other things. A similar thing happens regularly with potash production and food preparation.

How can I efficiently manage these chains of dependencies? Are there any strategies, or built-in mechanisms I've not learnt about that I can apply to relieve some of the micromanaging burden?

share|improve this question
up vote 27 down vote accepted

I would suggest using a manager noble and the management screen (j, m) where you can queue up tasks. I find it useful to do thinks like:

  • Queue 15 barrel
  • Queue 15 brew drinks

And jobs that are managed are automatically re-assigned if they fail for any reason including lack of resources. So in this case the brew drinks would be re-assigned until the barrels are available to complete them.

Note that these tasks will process in parallel.

share|improve this answer
1  
I didn't know this. – antony.trupe Jul 12 '10 at 20:00
2  
A downside of this solution is when the manager is too busy picking his nose, hauling food or doing other tasks it may take frustratingly long before it actually gets around to "Manage work orders"... And then he decides to catch up just as you really wanted him to talk to the outpost liason before the diplomat leaves unhappy... – Shadur May 10 '11 at 8:33
4  
@Shadur That's why my manager never has any other important jobs. I do let him haul things, but once he has any experience at all he flies through work orders. – C. Ross May 10 '11 at 12:07
1  
Updates to management system have rendered this answer obsolete. It still works as is, but it's no longer even remotely the most optional method. – Shadur Jul 18 at 14:59

The new (in 0.43.4) expanded job management system gives you several options to do this, via setting conditions on managed jobs.

Among other things, you can set a job to check before queueing if:

  • Another job has first been completed;
  • Item count of given items does is higher (or lower) than X number (shortcuts exist for both reagents and product, so if for instance you want to make marble blocks 10 times if and only if there are at least 40 units of marble stone available and less than 60 marble blocks unused, that's possible); You can also specify to make more pots or bins if there are less than X empty bins available via the 'type' conditional modifier.

Furthermore, you can set a job to repeat and recheck conditions once a day, once a week, once a month or once a year.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.