StrangeLoopGames / EcoSuggestions

Repo for storing Eco game suggestions, separate from EcoIssues
35 stars 1 forks source link

Storage Filtering #1570

Open D3nnis3n opened 2 years ago

D3nnis3n commented 2 years ago

When dealing with large closely placed inventory storage, it would be great to be able to choose the in put and out put inventories. For example: I have a cart that I use to carry stone to the station, but if I leave it in range it will then be filled with mortared walls and I don't want that. I need it linked for input, but I want it to remain empty.

https://github.com/StrangeLoopGames/EcoSuggestions/issues/449

D3nnis3n commented 2 years ago

It would be helpful to link Inventories seperate for Input and Output at tabels.

E.g. put crafted stuffed turkey to chest 1 to sell it in a store but take the bread from a nother chest 2, because there are other bread in chest 1 I want to sell as well.

https://github.com/StrangeLoopGames/EcoSuggestions/issues/426

D3nnis3n commented 2 years ago

Concept: QOL toggle indicating push/pull (diode) or bidirectional flow between two storage/crafting entities.

Use Case: I prefer to have crafting stations linked to my wood cart, but nearly all the stations I'd rather not have drop items to the wooden cart. My desire is to set up most crafting stations to be pull only. Especially relevant when I'm spamming torches since they are consumed, but don't stack. I'd like them to sit in the chest or crafting station, not end up filling my wooden cart without me noticing.

Rationale: Ease of use for storage systems, anti-frustration. Principle of Least Astonishment (POLA)

https://github.com/StrangeLoopGames/EcoSuggestions/issues/396

D3nnis3n commented 2 years ago

image https://github.com/StrangeLoopGames/EcoSuggestions/issues/654

D3nnis3n commented 2 years ago

It would be cool to have two checkmarks for linking storages. One for input, one for output. For example to set the input box for ironingots in one box, but output steel to another box so a production-chain could be set up.

Mentioned also there: [StrangeLoopGames/EcoIssues#7285](https://github.com/StrangeLoopGames/EcoIssues/issues/728

https://github.com/StrangeLoopGames/EcoSuggestions/issues/38

Conchipedia commented 2 years ago

with two EXTRA Tick boxes for Take From Here and Deposit Here or just INPUT and OUTPUT whatever make it an easier systemto understand

maybe something like this?

01

02

03

this will give us infinite possibilities especially seeing as we can already sort the storage in whichever order we want them to access first.

re added these snapshots to this one (even though they were linked in an older Issue)

This to me seems to be the simplest and clearest way to show input and output

D3nnis3n commented 2 years ago

Hello, I have a quite simple suggestion. When you are crafting some metal bars, let's say Steel or Iron, your output from the machine is the metal bar and a slag block. And you want metal bars to go in stockpile named Metal Bars, and Slag to go in Slag stockpile. Can something like that be done? Literally, the game could check for names of activated stockpiles in range, and if the name of the stockpile is the same as the name of the product or the name of the tag that product has ( Crushed Rock) it will move the product in that stockpile.

https://github.com/StrangeLoopGames/EcoSuggestions/issues/1542

Conchipedia commented 2 years ago

not everyone knows that they can name storage and quite a few people who do know just forget or can't be bothered, i like the idea of the Extra tick boxes for input and output then there is less hassle remembering to name things for specific items, as quite often they just need a quick place for stuff to go, that's why they sometimes just put down a chest or stockpile and drag it to the top of the list of storage

airbreather commented 2 years ago

I build certain objects for their housing value (e.g., shelves, icebox) that incidentally have storage slots too. I **almost never want to use those inventories for crafting inputs or outputs. Sometimes, it would be an overall benefit to have them accept crafting outputs from work orders that would otherwise have nowhere else to put their results. If that happens, though, I'd probably rather see the error message than be blissfully unaware that a lumber project has been stalled for a while because some nails happened to go into an icebox that's barely in range of the anvil.

Considering this and some of the other suggestions that have been combined into this one (specifically #449 and #396), I imagine that a comparatively cheap way to mitigate some of the worst of the issues would be to let the storage container itself be marked as "low-priority"?

When a storage container is marked as "low-priority":

I imagine that it might also be appropriate for all vehicle storage inventories (and all fuel supplies?) to automatically start off in this "low-priority" state.

This would allow me to mark my shelves / iceboxes as "low-priority" after I put them down, so that I can build crafting stations near my house without having to repeatedly disable / reorder these inventories every time I put a new crafting station down.

It probably wouldn't completely solve the issue, but it feels like a decent stop-gap that doesn't seem like it would be too complex to implement in the meantime, without having to commit to a more complex solution just yet.


A natural extension of this "low-priority" / "not-low-priority" idea would be to let things have numeric priority values. In combination with some other suggestions, an inventory's input priority value could also differ from its output priority value.

Some thoughts about defaults, in that case:

  1. All else equal, I believe you'd want to prioritize dumping things into containers like storage chests (which can't accept carried items) before dumping things into containers like stockpiles (which can, but often shouldn't).
  2. Related, again all else equal, you'd probably want to pull things from stockpiles before storage chests, since that'll help clear up any non-carried items that landed in a stockpile when all the chests were full.
D3nnis3n commented 2 years ago

Input / Output & Sorting is already in 9.5.

D3nnis3n commented 2 years ago

In factorio you can "filter" / reserve (keybind middle mouse click but this can be anything) a specific slot of a chest or train cargo for a specific type of item (see attached image) image With the new 9.5 change, coupled with this would make shops and tables very powerful and flexible in how you set them up.

I think this could be possibly merged with #1570 but it is different enough I thought to put it in its own thread just in case for now as you have iterations off that issue

Assimilater commented 2 years ago

I should mention, if I recall correctly another keybind in factorio is holding the item then hovering it over the squares you want to filter for that item type and middle mouse clicking. Pie in the sky bonus points if you have the option for shops to base the quantity in buy orders off how much space you have reserved for said item

D3nnis3n commented 1 year ago

This is a suggestion to the storage system and I purpose two new features, in combination with each other will add so much functionality to the game.

Black/White Listing Item slots and limits

Itemblackwhitelisting Normal At start, every slot is as normal and works as it does now. whitelisting In the above (very crude) example you can see the general idea. I want to be able to Whitelist slots and set limits, simple concept. "I only want x item to go x slot."

Blacklisting I don't have a image to show here but its self explanatory. "Anything But x item ) can go in x slot. "

limiting Each slot can be set a limit, simple "I only want x number of items in x slot"

NOTE: Would be nice if you could do multiple items, using something like the item finder that the store uses for example.

Better Input Output for stores and crafting stations

benchinputoutput Key

  • Green = Input
  • Orange = Both
  • Red = Output

The above image is trying to demo a better way of handling input and outputs. Very much like the current options on whole storages, instead I suggest it to be moved to each item slot. I personally prefer the green orange red UI but just in case there is a misunderstanding, I have added the image below.

Suggestioninputoutput

Combination of the two Combo

Order Of Operations

  1. Input/Output/Both slots take priority from left to right.
  2. Much like it currently is, Storage Top takes priority if it cannot find an appropriate slot go down the storage list (How you view it is how it logically works)
  3. If there are no Output/both slots the crafting stalls like it does now.
  4. All Slots needs a flag, None flags slots counts as locked
  5. Added suggestion, Items should not auto stack and go in priority order.
  6. Added suggestion, Allow us to buy/sell using the tags (as well as black list and white list)

This solves a common issue I face in nearly every store I run. I want to be able to better control the input and outputs as well as further defining what slots can go where and how many of that item is allowed in that slow. In the example above image a butcher wanting to first have 10 raw meat made and set aside (for sale, First red slot) and overflow go into the next slot (Orange), which can be used to make scrap meat, and the same situation happens again for the scrap meat. Note that once the raw meat slots are full they don't overflow into the scrap meat slots! Amazing! Furthermore this setup allows multiple tables to interact with 1 storage making chaining workstations so much smoother.

Assimilater commented 1 year ago

I think moving input / output from a storage container level to an individual storage slot level would be far too many buttons to manage. The current iteration is the prefect balance imo.

I do like the idea for being able to set stack limits when whitelisting though

And I cannot see myself making use of blacklists personally. I think "this item/tag or no restrictions ergo any item" is plenty of complexity. Maybe an option to disable a slot entirely rather than a blacklist. I could see that being useful if you were trying to automate say food so you only produced a small amount of food at a time (so it doesn't spoil) you wouldn't want it to overflow out of its whitelisted slot into another slot that you don't have a dedicated purpose for (factorio does this with an x button that you can click at the end of the storage slots, then it shows a red overlay as you drag your mouse around until you click on a the first slot you want to disable (disables every slot after the one you click)