Page 1 of 1
Strange construction bot behavior
Posted: Tue Jan 02, 2018 4:40 am
by golfmiketango
I have a save where I ordered robots to pave the world in network #1 and, once that went completely to hell in a handbasket (as per normal
) all the construction bots in network #2 decided they had better things to do than execute build orders, in a sort of show of solidarity with their brethren in network #1. I believe this may have something to do with the fact that I also have a medium-sized order for concrete laying in network #2 -- or maybe it's something to do with the fact that the stuff they should be building is in a buffer chest in network #2, which has not yet filled. (Could well be something todo with the bot landfill mod or any number of others I have running) Anyhow check out this screenie where it is quite apparent that something is amiss (note the construction bot statistics on the roboport, the nearby ghosts, and the contents of the buffer chest).
Interested? Will take some doing to give you my save as I have hacked up local mod variants...
Re: Strange construction bot behavior
Posted: Tue Jan 02, 2018 5:37 am
by Zavian
As I understand things the game only attempt to issue one construction order per tick. (This is a performance optimisation to prevent the ups crashing if you have 1000s of outstanding construction orders). So if you have 6000 outstanding construction orders then it will take 10 seconds for the game work it's way through the list of construction orders. (If you have 6000 construction bots and everything needed to complete those 6000 construction orders, then bots will be assigned to each construction order in those 10 seconds, and the backlog of construction orders will quickly clear).
Re: Strange construction bot behavior
Posted: Tue Jan 02, 2018 6:19 am
by golfmiketango
Zavian wrote:As I understand things the game only attempt to issue one construction order per tick. (This is a performance optimisation to prevent the ups crashing if you have 1000s of outstanding construction orders). So if you have 6000 outstanding construction orders then it will take 10 seconds for the game work it's way through the list of construction orders. (If you have 6000 construction bots and everything needed to complete those 6000 construction orders, then bots will be assigned to each construction order in those 10 seconds, and the backlog of construction orders will quickly clear).
Hmm... is there a queue depth cap, beyond which it gives up and suspends the heuristic? That has been going on for at least three game-days. Regardless, maintaining separate queues for each robotic network would seem to be an obvious way to code this (otherwise, we have wierd stuff where something on the other end of the planet makes the bots in your backyard malfunction (well, obvious to me, but this may well be what's happened here).
If this is indeed a game-global heuristic (rather than force-global, which would still explain the behavior seen above), then that's really not good. It would seem to be exploitable in non-coop multiplayer contexts: the force with the weaker robotic network could globally DOS all bots, levelling the playing field, by issuing huge quantities of impossible build orders.
Re: Strange construction bot behavior
Posted: Tue Jan 02, 2018 7:12 am
by Rseding91
PVP gameplay is *extremely* low on the list of things we're concerned with. Single player is the primary way the game is played with a very small amount of players doing coop MP.
Anyway, without a save file and mods you're using there's no way to know what's actually going on.
Re: Strange construction bot behavior
Posted: Tue Jan 02, 2018 8:42 am
by golfmiketango
Rseding91 wrote:PVP gameplay is *extremely* low on the list of things we're concerned with. Single player is the primary way the game is played with a very small amount of players doing coop MP.
Anyway, without a save file and mods you're using there's no way to know what's actually going on.
ACK, well I'll take that as an invitation
So, nonstandard mods are:
- symbolic-blueprinting mod (just a skeleton place to put some code so far; should be just a noop duplicate of blueprints with a wierd icon):
- Blueprint Flipper/Turner trivially modified for compatibility with senpai's colored blueprints mod (but not symbolic blueprinting ):
All remaining mods are standard from-the-portal automatic downloads and should end up in the right configuration using the automagic sync.
Now the really embarrassing part. Disclaimer (I guess for the sake of my own self-esteem -- even though I'll bet nobody but you even looks at it
): I have deliberately tried to drive this campaign into a quasi-reversible UPS crisis, mostly to see what that will take, on my Dad's fairly souped-up workstation, which is temporarily at my place.*
[Edit: This updated save fixes several throughput issues with my concrete build up north & adds a PAX terminal by the solar build area where the problem is evident. Should make watching the shit-show far more agreeable. Also, it, removes the New Old Concrete mod, which didn't change anything (but this doesn't really prove anything about anything, in retrospect).][/b]
* I have a beautiful, elegant megabase in the garage. Just kidding. To be honest, all my campaigns so far end up as huge sprawling disasters like this; as UPS declines so, it seems, does my self-discipline, until eventually the thing is hopeless and I start over with big plans to do it right this time.... So far, though, I'm only partially successful at creating a UPS crisis. Apparently to sustain <30 UPS on my Dad's i7-6800K, I'd simply need a bigger base, or to "cheat" by building a splitter bus or similar computational black-hole.
Re: Strange construction bot behavior
Posted: Tue Jan 02, 2018 11:05 am
by golfmiketango
Just noticed, if I deconstruct the requester chest at Southern Wall Internet feeding solar panels into the wagon, then after the excess feeds up through the trash chain into the Trail of Tears network (where the partially built solar array is), the bots will start putting everything into the buffer chests in the Trail of Tears network. Then, when the buffer chests fill (well) past the requested levels, they will start taking the solar panels back out of the requester chests and feeding them back up the trash chain towards the main base! That is pretty wierd.
Also to my surprise, deconstructing those ghosts and replacing them doesn't change a thing. The trail of tears construction bots are happy to do certain things like take down trees; but they're seemingly not interested placing any more solar panels until all the concrete is placed up north. Amazingly if you cancel all the concrete ghosts up north, they go right back to doing work without even providing an apology or doctor's note -- just business as usual like nothing happened.
Re: Strange construction bot behavior
Posted: Tue Jan 02, 2018 5:16 pm
by golfmiketango
So, interestingly, the changes I made in the "099" save above vs the "098" seem to significantly affect the outcome.
In 098, due to the bugs in my concrete build, the robots are basically never going to finish the job. In 099, the robots are going to get the job done; once buffers are exhausted 5000-or-so construction bots at a time tend to be in-flight laying tiles until it's done.
098 save
most construction bots are not working in either network
lots and lots and lots (hundreds of thousands) of "objects missing material for construction," forever in main network
bots will basically never do anything useful again in secondary network (until orders time out if that is still a thing?)
099 save
many construction bots are doing work in main network
"objects missing material for construction" also starts out very high but declines after a few days
bots eventually get back to work in secondary network (finally managed to wait long enough to observe this expected result)
This strongly suggests that this behavior pertains directly or indirectly to having large numbers of ghosts missing material for construction (specifically it almost certainly is a result of limitations of the heuristic for assigning bots to jobs, just as Zavian speculated).