Page 1 of 1

[0.18.36] Inserter grabbing wrong stuff on unassigned asm

Posted: Sun Aug 16, 2020 7:27 pm
by P1tta
hey

in a recent game i played an inserter got stuck trying to insert wrong items into an asm.

- Placed unpowered inserters
- placed corresponding asm
- set recepie on asm
- power inserter

result:
inserter takes gc for a belt-asm

expected behavior:
inserter takes gear for belt-asm

video
https://www.twitch.tv/videos/712301824

awesome bughunting awesome game

Re: [0.18.36] Inserter grabbing wrong stuff on unassigned asm

Posted: Sat Aug 22, 2020 1:53 am
by Rseding91
Thanks for the report. I don't think this will be changed; the inserter is deciding what to pick up before the assembling machine has even been placed. However it can't do that because it has no power and so it sits stuck until it has power.

Having to check if an inserter has power before it tries to pick up every item would add extra overhead to inserters when it's expected that they have power all the time.

Re: [0.18.36] Inserter grabbing wrong stuff on unassigned asm

Posted: Wed Oct 28, 2020 8:53 pm
by macdjord
What about putting the check in the power-on behaviour instead of the pick-up-item behaviour? I.e. when an inserter which was previously without power wakes up, it checks if it is currently trying to pick up an item, and if so whether the item is still a valid target, and if not it cancels the planned pickup and makes a new selection. Since we are assuming that most inserters are powered at all times, wake-up events would be rare, so the overhead is minimal.

While this isn't a major issue, it is an annoying one when it happens, because:
  • It violates the player's intuitive expectations that an inserter a) cannot do anything without power, and b) selects an item to pick up only immediately before it tries to do so
  • It creates a situation where a setup which looks in every way correct is actually silently, invisibly broken in a way which will require manual intervention to fix, but which is not detectable until the power is connected, at which point the player may be nowhere near the fault (say, because they just finished running a line of power poles back to their base)

Re: [0.18.36] Inserter grabbing wrong stuff on unassigned asm

Posted: Wed Oct 28, 2020 9:31 pm
by valneq
From my experience it is usually most useful to start building assembling machines, then empty belts disconnected from resources, then inserters, then power poles, and finally a belt connection that puts items on the empty belts to feed the production line.
Why would you want to start with the belts full of items and inserters?

I am not sure exactly how this observation plays out when bots place a blueprint. Would be annoying if inserters could get stuck depending on the order of placement via bots – which can hardly be controlled by the player.

Re: [0.18.36] Inserter grabbing wrong stuff on unassigned asm

Posted: Wed Oct 28, 2020 10:01 pm
by macdjord
valneq wrote: Wed Oct 28, 2020 9:31 pm From my experience it is usually most useful to start building assembling machines, then empty belts disconnected from resources, then inserters, then power poles, and finally a belt connection that puts items on the empty belts to feed the production line.
Why would you want to start with the belts full of items and inserters?
The most likely scenarios I can think of for this to actually come up are:
  • New players who are building a production line using an out-of-game image as a reference (either because it's part of a tutorial or guide or because they haven't figured out how to import blueprints yet)
  • Speedrunners or other experienced players who have particular builds memorized to the point they no longer need a blueprint, and who place down the components in whatever order is most convenient to build them (with the bug happening if that order happens to put the belts and inserters before the assemblers)
Interestingly, this means the two groups most likely to trigger the bug are those who are most badly affected by it - newbies, who'll have a hard time figuring out what's wrong, and speedrunners, who are less likely to do the sort of double-checks that would catch this yet can least afford to come back and find out half of their assemblers aren't working
valneq wrote: Wed Oct 28, 2020 9:31 pm I am not sure exactly how this observation plays out when bots place a blueprint. Would be annoying if inserters could get stuck depending on the order of placement via bots – which can hardly be controlled by the player.
I think - though I haven't tested - that this doesn't affect blueprinted designs because inserters will treat blueprinted assemblers as if they were real for the purposes of determining what items they are allowed to pick up.