Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Author Topic: Labor List Overhaul  (Read 563 times)

BubbaBrown

  • Bay Watcher
    • View Profile
Labor List Overhaul
« on: April 23, 2010, 01:35:35 pm »

After playing Dwarf Fortress a number of times, I've noticed that the current system for Labor Lists that each dwarf can become VERY disjointed with the dwarf.  It starts to become a virtual nightmare when you get a good population.  I think Labor Lists need to act more like a tri-state permission list.  I'll explain.

1. By default, all dwarves are allowed to do all Labors they have some skill to do.  This represented by a neutral state to all Labors in the dwarf's list.

2. Optionally, you can explicitly deny a dwarf from doing certain Labors.  This forbids them from doing that particular Labor.  This represented by a deny state in selected Labors.  To aid in spotting this in lists, a red "X" mark will appear by their names in various lists, especially the "u"nits list.  That way you can get hinted to why they are sitting idle. 

3. Optionally, you can explicitly grant a dwarf the right to do that labor despite skill.  Helpful for getting a few guys to do industrial grunt work, like smelting and wood burning.  This represented by a grant state in selected Labors. To aid in spotting this in lists, a green "O" will appear by their names in various lists, especially the "u"nits list.  That way you get hinted to why dwarves are doing strange jobs.

4. All jobs will need to have a quality priority assigned to them.  This will determine how important skill affects the output quality.  This way finished good production will snag and override assignment of the highest skilled dwarf from production of quality-less items.

5. A job candidate pool is created for each skill.  The list is order by this equation:  (Target Skill Level)^2 - (Highest Other Skill Level)^2 = Desirability Score   What this does is help to prevent dwarves with high primary skills from being chosen first and locked up doing crap work when they are are experts for other skills.  This won't stop it, but it will make sure these dwarves are left alone unless there is no one else around.

6. Job conflicts settled using both Quality Quota and Desirability Score.  Initially, a job will look at a candidate pool and try to pull a dwarf from there.  It will try to pull the most desirable dwarf away despite current job.  This is prevented if the demanding job's quality quota is less than the desired dwarf's current job.  Deadlocks are settled with comparing a Dwarf's desirability scores in the context of their current job and the demanding job.

It's a rough draft, and I can see the option for putting some user controllable adjustments.  (Such as adding a "demand offset" for certain workshops.)  I just got tired of having to go through dwarf Labor lists to get them to do labors they actually have skills for and stop them for doing grunt work when I need them to craft.
Logged