Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Author Topic: Labor prioritization  (Read 733 times)

nornagon

  • Bay Watcher
    • View Profile
    • nornagon.net
Labor prioritization
« on: June 01, 2007, 07:51:00 am »

So currently, when I'm desparately in need of someone to cut wood, all those pesky short guys would rather be fishing. It would be great to be able to set job priorities on individual and global scale: craftsdwarfs *always* craft if there's a craft job to be done, but will cut wood if there's no craft job. And if there's no craft job and no wood job, it will help with the planting. And so on.

On the global scale, you could set Woodcutting to be of greater importance than anything else (except brewing, of course  :)

Logged

Entropy

  • Bay Watcher
    • View Profile
Re: Labor prioritization
« Reply #1 on: June 01, 2007, 08:40:00 am »

As I understand it, dwarfs do not choose jobs, the jobs choose the nearest available dwarf.

Obviously this makes such individual preferences for prioritization difficult.

Logged

nornagon

  • Bay Watcher
    • View Profile
    • nornagon.net
Re: Labor prioritization
« Reply #2 on: June 01, 2007, 09:20:00 am »

Ah. Damn. That makes the whole idea of prioritization a little shakier. I guess it would have to work differently for jobs like pulling levers and 'intermediate' jobs like "I'm going from X to Y and there's a wood hauling job I could do on the way." (Do those exist?)
Logged

Zhentar

  • Bay Watcher
    • View Profile
Re: Labor prioritization
« Reply #3 on: June 01, 2007, 09:53:00 am »

quote:
Originally posted by Entropy:
<STRONG>As I understand it, dwarfs do not choose jobs, the jobs choose the nearest available dwarf.

Obviously this makes such individual preferences for prioritization difficult.</STRONG>


Not really; you can still pick the order in which jobs choose dwarves. You could still set the priority as Brewing->Crafting->Woodcutting, and then once all the active brewing and crafting jobs have claimed dwarves, woodcutting would claim every other dwarf who can cut wood.

What I'd like to see is pickier job selection- if a heavy coffin needs hauling, and there are two no job dwarves available, it should pick the stronger/faster of the two, because even if it's not quite the closest, it will still probably get the job done a lot quicker.

[ June 01, 2007: Message edited by: Zhentar ]

Logged
Re: Labor prioritization
« Reply #4 on: June 01, 2007, 10:11:00 am »

You could do it like this:

Tasks can be prioritized as A, B, C, D, or E. When the Dwarf finishes his current task, if there are any A tasks waiting, only enable A tasks. Otherwise, if there are any B tasks waiting, enable the B tasks, and so on down to E.

Finally, if a Dwarf is in No Task status for long enough (there was an A task available, but it selected another dwarf), s/he becomes bored and becomes available for every task of E priority or greater.


Shoot, it might be possible to implement this as one of those hacking utilities in the wiki.

-Albert

Logged