Jump to content

Devs: Please fix "Job Swapping"


Recommended Posts

Job Swapping example: You give orders to dig in an area up a ladder 30 tiles away. You also give orders to research and to clean up near the research station. Your 3 dupes are working fine, then the research station requires a dirt delivery. The dupe who is the farthest away (up the ladder 30 tiles away) decides to deliver the dirt. So he climbs all the way down, while the other dupe who was sweeping up next to the research station stops what he's doing to go climb the ladder. This "job swapping" happens all the time. This happens every time an automatic "deliver" order is created. Another great example is having ladders or tiles being built at opposite ends of your base. The dupes keep getting assigned to deliver materials to the opposite ends of the base instead of to the ladder or tile closest to them.

Solution: When a "Deliver" order is auto-generated, the code should select the closest duplicant (counting tiles between the object that needs a delivery and the duplicants - by pathing route squares, not as the crow flies). The code should then check the priority of the item that needs a delivery and compare it to the priority of the job the closest duplicant is doing. If the current job > delivery priority, the code looks for the next closest duplicant and does the same. The code then makes the best choice by evaluating distance vs current job priority. (there's no point in making a duplicant who is 50 tiles away travel all that way just because he's doing a priority 6 job, when there's a dupe doing a priority 6 job 3 tiles away from the thing that needs a delivery).

Link to comment
Share on other sites

Here's a short video of "Job Swapping", where duplicants are delivering material to the other duplicants ladder. This is a mild case. Once your base is big, the problem exacerbates. Another annoying thing is when one duplicant delivers materials, leaves, then a second duplicant has to come over to do the building.

 

Link to comment
Share on other sites

This is an issue, to varying degrees, in all colony management games. Similar things occur in Rimworld as well. It's really quite tough to totally eradicate, so I'd expect this to always be present in some form. These are deceptively tough problems to fix without breaking more things in the process (like incurring unacceptable performance costs or creating undesirable behaviors).

Improvements would be great of course, I'm just pointing out that this is a common problem in systemic, management games and there is a reason for that, so keep your fingers crossed, but don't expect too much :) 

Link to comment
Share on other sites

I think at the beginning of a new world it shouldn't be a problem because your base should be small and easy to go anywhere without traveling so far it messes up pending tasks. Another way to help combat this problem your having is to press "j" on the keyboard to bring up their assigned jobs. This will allow you to tell the duplicates what jobs they should or should not do. So just assign the most athletic person you have or the one you think should deliver materials.

hopes this helps you out for the time being

Link to comment
Share on other sites

If there was a mechanic that picked Dupes based on priority, level, and PROXIMITY to the job, I feel like it would help this issue. The only time I could see it going wonky is if a dupe with a higher level was SLIGHTLY farther away from a job than one with a lower level. It could be a toggle-able/customize-able option (choosing between priority, proximity, level, or all).
 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

Please be aware that the content of this thread may be outdated and no longer applicable.

×
  • Create New...