Hi everyone!
After hundreds of hours in Factorio I fully understand logistic networks and can use them to manage most of the tasks in my factory. After Space Age was released I also managed to semi-automate building a space platform and set up automatic cargo routes between planets. However, I came across a conundrum with this specific situation:
1. Space platform circulate constantly between Nauvis and another planet.
2. When the platform arrives to the other planet it requests two different items. I want both of them to be delivered in ANY available quantity ONCED (it can be two rockets - one for each type of item, so it would be easier) and then continue travelling through space.
3. When arriving at the second location all items from the first location are dumped, the space platform requests specific quantities of particular items (basic replenishment of rocket part for the other planet) and the cycle begins anew...
Step 2 is the problematic one...
I managed to achieve half of it using this approach:
1. Setting the space platform request for each item to be 100k (or any other large number to fill the rocket) but setting the new minimal cargo to 1. In this case, even if the rocket won't be fully filled it can still go. The parameters for a space platform leaving the planet is to have at least 1 item of each type (it's not perfect as I wanted the space platform to circulate between planets even if production of one of the items would halt) so after one shipment of each item platform may go.
This caused a problem cause even if the Silo will automatically receive requests for those items. The rocket will not wait for the robots to fill the silo with all available items but after the first robot reaches the silo, the rocket will start with this one item. If the silo would have the option to automate the start of the rocket then I could play with hand-made "inactivity' condition. For example: if there was no change in cargo for 5 seconds (all robots delivered their packages) then start the rocket. But, there is no way to trigger the rocket to start with the signals so this solution won't work.
Another problem is an "endless race of new rockets". The time from rocket engine ignition to cargo reaching a platform is exactly 30s. By that time a new rocket will emerge from the silo and will initiate a new ignition. As a result the platform will never leave as there is always a new rocket with one item reaching it.
I tried stopping loading silos after each rocket start to prevent that. I thought that for a split second after each start a silo will be completely empty and I can start a timer from that moment for 31s so the platform may go after receiving the first cargo.
However, another problem occurred: if the buffer was full the inserter will hold extra excess material and will insert it IMMIEDIETLY after the start so the silo is never empty and the timer will not start.
I watched many videos and tutorials about managing space platforms but I couldn't find a solution.
To finalise my question:
"How to automate space platform to request all available items of a given type and then leave the planet immediately after receiving first rocket shipment of it."
(Plus it would be nice if a space platform could also recognise when there are no available items and leave the planet immediately but I guess that the only solution to this is a simple waiting time condition)
Thanks in advance for all the help, I'm really curious about your ideas.
Advanced item request for space platforms
-
- Manual Inserter
- Posts: 3
- Joined: Wed Jan 15, 2025 11:22 pm
- Contact:
Re: Advanced item request for space platforms
I don't know if there's a way to rigidly fulfill these conditions, but here is how I would do it:Alex(ander) wrote: Thu Jan 16, 2025 12:19 am "How to automate space platform to request all available items of a given type and then leave the planet immediately after receiving first rocket shipment of it."
(Plus it would be nice if a space platform could also recognise when there are no available items and leave the planet immediately but I guess that the only solution to this is a simple waiting time condition)
1. Do not have the item available in the logistic network that services the rocket silos.
2. Directly insert the item into a dedicated non-automated rocket silo for just that item, that is that only that rocket silo will only launch that item.
3. Set the platform to request the item with some low minimum threshold, this means the moment the platform arrives in orbit the rocket silo (as long as it has at least minimum threshold) should immediately launch everything.
4. The platform should be set to "wait 10 seconds" or something, it'll wait until the pods arrive then leave, it'll also just leave after 10 seconds if no rockets launch to it.
-
- Manual Inserter
- Posts: 3
- Joined: Wed Jan 15, 2025 11:22 pm
- Contact:
Re: Advanced item request for space platforms
That's really close but I before the first rocket hit the platform the next one will lunch from the same silo ate inserter will put at least one item in it. This will cause the platform to wait for a second rocket and then the third etc... Is there a way to stop the inserter from entering anything to the silo until the first rocket reach platform?
Re: Advanced item request for space platforms
Overriding inserter's stack size to 5 or 10, so it cleanly fits into item's rocket capacity, should help making sure the inserter has empty hand after finishing the rocket load.
It's also possible to change the stack size dynamically, depending on how full the rocket is, and set it to 1 when the rocket is almost full, e.g. over 90% -
It's also possible to change the stack size dynamically, depending on how full the rocket is, and set it to 1 when the rocket is almost full, e.g. over 90% -
Re: Advanced item request for space platforms
You'd probably just use a minimum threshold for the request which is high enough to prevent nuisance amounts being launched.Alex(ander) wrote: Fri Jan 17, 2025 7:07 pm That's really close but I before the first rocket hit the platform the next one will lunch from the same silo ate inserter will put at least one item in it. This will cause the platform to wait for a second rocket and then the third etc... Is there a way to stop the inserter from entering anything to the silo until the first rocket reach platform?
But if you're into circuit wizardry it is possible to detect a negative change in the contents of the rocket silo (an edge detector and filter it for negative changes), and use that to reset a timer that prohibits the inserter from running until the timer completes. It'll get triggered anytime the contents of the rocket silo go down for any reason but it should be good enough.
Re: Advanced item request for space platforms
One possibility that has to be accounted for is when the rocket is being loaded. The inserter picks up items, platform arrives, rocket starts launching, inserter continues swinging and drops items into the next rocket.
I guess this could be solved by having minimum payload larger than inserter stack size.
I guess this could be solved by having minimum payload larger than inserter stack size.
-
- Manual Inserter
- Posts: 3
- Joined: Wed Jan 15, 2025 11:22 pm
- Contact:
Re: Advanced item request for space platforms
I came up to the same conclusion after some time tinkering with it. However, I couldn't implement it as somehow I got lost in a circuits... I have 7 years of experience teaching and working with electronics including digital circuits (latches, gates etc.) and still Factorio has beat me. XDMuche wrote: Sat Jan 18, 2025 2:41 pm One possibility that has to be accounted for is when the rocket is being loaded. The inserter picks up items, platform arrives, rocket starts launching, inserter continues swinging and drops items into the next rocket.
I guess this could be solved by having minimum payload larger than inserter stack size.
I got lost in different versions of timers, triggering them, detecting lunching a rocket etc... I used a 32 sek. timer triggered by a lunch and connected a SR latch at the output which controlled a inserter. On paper I have this circuit sorted out, but unfortunately I wasn't good enough to create it out of Factorio combinators. If anyone would like to pick up a challenge and help me create this circuit I would gladly compare notes.
SOLUTION:
However I found another and much simpler solution to the overall problem:
Firstly: I allow the inserter to input items up until rocket is full - one inserter stack (so for example 989 items of 1000 max) thanks to that there is never an item left hanging in an inserter arm.
Secondly: I use an extra silos to read platforms demands (you can't read from one platform both the demands and content of the silo) and put some weird demand on the platform (in my case 3 Spidertrons). Then I add a second condition for an inserters to not load anything as long as this demand is active. First rocket will lunch anyway cause it was already loaded (fully or not) before platform arrived and inserter will not put anything into the silo until this rocket will reach the platform and platform will leave the planet. This works perfect for me because sometimes my platform has shortage of ammo so it needs to wait a little bit longer anyway on the orbit and still it will prevent sending a stream of rockets which wouldn't work with a timer.
"P" signal on the screenshot is a signal that is created if third silo will read this "extra" demand of 3 spidetrons from the platform. Thanks to custom demands you can set this whole system so each silo will react to different platform arriving: so even if a platform that demands green science is on that orbit it will not stop loading silo for a rocket with Bioflux if those platforms have a different "extra" demand.
What do you think?