Add support storage chests that are emptied when needed
Moderator: ickputzdirwech
-
- Filter Inserter
- Posts: 660
- Joined: Sat Jun 06, 2015 2:23 am
- Contact:
Add support storage chests that are emptied when needed
Add support for "passive storage chest"s which function like regular storage chests, but when a resource/item is needed, passive storage chests are checked first, then passive provider chests.
This would help with keeping an organized factory and preventing goods from cluttering the storage chests. Imagine the following scenario as it is now:
Do some construction/deconstruction, killing biters, base building etc. And you end up deconstructing turrets, walls, factories, inserters, belts, splitters, etc. and you end up with all these goods being taken into your storage chest area where each item is given it's own chest even though there might only be one item in the chest. Now you have say 50/100 storage chests in use just because you deconstructed at least 50 unique items. If you have less storage chests, or less storage chests available, then the goods get merged into chests with other goods or the robots hover indefinitely carrying the good.
Now compound this with deconstructing large amount of items, say 100 walls (could be more, but let's use 100 as an example). Now lets say you are producing walls and have a logistics limit of 100 set on them. Now you have 100 walls sitting in a storage chest somewhere, and not in the passive provider chest where you always go to pick up your walls (because that's where you are building them). Now you pick up whatever walls, say 50 you have in your passive provider, go do some expansion, use up the 50 walls, go back to your passive provider a long time later, and it's still sitting empty, all because the 100 walls are sitting in some storage chest somewhere randomly. Even if you put all your storage chests together, the robots still just pick a random chest to put them into.
You might say, well just request the goods from the network, so let's extend the above scenario and now we request 50 walls. They are all taken from your passive provider chest and the 100 walls are still sitting in the storage chests somewhere. Now when you want more walls you are forced to request it, or find it in your storage chests. Also every time you are by your main factory area, you can't just pick up your walls because the chest will remain empty until you use up all your walls in storage, or you will get the difference in your passive provider, but not the whole 100 walls. On top of this it will clutter up your storage chests and if you run out of empty ones, robots will start making a mess and mixing different types of items into the same chest. If you keep going with this example, eventually you will run out of storage chest space and that will cause more problems.
I think this can be so easily and elegantly solved by adding "passive storage chests". The game logic would just look in the passive storage chests before the passive provider chests. This way all request and construction orders would empty the storage chests first, and keep priority of goods as being in the place you expect them, in the passive providers. This would also keep your storage chests as empty as possible and reduce the buildup of goods in storage chests.
This would help with keeping an organized factory and preventing goods from cluttering the storage chests. Imagine the following scenario as it is now:
Do some construction/deconstruction, killing biters, base building etc. And you end up deconstructing turrets, walls, factories, inserters, belts, splitters, etc. and you end up with all these goods being taken into your storage chest area where each item is given it's own chest even though there might only be one item in the chest. Now you have say 50/100 storage chests in use just because you deconstructed at least 50 unique items. If you have less storage chests, or less storage chests available, then the goods get merged into chests with other goods or the robots hover indefinitely carrying the good.
Now compound this with deconstructing large amount of items, say 100 walls (could be more, but let's use 100 as an example). Now lets say you are producing walls and have a logistics limit of 100 set on them. Now you have 100 walls sitting in a storage chest somewhere, and not in the passive provider chest where you always go to pick up your walls (because that's where you are building them). Now you pick up whatever walls, say 50 you have in your passive provider, go do some expansion, use up the 50 walls, go back to your passive provider a long time later, and it's still sitting empty, all because the 100 walls are sitting in some storage chest somewhere randomly. Even if you put all your storage chests together, the robots still just pick a random chest to put them into.
You might say, well just request the goods from the network, so let's extend the above scenario and now we request 50 walls. They are all taken from your passive provider chest and the 100 walls are still sitting in the storage chests somewhere. Now when you want more walls you are forced to request it, or find it in your storage chests. Also every time you are by your main factory area, you can't just pick up your walls because the chest will remain empty until you use up all your walls in storage, or you will get the difference in your passive provider, but not the whole 100 walls. On top of this it will clutter up your storage chests and if you run out of empty ones, robots will start making a mess and mixing different types of items into the same chest. If you keep going with this example, eventually you will run out of storage chest space and that will cause more problems.
I think this can be so easily and elegantly solved by adding "passive storage chests". The game logic would just look in the passive storage chests before the passive provider chests. This way all request and construction orders would empty the storage chests first, and keep priority of goods as being in the place you expect them, in the passive providers. This would also keep your storage chests as empty as possible and reduce the buildup of goods in storage chests.
Re: Add support storage chests that are emptied when needed
factoriouzr wrote:You might say, well just request the goods from the network, so let's extend the above scenario and now we request 50 walls. They are all taken from your passive provider chest and the 100 walls are still sitting in the storage chests somewhere.
According to the wiki storage chests do already get emptied before passive providers, and I haven't seen any different in my games.factoriouzr wrote:This way all request and construction orders would empty the storage chests first, and keep priority of goods as being in the place you expect them, in the passive providers. This would also keep your storage chests as empty as possible and reduce the buildup of goods in storage chests.
https://wiki.factorio.com/Logistic_netw ... _of_robots
The logistic network looks for orders by the chests in this order:
- A requested item is first looked up in the active provider chests, then in the storage chests, then the passive provider chests. So, the active provider chests are emptied first, then the storage chests, then the passive provider chests.
-
- Filter Inserter
- Posts: 660
- Joined: Sat Jun 06, 2015 2:23 am
- Contact:
Re: Add support storage chests that are emptied when needed
Are you sure it works that way? Items just keep staying in my storage chests it seems. They definitely don't seem to be prioritized as such from my experience.daniel34 wrote:factoriouzr wrote:You might say, well just request the goods from the network, so let's extend the above scenario and now we request 50 walls. They are all taken from your passive provider chest and the 100 walls are still sitting in the storage chests somewhere.According to the wiki storage chests do already get emptied before passive providers, and I haven't seen any different in my games.factoriouzr wrote:This way all request and construction orders would empty the storage chests first, and keep priority of goods as being in the place you expect them, in the passive providers. This would also keep your storage chests as empty as possible and reduce the buildup of goods in storage chests.
https://wiki.factorio.com/Logistic_netw ... _of_robotsThe logistic network looks for orders by the chests in this order:
- A requested item is first looked up in the active provider chests, then in the storage chests, then the passive provider chests. So, the active provider chests are emptied first, then the storage chests, then the passive provider chests.
Re: Add support storage chests that are emptied when needed
I think the wiki here is wrong (they changed the behavior).
On the other hand I see cluttered chests as first world problems. It needs a bit more reasoning and I don't see the game-value.
On the other hand I see cluttered chests as first world problems. It needs a bit more reasoning and I don't see the game-value.
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...
-
- Filter Inserter
- Posts: 660
- Joined: Sat Jun 06, 2015 2:23 am
- Contact:
Re: Add support storage chests that are emptied when needed
ssilk wrote:I think the wiki here is wrong (they changed the behavior).
On the other hand I see cluttered chests as first world problems. It needs a bit more reasoning and I don't see the game-value.
You are kidding right? This is a game we are talking about, everything people suggest is "first world problems", the whole game is a "first world problem". Besides, I already gave a very detailed explanation of why this is beneficial and I think many other people would agree. Giving the option of using another chest type without removing the existing one adds more options for people, some will love it, some won't use it, but it won't detract from their experience. I never use the circuit network stuff aside from 1 specific use case one in a while, and that functionality I guarantee many people don't ever use because they find it too complicated. Yet it was still added to the game for those that want to use it despite it being way more orders of magnitude more complex then adding another type of chest. There are tons more examples like this. Take logistics robots, they aren't necessary to the game, you can do everything with belts, yet they were added. Take construction robots, you can build things yourself and repair them yourself, yet they were added. Take personal roboports, you already have regular roboports and logistics and construction robots, yet they were added. All "first world problems" as you said, don't knock the idea because you won't use it in your play style . Look at landfill, that was added to the game. Was it necessary at all, No. Was it useful under some conditions, Yes.
Ssilk, it's all about play styles, fun factor and automation. There are many play styles and catering to only one type is a limited view. This game is about automation, and this would automate that part of the game and organization.
Re: Add support storage chests that are emptied when needed
factoriouzr wrote:Are you sure it works that way? Items just keep staying in my storage chests it seems. They definitely don't seem to be prioritized as such from my experience.
I still think the wiki is correct. The guide also says the same in http://guide.factorio.com/12-the-logistics-system.html.ssilk wrote:I think the wiki here is wrong (they changed the behavior).
To test this I made an experiment (0.14.17):
I placed a roboport and around it within the logistics range 10 storage and 10 passive provider chests at random locations. I did place them down one by one alternating between the two types. I then filled every chest with 100 iron plates, then removed all the extra iron plates from my inventory. I then put 50 logistic robots into the roboport and requested 1.0k iron plates.
Result: The robots only emptied the 10 storage chests, the 10 passive providers weren't touched. This clearly tells me that storage chests are prioritized when requesting items.
Video (2x speed):
Re: Add support storage chests that are emptied when needed
Well, when I see it now, I remember that me myself has changed the wiki-article cause the behavior was changed.
https://wiki.factorio.com/index.php?tit ... did=110491
It makes also sense. The passive provider is so passive, that he will be used only, if there is no item left anywhere else.
Should be so clever to test that myself but didn't come to this quite clever idea.
Moved to implemented.
https://wiki.factorio.com/index.php?tit ... did=110491
It makes also sense. The passive provider is so passive, that he will be used only, if there is no item left anywhere else.
Should be so clever to test that myself but didn't come to this quite clever idea.
Moved to implemented.
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...
-
- Filter Inserter
- Posts: 660
- Joined: Sat Jun 06, 2015 2:23 am
- Contact:
Re: Add support storage chests that are emptied when needed
daniel34 wrote:factoriouzr wrote:Are you sure it works that way? Items just keep staying in my storage chests it seems. They definitely don't seem to be prioritized as such from my experience.I still think the wiki is correct. The guide also says the same in http://guide.factorio.com/12-the-logistics-system.html.ssilk wrote:I think the wiki here is wrong (they changed the behavior).
To test this I made an experiment (0.14.17):
I placed a roboport and around it within the logistics range 10 storage and 10 passive provider chests at random locations. I did place them down one by one alternating between the two types. I then filled every chest with 100 iron plates, then removed all the extra iron plates from my inventory. I then put 50 logistic robots into the roboport and requested 1.0k iron plates.
Result: The robots only emptied the 10 storage chests, the 10 passive providers weren't touched. This clearly tells me that storage chests are prioritized when requesting items.
Video (2x speed):
Thanks for testing it. That's great but does it work the same if the logistics network is requesting the 1.0k iron plates using requester chests?
What about the behaviour if you are using laser turrets and walls, and using construction robots to build the turrets and walls? Do construction robots also prioritize storage chests above passive providers?
Re: Add support storage chests that are emptied when needed
Nothing, which you cannot answer yourself.factoriouzr wrote:Thanks for testing it. That's great but does it work the same if the logistics network is requesting the 1.0k iron plates using requester chests?
What about the behaviour if you are using laser turrets and walls, and using construction robots to build the turrets and walls? Do construction robots also prioritize storage chests above passive providers?
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...
Re: Add support storage chests that are emptied when needed
I ran a few more tests.
Seems I didn't read the wiki article mentioned above as closely as I should have done. It is written exclusively for logistic bots and even states:
Construction robots prioritize the nearest chests, regardless of chest type:
It's clear that logistic and construction bots behave differently, but I don't think the answer is to add a 5th logistic chest. I'd rather see construction bots also take from storage chests first, but this should be a well thought-out change because it can make a difference in bigger factories and their various layouts.
Yes. With requester chests it behaves exactly the same. No surprise there.factoriouzr wrote:Thanks for testing it. That's great but does it work the same if the logistics network is requesting the 1.0k iron plates using requester chests?
This one I didn't expect. The answer is no.factoriouzr wrote:What about the behaviour if you are using laser turrets and walls, and using construction robots to build the turrets and walls? Do construction robots also prioritize storage chests above passive providers?
Seems I didn't read the wiki article mentioned above as closely as I should have done. It is written exclusively for logistic bots and even states:
In this setup 5 of each chest type are partly filled with turrets, the other 5 with walls.Also, do not mix up logistic network with construction network or combinations of the two called Robotic network.
Construction robots prioritize the nearest chests, regardless of chest type:
It's clear that logistic and construction bots behave differently, but I don't think the answer is to add a 5th logistic chest. I'd rather see construction bots also take from storage chests first, but this should be a well thought-out change because it can make a difference in bigger factories and their various layouts.
Re: Add support storage chests that are emptied when needed
I think the behavior as it´s explained (and tested) is good enough.
Logistics bots, which usually doesn´t have the same demand to do their task quickly, prioritize to clear the storage chest over passive provider chests. This helps the construction bots to have some space somewhere to place their deconstructed entities.
Construction bots prioritize to (de)construct or repair as fast as possible, that´s why they pick stuff from the nearest chest instead of flying around the base to pick if from a storage chest in the other end of the base (if they don´t have to do it).
Logistics bots, which usually doesn´t have the same demand to do their task quickly, prioritize to clear the storage chest over passive provider chests. This helps the construction bots to have some space somewhere to place their deconstructed entities.
Construction bots prioritize to (de)construct or repair as fast as possible, that´s why they pick stuff from the nearest chest instead of flying around the base to pick if from a storage chest in the other end of the base (if they don´t have to do it).
-
- Filter Inserter
- Posts: 660
- Joined: Sat Jun 06, 2015 2:23 am
- Contact:
Re: Add support storage chests that are emptied when needed
daniel34 wrote:I ran a few more tests.
Yes. With requester chests it behaves exactly the same. No surprise there.factoriouzr wrote:Thanks for testing it. That's great but does it work the same if the logistics network is requesting the 1.0k iron plates using requester chests?
This one I didn't expect. The answer is no.factoriouzr wrote:What about the behaviour if you are using laser turrets and walls, and using construction robots to build the turrets and walls? Do construction robots also prioritize storage chests above passive providers?
Seems I didn't read the wiki article mentioned above as closely as I should have done. It is written exclusively for logistic bots and even states:In this setup 5 of each chest type are partly filled with turrets, the other 5 with walls.Also, do not mix up logistic network with construction network or combinations of the two called Robotic network.
Construction robots prioritize the nearest chests, regardless of chest type:
It's clear that logistic and construction bots behave differently, but I don't think the answer is to add a 5th logistic chest. I'd rather see construction bots also take from storage chests first, but this should be a well thought-out change because it can make a difference in bigger factories and their various layouts.
Thanks you again . I think this behaviour makes sense the way it is now to some extent, but at the same time is speed for construction that much more important? I mean if you are turret creeping sure, but you have a personal roboport for that and usually it doesn't make that much of a difference as I don't keep my storage chests near the border, I keep it in my main factory where the good are produced anyway. To get around it, again use personal roboport. I'm kind of torn on this one. I think it would be a bit better to have construction robots prioritize storage chests too. Consider the following example which can quickly get out of hand.
What this means however is in the worst case your storage chests will contain the (logistics limit -1) of every type of item you ever deconstructed. This is actually kind of annoying. Think about it, if the factories producing the goods are always closer to where you are building them then the storage chests, and you build say 100 of each item, then you will have a storage chest for 99 factories, 99 power poles, 99 long power poles, 99 turrets, 99 walls. This gets even worse with mods that add multiple levels of assembly machines, turrets, walls, power poles etc. This is why I must have observed this behaviour in my games. The storage chests were usually very static.
I'm kind of torn on this one. I think maybe it would be a little better to prioritize storage chest for consturction robots, but I'm not overwhelmingly leaning that way at all. What does everyone else think?
Re: Add support storage chests that are emptied when needed
So that is why my storage chests keep getting filled with inserters, belts and assemblers. I will have to change my network conditions not to look at the passive provider chest holding the items but the logistics network count instead.