Suggestion: Avoiding Logistic Fights

Post your ideas and suggestions how to improve the game.

Moderator: ickputzdirwech

Post Reply
Xiphoris
Burner Inserter
Burner Inserter
Posts: 15
Joined: Fri Jun 16, 2017 9:04 pm
Contact:

Suggestion: Avoiding Logistic Fights

Post by Xiphoris »

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:
  • * 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
Basically, whenever the two controls would fight with each other, based on the configuration entered by a player, then they should both adjust to best match the player's intent, which is best understood from the number they changed most recently.

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".

User avatar
featherwinglove
Filter Inserter
Filter Inserter
Posts: 579
Joined: Sat Jun 25, 2016 6:14 am
Contact:

Re: Suggestion: Avoiding Logistic Fights

Post by featherwinglove »

I like this idea, but I also like the idea of the game accepting ultra-literal illogic just like a real computer does. Hilarity ensues. I'm happy either way, but maybe we should have a toggle in the options ...that will eventually cause at least two hundred threads of various confusions about what the toggle is for, why some players' logistics fights are different from everyone else's, and... ...Yuss! Related modding has already started.

Roxor128
Fast Inserter
Fast Inserter
Posts: 163
Joined: Sun Oct 02, 2016 9:48 am
Contact:

Re: Suggestion: Avoiding Logistic Fights

Post by Roxor128 »

Really, the logistic request and trash functions should just be two parts of the same filter.

For each thing, set a minimum and maximum. If you have less than the minimum, the difference is requested from the logistics network. If you have more than the maximum, it's dumped into the trash slots.

If you set the minimum greater than the maximum, the maximum is adjusted to match and vice-versa if you adjust the maximum to less than the minimum.

BlakeMW
Filter Inserter
Filter Inserter
Posts: 950
Joined: Thu Jan 21, 2016 9:29 am
Contact:

Re: Suggestion: Avoiding Logistic Fights

Post by BlakeMW »

Another and simpler solution would be in case of conflict let the logistic requests always win over autotrash. If the player requests 200 items and sets autotrash at 100, they get 200 items. Regardless of which order they set the request/trash in, it's a bad idea to make things order-dependent unless there's really no alternative.

At least personally, I'm much more likely to set a temporary logistic request than a temporary autotrash and I very often set autotrash to 0. The ability for logistic requests to simply overrule autotrash would be very handy for making temporary logistic requests.

Xiphoris
Burner Inserter
Burner Inserter
Posts: 15
Joined: Fri Jun 16, 2017 9:04 pm
Contact:

Re: Suggestion: Avoiding Logistic Fights

Post by Xiphoris »

Roxor128 wrote:Really, the logistic request and trash functions should just be two parts of the same filter.

For each thing, set a minimum and maximum. If you have less than the minimum, the difference is requested from the logistics network. If you have more than the maximum, it's dumped into the trash slots.
This is the conclusion I reached as well, while thinking about the two aspects of the logistic order system. I can't think of a good way to represent min and mix with an in-game control, though, without making the UI overly complicated.

Perhaps an alternative to my suggested logic would be to present both trash and request through the same square; or leave them in separate tabs like today, but display a highlight or small trash icon for items that have both request and trash.

Basically, the problem is that despite understanding exactly how the system works, I still end up confusing myself. For example, I set a logistic trash count to 0 for an item, and then sometime later request it and wind up confused when it doesn't arrive. Finally I realize what's going on by looking at the logistic trash slots, and remove the errant request. Makes me feel dumb every time it happens! But it's hard to remember all the things I've ordered/trashed and annoying to check each time I'm changing one or the other,

Roxor128
Fast Inserter
Fast Inserter
Posts: 163
Joined: Sun Oct 02, 2016 9:48 am
Contact:

Re: Suggestion: Avoiding Logistic Fights

Post by Roxor128 »

Xiphoris wrote:
Roxor128 wrote:Really, the logistic request and trash functions should just be two parts of the same filter.

For each thing, set a minimum and maximum. If you have less than the minimum, the difference is requested from the logistics network. If you have more than the maximum, it's dumped into the trash slots.
This is the conclusion I reached as well, while thinking about the two aspects of the logistic order system. I can't think of a good way to represent min and mix with an in-game control, though, without making the UI overly complicated.
If you mean how to show it, I would say bottom-right corner of the logistics slot icon shows the minimum value and top-right corner shows maximum.

If you mean how to set it, Well, we already have a perfectly good approach of a slider and text box. Just duplicate that. One for minimum, one for maximum.

I don't think either would make things especially complicated.

User avatar
featherwinglove
Filter Inserter
Filter Inserter
Posts: 579
Joined: Sat Jun 25, 2016 6:14 am
Contact:

Re: Suggestion: Avoiding Logistic Fights

Post by featherwinglove »

Roxor128 wrote: If you mean how to set it, Well, we already have a perfectly good approach of a slider and text box. Just duplicate that. One for minimum, one for maximum.
Can we put both sliders on the same bar?

Roxor128
Fast Inserter
Fast Inserter
Posts: 163
Joined: Sun Oct 02, 2016 9:48 am
Contact:

Re: Suggestion: Avoiding Logistic Fights

Post by Roxor128 »

featherwinglove wrote:
Roxor128 wrote: If you mean how to set it, Well, we already have a perfectly good approach of a slider and text box. Just duplicate that. One for minimum, one for maximum.
Can we put both sliders on the same bar?
Probably not without a lot of new coding work. I don't really think it would be necessary, anyway. One for each seems just fine to me.

Post Reply

Return to “Ideas and Suggestions”