Page 1 of 2

Very few bots are utilized for construction jobs (Modded AB Game)

Posted: Sat Jan 19, 2019 2:07 am
by netherous
I'm constructing an AngelBob's megabase and laying out a LOT of infrastructure while doing so. Part of this involves a pretty massive grid system of tracks for which I have all segments blueprinted.

I'm carrying 11 Personal Roboport Mk2s in my suit which supports 275 Fusion Powered Construction Robot MkIV bots. If plopping down a massive blueprint with many tiles and entities, USUALLY most of my bots get to work right away. However, if the number of available jobs goes down to about the number of bots or less, then most of my bots never get assigned anything. 90% or higher of them simply stay idle, and perhaps a dozen bots are utilized repeatedly for the last parts of the job plopping things down a few meager tiles at a time.

This is most felt when laying tracks. I only have a few hundred ghosts in range at any point in time, and I have to watch as the game uses as few as 3 or 4 bots to fly out and plop one section of track over and over taking minutes to finish the tasks. All of the jobs should be assigned and dispatched instantly, but they aren't. The game seems to have a lot of trouble doing so. If, during this process, I drop a big massive ghost of landfill or concrete, THEN all the bots rush out and complete that instantly, but it's as if the game doesn't want to assign more than 10% of my bots to actually laying rails. Every once in a great while, the game seems to lurch into action and all my bots fly out and finish everything, and then it goes back to using just a few.

This is incredibly frustrating and feels like the death knell for this game that I have invested a huge amount of time into. Things are running at 25UPS and I don't know if that's a factor. There aren't a large amount of ghosts sitting around. ONLY what I'm working on at the moment. I checked every visible square of the map using the decon planner filtered for tile ghosts and entity ghosts and there aren't massive jobs sitting around clogging up the queue. I'm at a loss as to how to fix this. I deactivated all mods that might have anything remotely to do with bots and there is no effect. There is always enough power in the roboports and the batteries from the fusion reactor - I've checked many times. They aren't running out. They're docking right away.

Can someone help me understand what's going on here? I can't lay hundreds of miles of rails a few tracks at a time. I could believe that there is some compelling technical reason that the game cannot rapidly dispatch robots to jobs under these circumstances, but from a gameplay perspective, this feels utterly broken. It will take months to construct what I want under these conditions. I keep googling and I read the limited information about the construction queue but that doesn't seem to really explain what's going on.

Re: Very few bots are utilized for construction jobs (Modded AB Game)

Posted: Sat Jan 19, 2019 2:29 am
by Zavian
netherous wrote: Sat Jan 19, 2019 2:07 am Can someone help me understand what's going on here? I can't lay hundreds of miles of rails a few tracks at a time. I could believe that there is some compelling technical reason that the game cannot rapidly dispatch robots to jobs under these circumstances, but from a gameplay perspective, this feels utterly broken. It will take months to construct what I want under these conditions. I keep googling and I read the limited information about the construction queue but that doesn't seem to really explain what's going on.
I've never seen what you seem to be describing. I suggest uploading the save, so people can have a proper look.

Re: Very few bots are utilized for construction jobs (Modded AB Game)

Posted: Sat Jan 19, 2019 3:10 am
by netherous
Zavian wrote: Sat Jan 19, 2019 2:29 am
netherous wrote: Sat Jan 19, 2019 2:07 am Can someone help me understand what's going on here? I can't lay hundreds of miles of rails a few tracks at a time. I could believe that there is some compelling technical reason that the game cannot rapidly dispatch robots to jobs under these circumstances, but from a gameplay perspective, this feels utterly broken. It will take months to construct what I want under these conditions. I keep googling and I read the limited information about the construction queue but that doesn't seem to really explain what's going on.
I've never seen what you seem to be describing. I suggest uploading the save, so people can have a proper look.

Good
Many ghosts, about 50% bot utilization.

Bad
Few ghosts, less than 5% bot utilization

Savegame - 150 MB :(

Re: Very few bots are utilized for construction jobs (Modded AB Game)

Posted: Sat Jan 19, 2019 4:19 am
by cbhj1
Do you happen to have lots of other constructions going on in other parts of the factory when this happens?

Re: Very few bots are utilized for construction jobs (Modded AB Game)

Posted: Sat Jan 19, 2019 4:48 am
by netherous
cbhj1 wrote: Sat Jan 19, 2019 4:19 am Do you happen to have lots of other constructions going on in other parts of the factory when this happens?
0 other construction, 0 other ghosts ANYWHERE, as I mentioned. It almost feels like poor UPS is starving the time that the game spends assigning bots or something.

By the way the exact same behavior happens with robots from placed roboports of any rank, and from personal roboports placed in vehicles. It seems to be something global affecting the whole game.

Re: Very few bots are utilized for construction jobs (Modded AB Game)

Posted: Sat Jan 19, 2019 2:06 pm
by DerGraue
Since this is only happening when you are laying a few tracks and not at the huge crossing, maybe you can use FARL to lay down the long distance train tracks.

Re: Very few bots are utilized for construction jobs (Modded AB Game)

Posted: Sat Jan 19, 2019 9:01 pm
by netherous
DerGraue wrote: Sat Jan 19, 2019 2:06 pm Since this is only happening when you are laying a few tracks and not at the huge crossing, maybe you can use FARL to lay down the long distance train tracks.
I thought of that :( But what I'm laying down is a grid with enough crossings that I'm not sure it would save me time. I don't think I could feed FARL a huge blueprint with crossings and have it replicate it.

Re: Very few bots are utilized for construction jobs (Modded AB Game)

Posted: Sat Jan 19, 2019 9:55 pm
by DerGraue
no, I don't think you can include crossings, but it seemed that building the crossing in your gif worked fine, so that is why I thought it might help

Re: Very few bots are utilized for construction jobs (Modded AB Game)

Posted: Sat Jan 19, 2019 11:50 pm
by netherous
Ok so after spending all day experimenting with different robots, roboports, and other conditions, I came to an initial testable hypothesis:

This is a game bug that occurs on any tile and entity ghosts initially placed far from your character with a blueprint.

I can reproduce the behavior over and over.

Configuration: 300 Fusion Powered Construction Robot MK4 (Angelbob's), 12 Personal roboport Mk2 (Angelbob's)

Close placement, fast construction, high bot utilization: https://gfycat.com/DamagedEnchantedAsia ... hwaterclam

Far away placement, slow construction, low bot utilization: https://gfycat.com/FabulousBoilingBuck

This sure looks to me like some kind of bug, though I haven't yet determined if it's introduced by a mod or not.

I thought maybe I could help by just dropping blueprints very close to me all the time and just dealing with the inevitable carpal tunnel but that didn't work. Performance was still bad if the blueprint was large (several thousand entities and tiles).

So I revised my theory: bot utilization is very low for any tile or entity ghosts in a large blueprint placed outside of the initial personal roboport area

Demonstration: https://gfycat.com/BarrenInnocentCurlew

This theory seems to hold up so far. I'm not sure what to do to get around this other than NEVER building outside my personal roboport area. I'm really open to suggestions at this point because this behavior can't possibly be intended.

Deconstruction jobs DON'T seem to suffer the same problems.

Re: Very few bots are utilized for construction jobs (Modded AB Game)

Posted: Sun Jan 20, 2019 12:40 am
by cbhj1
I'm curious, if you have more than your bots in close ghosts, does the utilization drop to the lower amount after the initial burst?

edit: just checked the GIFs, that is very odd

Re: Very few bots are utilized for construction jobs (Modded AB Game)

Posted: Thu Jan 31, 2019 2:13 am
by netherous
If anyone has this same problem and finds this thread, I mitigated the problem by setting a deconstruction planner to tile ghosts + entity ghosts, temporarily blueprinting anything the bots were being slow to build, deconstructing the ghosts, then plopping the copied blueprint right back down to place the ghosts again. All bots immediately fly out and finish everything because the ghosts were placed in my initial roboport area. The same behavior applies to regular roboports. I have to baby every single thing I want my bots to make, but at least I could continue.

Re: Very few bots are utilized for construction jobs (Modded AB Game)

Posted: Sat Feb 09, 2019 10:50 am
by Illiander42
Are you certain that it's not just your main construction network is "owning" that ghost, and the construction bots are in-flight?

Re: Very few bots are utilized for construction jobs (Modded AB Game)

Posted: Sat Feb 09, 2019 5:10 pm
by GrumpyJoe
I´m experiencing this for a long time now, over different saves with minor mod differences, never bothered to write it down so detailed.
Only saw this now and since its seems quite uncommon I thought i back you up. But your gifs tell the story anyway.

Since i play AB for almost a year now, i cant remember if its only there.
Also i haven´t even narrowed it down like you, dont know if its at the end of a large BP that my roboport area initially didn´t cover, it just feels like the last 100 jobs will be done by like 10 bots max. Mostly noticing this when placing alot of belts, as my rails are put down by stationary roboport based bots.

Do you have a nanobot cannon active? That would be only common mod that comes to mind for me, and i dont know where i could test that.

Re: Very few bots are utilized for construction jobs (Modded AB Game)

Posted: Sat Feb 16, 2019 12:44 am
by netherous
GrumpyJoe wrote: Sat Feb 09, 2019 5:10 pm I´m experiencing this for a long time now, over different saves with minor mod differences, never bothered to write it down so detailed.
Only saw this now and since its seems quite uncommon I thought i back you up. But your gifs tell the story anyway.

Since i play AB for almost a year now, i cant remember if its only there.
Also i haven´t even narrowed it down like you, dont know if its at the end of a large BP that my roboport area initially didn´t cover, it just feels like the last 100 jobs will be done by like 10 bots max. Mostly noticing this when placing alot of belts, as my rails are put down by stationary roboport based bots.

Do you have a nanobot cannon active? That would be only common mod that comes to mind for me, and i dont know where i could test that.
Glad to know I'm not completely crazy. No nanobots in this game, and it happens even with a minimal modded AB game. I haven't tried to marshal enough upgraded bots in a vanilla game to try the same experiment but my suspicion is that it's something underlying in how the game assigns jobs, and having fast, numerous bots simply makes the deficient behavior a lot more evident.

Re: Very few bots are utilized for construction jobs (Modded AB Game)

Posted: Sat Feb 16, 2019 12:49 am
by netherous
Illiander42 wrote: Sat Feb 09, 2019 10:50 am Are you certain that it's not just your main construction network is "owning" that ghost, and the construction bots are in-flight?
All tests you see in the gif took place out in the middle of nowhere with no other roboport networks anywhere near.

Re: Very few bots are utilized for construction jobs (Modded AB Game)

Posted: Sat Feb 16, 2019 9:57 am
by BlueTemplar
netherous wrote: Sat Jan 19, 2019 9:01 pm
DerGraue wrote: Sat Jan 19, 2019 2:06 pm Since this is only happening when you are laying a few tracks and not at the huge crossing, maybe you can use FARL to lay down the long distance train tracks.
I thought of that :( But what I'm laying down is a grid with enough crossings that I'm not sure it would save me time. I don't think I could feed FARL a huge blueprint with crossings and have it replicate it.
It seems not :
Rails have to be either going vertical/horizontal or diagonal. Don't mix them in one blueprint
Though wouldn't making FARL place horizontal and vertical rails separately, and the crossings yourself, still save you quite a bit of time ?

Re: Very few bots are utilized for construction jobs (Modded AB Game)

Posted: Mon Feb 25, 2019 11:52 am
by waltermundt
From the GIFs, it looks to me like the difference between the two is less the number of bots active and more their average travel time. In the "fast" version, they place near items first and stay close as you run; the "slow" one shows them flying long distances away to place rails at the edge of roboport range.

The game makes no attempt to organize which order bots build stuff in, so I'm guessing the difference is whether the ghosts are newly placed (and this queued up in some kind of order) or not (having been shuffled in the queue after no bots were available right away).

There's a mod that adjusts your personal roboport range to keep bots building near stuff first that should help with this, but i forget the name.

Re: Very few bots are utilized for construction jobs (Modded AB Game)

Posted: Mon Feb 25, 2019 3:54 pm
by GrumpyJoe
With a BP of 100 entities, more than 100 bots aviable, range is not the issue. They are just building only 10 at a time, 10 times. Numbers rounded so they make sense as a short description

I couldn't reproduce it, but in of of my separated wall networks i recently noticed this for the first time with roboport based bots. Chests were full and BP not nearly completed and only 50% bots got jobs assigned.
No other bots in the base were working, as i only used them before to place rails, which was finished.
I wouldn't even have recognized it if I didn't know it from the OP behavior

Re: Very few bots are utilized for construction jobs (Modded AB Game)

Posted: Tue Feb 26, 2019 8:32 am
by Zavian
netherous wrote: Sat Jan 19, 2019 11:50 pm Close placement, fast construction, high bot utilization: https://gfycat.com/DamagedEnchantedAsia ... hwaterclam

Far away placement, slow construction, low bot utilization: https://gfycat.com/FabulousBoilingBuck
netherous wrote: Sat Jan 19, 2019 11:50 pm Demonstration: https://gfycat.com/BarrenInnocentCurlew
So I looked at the linked Gifs, and I think I understand what is happening.

First some background. As I understand things, in general Factorio only attempts to build one ghost per tick. That is considered a performance optimisation, as testing whether a ghost is buildable takes cpu time, and you really don't want to be doing the same check for 1000s of ghosts every tick.

Now look at https://gfycat.com/BarrenInnocentCurlew. The blueprint contains roughly 2400 items. Only 30 UPS (so only 30 ticks per second). So at one ghost per tick it will take 2400 ticks before the game has tried to dispatch a bot to all the ghosts. At 30 ticks per second that will take 80 seconds. Note that the number of bots, and any boosted bot stats from mods/research are only relevant if you run short of bots. (Also note that on a lot of ticks, Factorio will fail to dispatch a bot, since much of the blueprint is outside roboport range).

Since most of the ghosts are initially outside the range of your personal roboport, they won't get built in the first pass. If you separate that blueprint into the straight rails (500 items?), and the junction (1400 items?), then you can probably place the straight rails and get most of those ghosts in range in the first pass and get that built in around 20 seconds. (https://gfycat.com/damagedenchantedasia ... hwaterclam looks like it is just the straight rails). Then place the junction, and again you can probably get most of the ghosts in range on the first pass. (A larger roboport range is another alternative, but that actually slows things down in a vanilla game, unless you never run short of bots or of bot charging. But it might work better in Bobs + Angels. It will still take 2400 ticks, which is still 80 seconds at 30 UPS).

Re: Very few bots are utilized for construction jobs (Modded AB Game)

Posted: Tue Feb 26, 2019 11:12 am
by Jap2.0
Zavian wrote: Tue Feb 26, 2019 8:32 am
netherous wrote: Sat Jan 19, 2019 11:50 pm Close placement, fast construction, high bot utilization: https://gfycat.com/DamagedEnchantedAsia ... hwaterclam

Far away placement, slow construction, low bot utilization: https://gfycat.com/FabulousBoilingBuck
netherous wrote: Sat Jan 19, 2019 11:50 pm Demonstration: https://gfycat.com/BarrenInnocentCurlew
So I looked at the linked Gifs, and I think I understand what is happening.

First some background. As I understand things, in general Factorio only attempts to build one ghost per tick. That is considered a performance optimisation, as testing whether a ghost is buildable takes cpu time, and you really don't want to be doing the same check for 1000s of ghosts every tick.

Now look at https://gfycat.com/BarrenInnocentCurlew. The blueprint contains roughly 2400 items. Only 30 UPS (so only 30 ticks per second). So at one ghost per tick it will take 2400 ticks before the game has tried to dispatch a bot to all the ghosts. At 30 ticks per second that will take 80 seconds. Note that the number of bots, and any boosted bot stats from mods/research are only relevant if you run short of bots. (Also note that on a lot of ticks, Factorio will fail to dispatch a bot, since much of the blueprint is outside roboport range).

Since most of the ghosts are initially outside the range of your personal roboport, they won't get built in the first pass. If you separate that blueprint into the straight rails (500 items?), and the junction (1400 items?), then you can probably place the straight rails and get most of those ghosts in range in the first pass and get that built in around 20 seconds. (https://gfycat.com/damagedenchantedasia ... hwaterclam looks like it is just the straight rails). Then place the junction, and again you can probably get most of the ghosts in range on the first pass. (A larger roboport range is another alternative, but that actually slows things down in a vanilla game, unless you never run short of bots or of bot charging. But it might work better in Bobs + Angels. It will still take 2400 ticks, which is still 80 seconds at 30 UPS).
Are you sure that the personal roboport isn't supposed to get special treatment?