Introduce "one-time" logistic requests

Post your ideas and suggestions how to improve the game.

Moderator: ickputzdirwech

jonc211
Burner Inserter
Burner Inserter
Posts: 5
Joined: Fri Nov 22, 2024 8:00 am
Contact:

Introduce "one-time" logistic requests

Post by jonc211 »

TL;DR
Logistic requests persist and are always active. I think there is a use for a logistic request that is fulfilled one time and then deactivates.
What?
The more I think about it, the more I realise that there are two categories of things that you request through the logistic request feature.
Those that you always want to have supplied, e.g. belts, inserters etc. and those that you want once for a specific activity.

The specific activity requests might be things like setting up a new outpost, importing some artillery turrets to Gleba - that sort of thing.

The "trash unrequested" feature comes close to what I think would be useful, but you still need to remember to turn the request off once it has been fulfilled.

I can see some complexities in terms of removing items before the request has been fully satisified, but it feels like Factorio already keeps track of this to some degree? e.g. if I make a logistic request for some items, then once bots have been assigned, they will still deliver the items even if I remove the request.
Why?
I can see numerous use cases for this feature.
  • I think this will help when building space platforms. The way the auto request for construction flag works is pretty much a one-time request. However, if you need an amount smaller than one rocket capacity, you need to set up a request with a custom minimum payload. If you have already placed a ghost, then the items get built and requested again from the surface. With a one-time request, this hassle would go away.

    Ideally, the auto construction requests wouldn't be special-cased. It would just create a one-time request and you could edit the minimum payload there instead of creating a whole separate request.
  • If you're requesting a some items from a nearby chest, then it's not a large cost to trash them and put them back into storage.
    With Space Age logistics, the cost is much higher - both in time taken and resources. Rockets become very cheap in the late game, but if you're requesting something from one planet to another then the lead time is typically several minutes and it might take multiple rockets to transfer them. There is also no automated way of sending them back to the original location other than setting up new rocket launches.

    The incident that got me thinking about this and prompted the thread is that I requested some railgun turrets to Vulcanus to kill a big demolisher. I forgot to turn off the request after I took the turrets from the logistics network into my personal inventory. I then ended up delivering another set of turrets from Aquilo to Vulcanus that have no use now.

    Everything becomes cheap eventually in Factorio, but it feels odd to have to remember to turn these types of requests off to avoid oversupply.
Tinyboss
Filter Inserter
Filter Inserter
Posts: 477
Joined: Sun Nov 16, 2014 12:11 pm
Contact:

Re: Introduce "one-time" logistic requests

Post by Tinyboss »

+1, this would be a genuine QoL improvement. The edge cases could be reduced greatly if one-time requests were blocked for items that already have a request set. Then you don't have to worry how it interacts with in-progress regular requests, auto-trash, or anything else.

Until it's assigned (meaning bots are assigned to carry the items to you) it can block creation of standard requests. Once the bots are all assigned, it would delete itself. That way if you start using the items before the full amount has reached you, it doesn't stick around and keep trying to get that many in your inventory. That's not how a one-time request is meant to work.

It could be made even simpler by requiring that the items be available right now, so that the jobs are assigned and the request is resolved immediately.

Hmm...although this assumes there are enough bots to assign the whole job all at once. Yeah, no getting around edge cases probably. But I trust the devs to know what to do!
User avatar
BlueTemplar
Smart Inserter
Smart Inserter
Posts: 3211
Joined: Fri Jun 08, 2018 2:16 pm
Contact:

Re: Introduce "one-time" logistic requests

Post by BlueTemplar »

jonc211 wrote:I think this will help when building space platforms. The way the auto request for construction flag works is pretty much a one-time request. However, if you need an amount smaller than one rocket capacity, you need to set up a request with a custom minimum payload. If you have already placed a ghost, then the items get built and requested again from the surface. With a one-time request, this hassle would go away.

Ideally, the auto construction requests wouldn't be special-cased. It would just create a one-time request and you could edit the minimum payload there instead of creating a whole separate request.
Yes, I ran into this issue recently, and tried to logic my way out of it :
BlueTemplar wrote: So, I managed to semi-automate it using «some wiring» :
- A second silo that is just there to serve as a giant radar dish to «read orbital requests» : signal A.
- The main silo for things to be delivered, set on «read contents» : signal B, which is then multiplied by -1 for EACH by an arithmetic combinator : - B.
- A 2nd arithmetic combinator that ADDs EACH : A - B = C : now we have a signal giving platform-requested build items not in the silo yet.
- C is sent both to a requester chest on «Set Requests» and an inserter (stack size = 1) set to «Set filters».
But since then I realized that it has an extra failure mode :
Once the rocket launches, requested items aren't in the silo any more, but are still requested by the platform.
(which could in theory leave before receiving them... do they get dumped back to the planet into the cargo landing pad (if available) ??)
So they will get requested again and end up as 'duplicates'.
(I guess this is solvable with more combinator logic, but what isn't ?)
BobDiggity (mod-scenario-pack)
Kyralessa
Filter Inserter
Filter Inserter
Posts: 576
Joined: Thu Sep 29, 2016 5:58 pm
Contact:

Re: Introduce "one-time" logistic requests

Post by Kyralessa »

You can sort of do this by creating a separate logistics request section for such an item. When you're done using the item, just delete the section.

This isn't quite the same thing, of course, since the logistics bots will keep replenishing the item rather than giving it to you once and done. But with auto-trashing non-requested items, you wouldn't be able to create a one-time request anyway, unless you turn the auto-trashing off first.

New logistic request sections don't cost anything, so just create a new one (even if it's only for one item) whenever you like, and disable or delete it when you're done with the item.
DragonRT
Burner Inserter
Burner Inserter
Posts: 7
Joined: Fri Jan 01, 2016 11:00 pm
Contact:

Re: Introduce "one-time" logistic requests

Post by DragonRT »

This is a useful idea and I actually looked to see if you could do it myself.
jonc211
Burner Inserter
Burner Inserter
Posts: 5
Joined: Fri Nov 22, 2024 8:00 am
Contact:

Re: Introduce "one-time" logistic requests

Post by jonc211 »

Kyralessa wrote: Fri Nov 22, 2024 4:18 pm You can sort of do this by creating a separate logistics request section for such an item. When you're done using the item, just delete the section.

This isn't quite the same thing, of course, since the logistics bots will keep replenishing the item rather than giving it to you once and done. But with auto-trashing non-requested items, you wouldn't be able to create a one-time request anyway, unless you turn the auto-trashing off first.

New logistic request sections don't cost anything, so just create a new one (even if it's only for one item) whenever you like, and disable or delete it when you're done with the item.
Yeah, auto-trashing doesn't work too well with one-time requests for personal logistics. I think it would fit quite nicely for cargo landing pad logistics though. And maybe that's the crux of the issue, that we use the same logistics system in both cases.

The landing pad effectively acts as a buffer chest, but between space and the local surface. It requests from space and mkes available to the local logistics network. A one-time request for a landing pad would request the item(s) from space and then remove them from the landing pad's inventory and put into the local logistics network.

And disabling/deleting the request is the issue I'd like to avoid. Again, the problem presents with space logistics. You have a lead time of several minutes between requesting an item and it arriving. And because it's effectively a buffer chest, you can request the items to your personal inventory from the landing pad. But then they will get delivered to the landing pad again.

If this is all happening in the local logistics network over a few seconds, it's not a big deal. The extra time when dealing with space means that you would need to keep an eye on when things arrive to go and disable the request.
User avatar
BlueTemplar
Smart Inserter
Smart Inserter
Posts: 3211
Joined: Fri Jun 08, 2018 2:16 pm
Contact:

Re: Introduce "one-time" logistic requests

Post by BlueTemplar »

Hmm, some solutions here might involve putting the silo(s) and / or the cargo landing pad in different logistic networks than the main base ?
BobDiggity (mod-scenario-pack)
Post Reply

Return to “Ideas and Suggestions”