Regarding the pathing over lakes: it seems that now you are using the selection of a roboport closer to the destination basically as a failure mode for when the robot needs to charge. Wouldn't it be possible to check immediately after a job is assigned to a robot if the distance is actually reachable without charging (either assuming a full charge or if possible considering the actual charge level of that robot) and if not immediately path to a roboport closer to the destination instead, then try again.
That would mean robots altogether avoid situations where they are out nowhere running out of charge and instead intelligently move along roboport lines. That would solve the problem described by Hares below and would also make robots move more predictably as they would not cut corners by a huge amount, thereby even somewhat mitigating the problem of robots flying into biter nests (although not a full solve, as they would still fly outside robot ranges by some amount, but maybe enough).
Hares wrote: ↑Fri Sep 01, 2023 11:52 am1. Bots returning to rechargePossible solution: When the robot flies near the roboport, it stops to recharge even on medium-level energy OR the robot plans its route to pass through the roboports.
- Construction robot has a task that's near the edge of the construction area
- Bot flies from afar, losing its charge when near the destination
- Bot slowly returns to the dock station, then proceeds to complete and finish the task