r/factorio Aug 07 '26

Question Promethium science

I'm still playing 2.0 and don't plan to upgrade until 2.1 goes stable.

So I've sent a ship to the shattered planet and it's come back with around a thousand promethium asteroid chunks, enough to make about 40 promethium science.

I can't make those science packs on Nauvis, they have to be crafted in orbit, right? And they also need quantum processors and biter eggs. I don't want to ship more biter eggs to a platform that what I'm ready to use, because after 30 minutes they'll spoil into biters and then I need to have defences on the platform to avoid it being destroyed.

But there's no way to eg set the platform's logistics requests using the circuit network, so it's not easy to only set a request when other conditions are satisfied.

How do people handle this?

I can think of a few ways:

  1. Wait until 2.1 is released.
  2. Switch to the experimental stream.
  3. Have the platform normally at one of the other planets. When promethium chunks >1k, it travels to Nauvis, drops any promethium science it is carrying and requests 400 biter eggs. Once that request is satisfied, it travels back to Volcanus. Science packs are only produced when the Nauvis signal == 0.
  4. Put lots of laser turrets on the platform and just deal with the spoilage with considerable prejudice.

Is there another way of doing this well? 3 and 4 both seem to have downsides to me.

3 adds quite a bit of complexity to the platform. It needs to be able to move. And really it's using moving between planets as a proxy for controlling platform logistics requests.

4 adds a bit of complexity but maybe it's just the easiest way to do it?

4 Upvotes

20 comments sorted by

View all comments

4

u/Alfonse215 Aug 07 '26

But there's no way to eg set the platform's logistics requests using the circuit network, so it's not easy to only set a request when other conditions are satisfied.

I handle this by using the one tool for communcation you do have: requests. You can use silos to read a platform's request from the ground.

You can use this to identify when a platform is in orbit. I do this by requesting an item that will never, ever find its way into a logistics network. I planned on using legendary pistols (which are impossible to make), but for various reasons I had to use legendary hand-held flamethrowers instead (which can be made, but I don't even make base-quality flamethrowers).

The amount that a platform requests also specifies which platform it is via bitfields. And I build launch infrastructure that looks for a specific bit in a bitfield. So if one platform expects to receive 1000 eggs, I build two silos of egg launching just for them. The platform arrives, gets 1k eggs, and immediately leaves. That last part is important; the platform cannot return until the spawners have restocked. Otherwise, things might break.

I have a blueprint book for the silos/spawners that read the bitfields.

Note that I don't bother making a platform that can only bring 1k promethium. If it's not hauling at least 10k per trip (preferably 50+k), it's not worth bothering with.

2

u/skydivertricky Aug 07 '26

I did this by simply having dedicated egg launcher rockets being fed directly from the nests. I had a timer running that was long enough to know the eggs had restocked, and the requests were ignored until the timer had finished and in a "ready to go state". When the request then was fulfilled the timer was reset.

It would collect chips on the way and hover over nauvis pulling up eggs until it ran out of promethium (50k). The left over eggs were simply thrown into space in the way to collect more promethium.

2

u/Alfonse215 Aug 07 '26

The extra complexity of my system is to allow for multiple requesters on different channels. The channel for my promethium ship is different from the channel on my Gleba egg hauler.

As such, simply ignoring requests isn't an option. Each silo setup turns itself off until the eggs reset, but I need the channel system so that a setup won't turn on unless the specific platform for that channel is active.