Suggestion: Avoiding Logistic Fights
Posted: Fri Jun 23, 2017 6:35 pm
Summary: It would be great if Factorio could update the player's Auto-Trash setting when their Logistic Request changes, and vice versa, if the specified number would cause the systems to "fight with each other".
Certain settings result in a "fight". For example, if a player orders 200 plates, with logistic trash set to 100, then robots will repeatedly deliver and trash plates, indefinitely. This feature request is designed to help prevent players from getting into this situation unintentionally.
Consider a typical scenario where it happens. The player's logistic trash is set to 100 iron plates, and their logistic request is set to 100 iron plates. This is a useful configuration for keeping the number exactly at 100: they'll be replenished if the player crafts them away, but any excess picked up like by deconstruction will be trashed. 100 min and 100 max.
Now the player decides to craft something requiring a lot of iron, so they raise their logistic order to 1000 iron plates. Because their logistic trash is still set to 100, they have just unintentionally started a logistic fight. Robots will continually deliver iron plates beyond count 100, and then remove them.
To avoid logistic fights, I propose the following behavior when there is both a request and trash order for the same item:
This feature would also allow veteran players to enact common configurations with fewer steps than before. This feature would remove the ability to deliberately put logistic request and trash in tension with one another, but I am not aware of a use-case for desiring that behavior, and it is a pitfall for new players.
P.S. These usability issues potentially suggest that the logistic request and trash orders should be combined into a single control. You could conceptualize them as "min" (logistic order) and "max" (logistic trash) on the same number line, describing the number of desired items in inventory. A logistic fight occurs whenever the "max" is less than the "min".
Certain settings result in a "fight". For example, if a player orders 200 plates, with logistic trash set to 100, then robots will repeatedly deliver and trash plates, indefinitely. This feature request is designed to help prevent players from getting into this situation unintentionally.
Consider a typical scenario where it happens. The player's logistic trash is set to 100 iron plates, and their logistic request is set to 100 iron plates. This is a useful configuration for keeping the number exactly at 100: they'll be replenished if the player crafts them away, but any excess picked up like by deconstruction will be trashed. 100 min and 100 max.
Now the player decides to craft something requiring a lot of iron, so they raise their logistic order to 1000 iron plates. Because their logistic trash is still set to 100, they have just unintentionally started a logistic fight. Robots will continually deliver iron plates beyond count 100, and then remove them.
To avoid logistic fights, I propose the following behavior when there is both a request and trash order for the same item:
- * Whichever number the player changed last wins. For example, if the player increases the logistic request count to 200, and the logistic trash was 100, then the logistic trash rises to 200 also. This matches the player's intent of desiring 200 of the item in their inventory.
* If the player had 1000 concrete in their inventory by logistic order,and then applies a logistic trash of 100, then the logistic order should decrease to 100 as well
This feature would also allow veteran players to enact common configurations with fewer steps than before. This feature would remove the ability to deliberately put logistic request and trash in tension with one another, but I am not aware of a use-case for desiring that behavior, and it is a pitfall for new players.
P.S. These usability issues potentially suggest that the logistic request and trash orders should be combined into a single control. You could conceptualize them as "min" (logistic order) and "max" (logistic trash) on the same number line, describing the number of desired items in inventory. A logistic fight occurs whenever the "max" is less than the "min".