[0.18.31] Construction bots never completing long-distance travel
Posted: Sun Jun 14, 2020 9:53 am
The bug:
Construction bots given distant jobs with no roboports in a straight-line path to the job get stuck reaching the edge of their recharge range, turn back, recharge, and try again forever.
To reproduce:
• Starting from the same point, build a long vertical line of roboports and two long horizontal lines at each end, forming a large "C" shape. Make the top arm longer. I went for about 12-16 roboports at max distance for each arm.
• Put resources at the tip of the shorter arm of the C, and construct something with those resources around the other tip of the C.
Expected results
One of:
a. Bots continue at minimum speed towards their target if they can't find a roboport that would charge them and get them closer.
b. Bots realise they're stuck and can't get there directly, so release the job to give nearer bots (if any) the chance to take the job.
c. Bots realise they're stuck and can't get there directly, so pathfind along the roboport chain to get there.
Actual results:
• Bots get stuck going to the limit of their recharge range and returning to the nearest roboport.
In the capture below (taken from the savefile), bots are attempting to build dragon's teeth on the top-right tip of the roboport "C", and the walls are in a passive provider chest in the bottom-right tip.
Because they don't get close to any other roboports on the way (as might happen if the locations were reversed), they just reach their range limit and keep returning to a nearby roboport to recharge.
I encountered this while expanding my defences either side of a large lake. While it could be fixed with landfill and roboports across the lake, it would be nice not to have to do that
Construction bots given distant jobs with no roboports in a straight-line path to the job get stuck reaching the edge of their recharge range, turn back, recharge, and try again forever.
To reproduce:
• Starting from the same point, build a long vertical line of roboports and two long horizontal lines at each end, forming a large "C" shape. Make the top arm longer. I went for about 12-16 roboports at max distance for each arm.
• Put resources at the tip of the shorter arm of the C, and construct something with those resources around the other tip of the C.
Expected results
One of:
a. Bots continue at minimum speed towards their target if they can't find a roboport that would charge them and get them closer.
b. Bots realise they're stuck and can't get there directly, so release the job to give nearer bots (if any) the chance to take the job.
c. Bots realise they're stuck and can't get there directly, so pathfind along the roboport chain to get there.
Actual results:
• Bots get stuck going to the limit of their recharge range and returning to the nearest roboport.
In the capture below (taken from the savefile), bots are attempting to build dragon's teeth on the top-right tip of the roboport "C", and the walls are in a passive provider chest in the bottom-right tip.
Because they don't get close to any other roboports on the way (as might happen if the locations were reversed), they just reach their range limit and keep returning to a nearby roboport to recharge.
I encountered this while expanding my defences either side of a large lake. While it could be fixed with landfill and roboports across the lake, it would be nice not to have to do that