6

I can't figure out, how my robots select the recharge Roboport.

Let's say i have 200 construction robots and they have to travel ~150 tiles crossing other roboports. All of them just use just the 3 closest ports to the construction area. So sometimes 20 of them wait for a free charging spot, because only 3 ports are used to recharge. I'd say it would be more efficient if some of them fly back to a more distant port to recharge.

I know i can place more ports near the construction area, but how can i figure out the range they use to recharge? Is the condition, that the recharge ports area covers the build/delivery area?

2
  • I suspect they just pick the nearest one, based on their position when their current charge level goes below a threshold value. For example I once tried to place a second port just next to an existing one, but in a way that increased the Distance they had to deviate from their path. It was not used at all. Apr 18, 2016 at 11:03
  • when i placed 1-2 more near the one they used before, they started using also these 2.
    – Otto V.
    Apr 18, 2016 at 11:04

2 Answers 2

7

The penalty is calculated for every roboport in the network this way:

distanceToTheRoboportInTiles * 2 +
countOfOtherRobotsWaitingToChargeThere +
countOfOtherRobotsWaitingToStationThere

The roboport with smallest penalty is chosen. This means, that for every extra tile of distance, there needs to be 2 less robots waiting for charge to make it worth to fly there. To be honest I'm not really sure if the constant of 2 is proper and we might change it in the future.

1
  • Thanks for the exact answer. I really like your game design in general. Yet I didn't work out a good/better formula, but I'm pretty sure it would make alot sense to use the speed and maybe capacity in the calculation, since at least the speed has in my opinion a very big impact here. Maybe the speed should be an additional factor in distanceToTheRoboportInTiles * 2.
    – Otto V.
    May 17, 2016 at 9:08
2

For any robot, it knows each roboport's current recharge queue and distance. From that:

<distance to different roboport in tiles> / <queue size of robots waiting> -> min

See: Choosing the post for charging

6
  • but is it really more efficient to wait for 20 robots instead of flying 10 more tiles?
    – Otto V.
    Apr 18, 2016 at 11:17
  • I guess devs optimized this it's based on flight time/recharge time numbers. Also we should account that some other robots could attempt to fly that way if the delta-in-queue is made smaller and thus increase the queue by much Apr 18, 2016 at 11:26
  • but if only these 2 numbers are taken, the speed of the robots is ignored, which would make a big difference.
    – Otto V.
    Apr 18, 2016 at 11:27
  • I think this is the case and can add from experience that bots do tend to pile up near one port. I suspect the figures do not account for Logistic Robot Speed research Apr 18, 2016 at 11:32
  • well it's still early acces version. maybe the dev will read this. i know he is also active here on stackexchange :P
    – Otto V.
    Apr 18, 2016 at 11:33

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .