[2.0.12] new "set recipe" bugfix is problematic and not useful
Posted: Tue Oct 29, 2024 9:17 pm
Explanation:
It used to be possible to make a smart mall that could build pretty much any number of intermediaries with just one constant combinator and one arithmetic combinator. However, The devs changed how the "set recipe" function works due to a bug they where trying to fix.
Before, If a machine recieved a different "set recipe" command for item B while it was in the process of building item A, it would ignore item B and continue building it's current iteration of item A. This makes sense, changing recipes is innefecient and slows down your factory, and changing recipes mid build could result in infinite recipe-changing-thrashing like seen in the video
However, the devs changed it so that now a machine will switch recipes right away and dump it's inventory, destroying the production speed of these machines (they just constantly thrash around, and spend their time loading and unloading instead of crafting ). not only this, but now it requires significantly more circuitry to actual make these smart malls work at all if they craft intermediates (ex, crafting yellow and blue inserters like in the video). They have destroyed the simplicity, accessibility, speed, and appeal of small smart malls.
I really like this game and respect the devs, but this is not a correct bugfix. A better solution might be to give us an "allow interupt" tickbox under the "set recipe" tickbox. This tickbox should forbid the machine from changing recipes except after finishing it's current recipe. this would allow us to choose between the old functionality and the new functionality.
also, machines now do not run at all if there are any items in the machines trash slot. This should be changed, and instead the machines should stop running if the items in the trash slot are greater than some value. Its completely natural for items to exist in the trash slots temporarily upon changing a recipe. my machine throughput should not be strangled just because the machine is switching recipes on occasion. I understand the devs might consider having large number of items in the trash slot as exploity though, So I won't die on this hill.
Video of how the set recipe function used to work:
https://www.reddit.com/r/factorio/comme ... simple_as/
Video of the new functionality causing havok and endless loops of shuffling around items:
https://www.reddit.com/r/factorio/comme ... plest_and/
edit: this quote from the friday facts 394 states the intended behavior.
"Another important part about setting the recipe, is that it will only check the 'Set recipe' signal when it finishes crafting, so it won't cancel any in-progress crafts, and you don't have to worry about precise timing."
this rule is not being followed in order to fix a different bug, which is really throwing out the baby with the bathwater!
It used to be possible to make a smart mall that could build pretty much any number of intermediaries with just one constant combinator and one arithmetic combinator. However, The devs changed how the "set recipe" function works due to a bug they where trying to fix.
Before, If a machine recieved a different "set recipe" command for item B while it was in the process of building item A, it would ignore item B and continue building it's current iteration of item A. This makes sense, changing recipes is innefecient and slows down your factory, and changing recipes mid build could result in infinite recipe-changing-thrashing like seen in the video
However, the devs changed it so that now a machine will switch recipes right away and dump it's inventory, destroying the production speed of these machines (they just constantly thrash around, and spend their time loading and unloading instead of crafting ). not only this, but now it requires significantly more circuitry to actual make these smart malls work at all if they craft intermediates (ex, crafting yellow and blue inserters like in the video). They have destroyed the simplicity, accessibility, speed, and appeal of small smart malls.
I really like this game and respect the devs, but this is not a correct bugfix. A better solution might be to give us an "allow interupt" tickbox under the "set recipe" tickbox. This tickbox should forbid the machine from changing recipes except after finishing it's current recipe. this would allow us to choose between the old functionality and the new functionality.
also, machines now do not run at all if there are any items in the machines trash slot. This should be changed, and instead the machines should stop running if the items in the trash slot are greater than some value. Its completely natural for items to exist in the trash slots temporarily upon changing a recipe. my machine throughput should not be strangled just because the machine is switching recipes on occasion. I understand the devs might consider having large number of items in the trash slot as exploity though, So I won't die on this hill.
Video of how the set recipe function used to work:
https://www.reddit.com/r/factorio/comme ... simple_as/
Video of the new functionality causing havok and endless loops of shuffling around items:
https://www.reddit.com/r/factorio/comme ... plest_and/
edit: this quote from the friday facts 394 states the intended behavior.
"Another important part about setting the recipe, is that it will only check the 'Set recipe' signal when it finishes crafting, so it won't cancel any in-progress crafts, and you don't have to worry about precise timing."
this rule is not being followed in order to fix a different bug, which is really throwing out the baby with the bathwater!