Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Author Topic: Customisable Job Priorities  (Read 699 times)

Jake

  • Bay Watcher
  • Remember Boatmurdered!
    • View Profile
    • My Web Fiction
Customisable Job Priorities
« on: June 19, 2011, 01:06:56 pm »

We've all been frustrated at this or that dwarf being more interested in making stone crafts than meeting with the outpost liaison or bandage someone's gaping wound, but beyond that there must surely be as many opinions of what task takes top priority as there are players. So why not enable us to set our own? I can't imagine it would be difficult to move the necessary information to an init file, and once the game is feature-complete enough to start overhauling the interface Toady could look into making it configurable in-game.
Logged
Never used Dwarf Therapist, mods or tilesets in all the years I've been playing.
I think Toady's confusing interface better simulates the experience of a bunch of disorganised drunken dwarves running a fort.

Black Powder Firearms - Superior firepower, realistic manufacturing and rocket launchers!

nitus

  • Bay Watcher
    • View Profile
Re: Customisable Job Priorities
« Reply #1 on: June 20, 2011, 05:13:38 pm »

I wholeheartedly agree. You should be able to do this on the main job screen once there is a manager.
 
My personal favorite is when you have that one switch that MUST be pulled right away and 200 dwarves ignore it for half an hour.
Logged

irmo

  • Bay Watcher
    • View Profile
Re: Customisable Job Priorities
« Reply #2 on: June 20, 2011, 07:23:26 pm »

We've all been frustrated at this or that dwarf being more interested in making stone crafts than meeting with the outpost liaison or bandage someone's gaping wound, but beyond that there must surely be as many opinions of what task takes top priority as there are players. So why not enable us to set our own? I can't imagine it would be difficult to move the necessary information to an init file, and once the game is feature-complete enough to start overhauling the interface Toady could look into making it configurable in-game.

This is a good idea but tricky. There aren't usually multiple jobs choosing dwarves at the same time. If you have a wound to bandage or a lever that really needs pulling, and everyone in the fortress is busy, the only way for dressing the wound to "take priority" over other jobs is for it to kick someone else off their job. Right now, the job goes to the queue, and when it gets to the front of the queue it finds an idle dwarf who has the Dressing Wounds labor enabled.

So we need multiple queues for different priority levels, where the high-priority queue will always choose first if it can. And then if a high-priority job can't find an eligible dwarf who's idle, it should look for one who's doing a low-priority job and interrupt the job.

For simplicity I'd suggest three priority levels, Low, Normal, and High, where High can interrupt Low, but Normal can neither interrupt nor be interrupted. (High still takes precedence over Normal for choosing an idle dwarf, of course.) Also for simplicity, you'd set a priority globally for each job category (Dressing Wounds = High, Furnace Operating = Normal, Stone Crafting = Low). And just for the hell of it, add a fourth level, "Disabled", which prevents those jobs from recruiting dwarves at all. This replaces the special-case orders menu stuff like "Gather Stone".

The remaining tricky thing is how this should interact with jobs that normally get chained together, like mining out tiles in a hallway. I guess the easy solution to that is to not enable any high-priority labors on miners.
Logged