Idle colonists don't take precedence in new task selection

Started by Injured Muffalo, January 19, 2018, 07:24:36 AM

Previous topic - Next topic

Injured Muffalo

I'm sure this is a thing, but, I can't find it, so here goes:

John is planting healroot.
Jane can't do that. She has nothing to do and is wandering idly.
I want Jane to do something. So I decide to mine some compacted steel.
John stops planting healroot/making armor/saving someone's life/something worthwhile and begins mining the steel.
Jane is still idle, and, the healroot isn't being planted now.

At times it is trivial, but other times we need to harvest or whatever quickly and it becomes a matter of micromanagement, which I really avoid in game. I want people to do their thing. This also happens automatically, for instance,

John is making a duster. Jane is idle.
Some dirt appears far away. John goes to clean it. Jane is still idle.

She may or may not be capable of taking over for John.

Essentially I am saying "idle colonist check" takes priority over every task that doesn't fall under "John's needs" like food, sleep, fleeing a fire, et cetera.
A muffalo encountered a vimp near a patch of sweet vegetables. A struggle ensued. The muffalo gored the vimp with its horns. The vimp bit the muffalo with its beak. Finally, the vimp was bested, sending large chunks of its flesh in every direction. But the muffalo was injured. It shed a single tear.

Scrabbling

To me this does not sound like something that warrants a implementation but like badly set-up work priorities.

If John is a good grower why is his priority for mining set higher than growing?
If John is a good tailor why is his priority for cleaning set higher than tailoring?

Easily fixed and not micro in my book since you only have to tweak this settings every now and then.

lancar

Usually, this behavior can be mitigated fairly easily by always having the pawn set to haul or clean as a low priority. This way, they'll almost never go without something to do as only when you get a large amount of colonists will cleaning and hauling tasks actually have a chance of running out.

As for who does who, it's more of a question of proper prioritization management. Always downprioritize jobs for your flexible pawns that more picky ones are actually capable of doing.
For example, if you have a pawn only capable of construction and barely anything else (including unable to haul/clean), then they should be the only one in the colony with construction as prio 1.

As you gain more colonists in your settlement, keep this system alive as much as possible. Divide your prio 1 workloads over an equal number of specialists to maximize the time they do their best (or only) job.

Also, as a side note, when it comes to crafting the bill for, say, a duster, will be locked to the pawn starting it and cannot be taken over by someone else.
To fix this, you make multiple bills of the same type. Like for Component Benches I usually have 3 make-until bills active all the time to ensure that anyone of my crafters always have a table to go to if they're available.

Injured Muffalo

Priorities?? That is a mitigation for a bad setup in which a colonist with NO work does nothing and a colonist with work does busy work. It's not my goal to separate their work; if there is mining I am happy to have both mine.

Idle colonists' first job needs to be taking the first job they can do when it becomes available.
A muffalo encountered a vimp near a patch of sweet vegetables. A struggle ensued. The muffalo gored the vimp with its horns. The vimp bit the muffalo with its beak. Finally, the vimp was bested, sending large chunks of its flesh in every direction. But the muffalo was injured. It shed a single tear.

Granitecosmos

Quote from: Injured Muffalo on January 20, 2018, 03:09:20 AM
Priorities?? That is a mitigation for a bad setup in which a colonist with NO work does nothing and a colonist with work does busy work. It's not my goal to separate their work; if there is mining I am happy to have both mine.

Priorities are there for you to set the importance of certain jobs, not whether they should or shouldn't do it. Honestly, the manual priority option should be enabled by default to teach new players how to properly play the game and avoid threads like this. Please enable manual priorities on the work tab and be enlightened as now you can tell them what to do first instead of just telling them what they should do and what they shouldn't.

Quote from: Injured Muffalo on January 20, 2018, 03:09:20 AM
Idle colonists' first job needs to be taking the first job they can do when it becomes available.

I'd rather have that set by proximity. The least thing I want is wait for my idle colonist to walk through half the map for a a job; by the time he arrives someone else would've already finished his job.

Scrabbling

And by the way: Idle colonists to take precedence to a certain degree.
Example (with devised numbers):
John is tailoring. Jane is idle.
Since John is busy he only checks for others jobs with higher priority than tailoring every 2 seconds (or whatever interval is defined for tailor jobs). Jane is idle and checks for jobs at a significantly higher frequency like every 200 milliseconds. So if just 1 job becomes available (for example 1 tile to mine) Jane is a lot more likely to get this Job than John since Jane checks more often.
The problem is that you most likely designate more than 1 tile for mining but f. e. a vine of 10 compacted steel. So even if idle Jane takes the first of those 10 mining jobs you created (which is highly probable) and thus acts as you suggest, there are still 9 other mining jobs left. And unless you have 9 more idle colonists those jobs are up for grabs. And if you insist that you can't be bothered with tweaking your priorities John will stop tailoring and go mining, too.

In summary: The game already does what you suggest to a certain degree by timings and furthermore it offers you all the tools you need via Manual Priorities to finetune it and if all that fails you can manually prioritize tasks (which indeed is micromanagement).

And just in case you aren't just refusing to use the tools the game offers you but you don't know enough about them: You can select "manual priorities" in the work tab. Instead of check boxes you know have boxed with numbers between 1 and 4. 1 is the highest priority and 4 is the lowest. If a box has no number the colonist will never do that job. If multiple jobs have the same number they are prioritized from left = highest to right = lowest.

So in your case set John's priorities for Growing and Tailoring to (for example) 2 and everything else you want him to do (but only if there is no growing/tailoring job) to 3 or 4. Now John will grow until there is nothing left to do and then tailor until there is no tailor job left. Although he will stop tailoring if a growing job becomes available (but only then). And of course for food, sleep and joy.

jamaicancastle

No colonist checks for jobs except when directed by the job giver. For short jobs, this is normally at the end. For longer jobs, there are specific breakpoints at intervals where the pawn can decide to either keep doing what it's doing or do something higher-priority.

Idle pawns wandering or doing joy activities have a relatively long interval between new job ticks. This is deliberate, because if they don't, having too many idle pawns checking for new jobs too often really slows the game down - and especially frustratingly, because whereas most times the game slows down it's because too much is happening, and the player can at least see that, here it's because too little is happening.

Foefaller

You can just draft/undraft your idle colonist(s) before you unpause the game after coming up with something for them to do, that will force an immediate check for new jobs.

Not even that obtrusive either. Make the job, click on the idle pawn you want to do the job at the top of the screen, double-tap R, and they'll do the thing. Works even if they're a pacifist that can't fight; still draftable.

Granted, having them do this *without* having to make 3 extra clicks would be nice, but you have to decide what orders would do this recheck, which at the end boils down to personal preference, which means to do it "right" means you need to make an extra screen for the work tab, UI work, bug testing, making it so mods can use it for any new jobs they add and the like...

Simplest might just be a "force idle pawns to check for jobs" hotkey, but as said, if you have a lot of idle colonists, there would be a noticeable slowdown whenever you pressed the key, which is probably the only thing more annoying than slowdown for no obvious reason.

Injured Muffalo

Quote from: jamaicancastle on January 20, 2018, 11:56:34 AM

Idle pawns wandering or doing joy activities have a relatively long interval between new job ticks. This is deliberate, because if they don't, having too many idle pawns checking for new jobs too often really slows the game down - and especially frustratingly, because whereas most times the game slows down it's because too much is happening, and the player can at least see that, here it's because too little is happening.

When a job is given, that should be a check in itself for an idle colonist to do it.

Because of this behavior, I don't give busy work in large lots. But it doesn't have to be. If there are 5 colonists awake, and I select one compacted steel square, there's a rather large possibility a busy one will take the new job.

So priorities are a workaround. Maybe mining is more important than that duster, but I don't care - I want both done by both colonists!
A muffalo encountered a vimp near a patch of sweet vegetables. A struggle ensued. The muffalo gored the vimp with its horns. The vimp bit the muffalo with its beak. Finally, the vimp was bested, sending large chunks of its flesh in every direction. But the muffalo was injured. It shed a single tear.

Granitecosmos

Quote from: Injured Muffalo on January 21, 2018, 05:31:13 AM
So priorities are a workaround. Maybe mining is more important than that duster, but I don't care - I want both done by both colonists!

Then set one colonist's priority for tailoring higher and the other one's mining priority higher. The beauty of the priority system is you can set different values for different colonists.

Foefaller

Quote from: Injured Muffalo on January 21, 2018, 05:31:13 AM
Quote from: jamaicancastle on January 20, 2018, 11:56:34 AM

Idle pawns wandering or doing joy activities have a relatively long interval between new job ticks. This is deliberate, because if they don't, having too many idle pawns checking for new jobs too often really slows the game down - and especially frustratingly, because whereas most times the game slows down it's because too much is happening, and the player can at least see that, here it's because too little is happening.

When a job is given, that should be a check in itself for an idle colonist to do it.

Because of this behavior, I don't give busy work in large lots. But it doesn't have to be. If there are 5 colonists awake, and I select one compacted steel square, there's a rather large possibility a busy one will take the new job.

So priorities are a workaround. Maybe mining is more important than that duster, but I don't care - I want both done by both colonists!

Sounds like what you really need is to turn on manual priorities and set the exact order of what you want your colonists to do.

That way, you can do things like make sure your main crafter only does mining when there are no bills to fulfill, or that your researcher still does research all the time without having to disable all the other jobs they are decent at so don't have to re-enable jobs in order them to help with any emergency work that still needs done *now* (like saving as much as you can when a solar flare knocks out your hydroponics.)

Jibbles

Quote from: Foefaller on January 22, 2018, 10:46:37 PM
Sounds like what you really need is to turn on manual priorities and set the exact order of what you want your colonists to do.

This is what I do but they still don't follow priorities like they should.  I'll have pawns quit mid job that is set to 1 for a job set to 3 or 4.  They'll even quit jobs that you right clicked to prioritize... I was hoping this thread was more about why pawns behave this way.  Also why benches such as stonecutter's  still lack the allowed skilled option for a bill as this adds on to pawns not getting things done or idling.