![Very Happy :D](./images/smilies/icon_e_biggrin.gif)
Cheers!
In the example animation, it seemed the robots that brought us goods then flew off to another part of the base, while the replacement logistic bots also came from another part of the base. Is fulfilling the logistics standby robot request not added to the queue like other tasks? It seems it'd have been faster for the robots fulfilling our personal requests to just land back into those roboports.With this new feature, we can set all the roboports near our resupply point to always have 100 logistic robots available. Once we arrive, our needs are serviced in record time, and afterwards you can see robots arriving to get the roboport back up to 100.
Many of them flew off far away to drop-off the trash they picked from the character inventoryroy7 wrote: Fri Sep 01, 2023 3:31 pmIn the example animation, it seemed the robots that brought us goods then flew off to another part of the base, while the replacement logistic bots also came from another part of the base. Is fulfilling the logistics standby robot request not added to the queue like other tasks? It seems it'd have been faster for the robots fulfilling our personal requests to just land back into those roboports.With this new feature, we can set all the roboports near our resupply point to always have 100 logistic robots available. Once we arrive, our needs are serviced in record time, and afterwards you can see robots arriving to get the roboport back up to 100.
Doh! Such a simple explanation. It didn't occur to me they were taking from us, I was thinking they were only refilling from the chests.Klonan wrote: Fri Sep 01, 2023 3:34 pm Many of them flew off far away to drop-off the trash they picked from the character inventory
This has a few problems, first it's more UPS intensive, I think the devs have stuck with the "path in a straight line" because of just how fast it is.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).
This is adressed in the last topic of the FFF.kajacx wrote: Fri Sep 01, 2023 12:44 pm One more thing that needs improving but wasn't mentioned is robot recharching in general. I have seen countless times robots fly toward their destination, only to stop 5 meters before they finish and they fly backwards 50 tiles to a random roboport to recharge. That is really annoying.
The better way would be to calculate if they can make it to target before hand when they start (one calculation) and if they don't, they should path towards a roboport along the path to begin with, and not stop and turn around 2 meters before the finish point.
Same as above, this solution, while it works, can make the robots slower is some situations and would make them massive performance hogs.BicycleEater wrote: Fri Sep 01, 2023 1:33 pm Thank you so much for the updates to bots, they (were) probably the most annoying issues in the game, and this goes a long way.
Just thinking though, can we maybe see something like this? viewtopic.php?f=6&t=103400
Just since you're on the topic, and if bots work the way they seem to, they have a "current destination" (or queue of them), as well as a "charging destination" for them to pick a roboport to recharge at. You could implement that suggestion by: looking ahead to where the bot will need recharging (a multiplication), and then finding a charging roboport from there (exactly as normal, but different starting location), and setting the drone to recharge at that roboport, rather than try and go straight to the destination. Drones can clearly go to recharge before reaching low power, so this seems very doable... If I'm wrong about how it works, and theres a programming reason why that would be hard, that's fine, but I can't see any requirement for anything you don't already have code-wise... Maybe at least give it a shot, so many people here would LOVE YOU.
Seriously, these improvements are so nice to see.
(also note that this would allow you to make drones not recharge at roboports further (or as far) from the destination than the original start point, which, with some tweaking, may result in drones naturally following the contours of the network in most cases, and could even get to the point where crawl states virtually never happen... which would be amazing.
Also also, will there be modding support for controlling robot behaviour? We currently have almost no control over them via the API...
Same here! I personally can't think of an example where you would not want to request from buffer chest. I generally use buffer chests to manage items that are both waste and request products, such as empty barrels. The first time I set this up I spend half an hour wondering why nothing was delivered.Gergely wrote: Fri Sep 01, 2023 11:53 am One thing about the logistic system that has been bugging me is how by default requester chests ignore buffer chests. In some of the use cases I have for them, I do want them to supply all requests, and it's super annoying to have to remember to check the "request from buffer chests" box every time.
I've heard this a lot "it's more UPS intensive" seems the catchall counter to "bots should be better". I don't see any reason why this would be noticably more UPS intensive. The operations involved are:RedViper wrote: Fri Sep 01, 2023 3:44 pmThis has a few problems, first it's more UPS intensive, I think the devs have stuck with the "path in a straight line" because of just how fast it is.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 ...
Well, no, the implementation shown here is objectively better than the original, performing at least as well. Note that in the original, flying on low energy to the destination was not the behaviour the bots showed. They just got stuck. The new behaviour is an improvement.Second, in several situations it would actually be slower to do what you suggest than just path in a straight line. Even the implementation show here suffers from this, it takes longer to go to a nearby port and recharge than it would have taken to just fly on low energy to the final destination.
Yes, path finding would be better for bot routing, but would be UPS-intensive, hence, the proposed solution is not path finding.To fix the second issue you'd need to make estimates for how long both paths would take and how long it would take the robot to recharge, but again this makes robot significantly more UPS intensive.
No, the last part does not address it. If there is no closer roboport to the destination than the drone currently is, the drone will still turn around, away from the destination to recharge, at least, that's my interpretation. They stated:This is adressed in the last topic of the FFF.
And see above for why your proposed fix doesn't work (Imo anyway)
so the current logic would seem to apply in there were no roboports closer than the robot. Of course, that's up to interpretation, and we'd have to get the devs involved to clear it up. Either way, it's not clear they've solved this, though crawling to destination would be an 'alright' solution. It's just really annoying to be waiting for a drone to do something, and watch it almost get there, then turn around and recharge. This hasn't changed....so that the robot tries to always charge at a roboport that is closer to the destination than the robot is...
Again, same as above, this can't make the robots slower in any situation, except in comparison to a hypothetical alternative routing system, which doesn't exist.Same as above, this solution, while it works, can make the robots slower is some situations and would make them massive performance hogs.
I agree with @BicycleEater.BicycleEater wrote: Fri Sep 01, 2023 4:15 pm The proposed changes by the devs do solve, like, a lot of the issues, reducing the savings from this approach, but a huge factor is how much it would reduce the visual annoyance and make the robots look smart(er).