Specify preferred/exclusive content of storage chests
Posted: Thu Feb 16, 2017 1:07 pm
For me, the behavior or storage and active provider chests is the most annoying aspect of logistics right now. After reading several threads about it here and on reddit, I've come to the impression, that lots of other players agree on this regard.
Another proposal directly linked to the issue is here:
viewtopic.php?f=6&t=38540&p=230626
The problem should be well known: The current logic of bots makes them transport any actively provided or autotrashed items to very remote storage chests. This leads to bots flying across the whole base and funny-looking robot snakes, sometimes bouncing off full chests multiple times.
I understand that the devs do not want to add a filtering option similar to train cargos. I can see why, as this would improve the chests to a degree that should be the domain of circuit logic. Hence following idea: What about allowing a preferred or even exclusive content? This could be specified in the area where requester chests set their requests. You can still insert anything manually or by inserter. But when choosing the target for unloading any item, the bots should choose the closest preferred chest; with preferred meaning: Either contains already an item of that type or has this type explicitely set as preferred content. If you dont set any preferred content, you get the current behavior.
This behavior can be already achieved by priming each intended target chest with a single item of the target type. Of course, this is a horrible workflow and fails completely, if robots start to take items out (what usually happens at a train station, for instance).
With this idea, the most common use case is easily covered: At a train station for, lets say, iron plates, you unload into active provider chests and you place a large area of storage chests with preferred content iron nearby. As long as these storage is not full, you will not see bots travelling kilometers to a remote storage chest that contains a few iron plates. If your storage is overflowing, it's your fault, of course.
The advantages in my opinion are: This does not need large changes in bot logic, it can use existing GUI layout and perhaps even existing data structures, and it contains the current state as a default case.
Another proposal directly linked to the issue is here:
viewtopic.php?f=6&t=38540&p=230626
The problem should be well known: The current logic of bots makes them transport any actively provided or autotrashed items to very remote storage chests. This leads to bots flying across the whole base and funny-looking robot snakes, sometimes bouncing off full chests multiple times.
I understand that the devs do not want to add a filtering option similar to train cargos. I can see why, as this would improve the chests to a degree that should be the domain of circuit logic. Hence following idea: What about allowing a preferred or even exclusive content? This could be specified in the area where requester chests set their requests. You can still insert anything manually or by inserter. But when choosing the target for unloading any item, the bots should choose the closest preferred chest; with preferred meaning: Either contains already an item of that type or has this type explicitely set as preferred content. If you dont set any preferred content, you get the current behavior.
This behavior can be already achieved by priming each intended target chest with a single item of the target type. Of course, this is a horrible workflow and fails completely, if robots start to take items out (what usually happens at a train station, for instance).
With this idea, the most common use case is easily covered: At a train station for, lets say, iron plates, you unload into active provider chests and you place a large area of storage chests with preferred content iron nearby. As long as these storage is not full, you will not see bots travelling kilometers to a remote storage chest that contains a few iron plates. If your storage is overflowing, it's your fault, of course.
The advantages in my opinion are: This does not need large changes in bot logic, it can use existing GUI layout and perhaps even existing data structures, and it contains the current state as a default case.