Lab/Biolad should have circuit control

Post your ideas and suggestions how to improve the game.

Moderator: ickputzdirwech

mrvn
Smart Inserter
Smart Inserter
Posts: 5969
Joined: Mon Sep 05, 2016 9:10 am
Contact:

Lab/Biolad should have circuit control

Post by mrvn »

TL;DR
The Lab/Biolad entities should allow attaching circuit wires to read contents, recipe and progress.

What?
Attaching a circuit wire to a Lab or Biolab should be allowed. This should allow 5 things to be chosen:

1) read contents

This should be obvious.The number of items currently in the lab just like in any entity with contents.

2) read recipe

This would output the number of science packs required for each cycle of the current research.

3) research completed as <X>

This would output the number of cycles finished for the current research.

4) research required as <Y>

This would output the number of cycles required for the current research, e.g. 10 for automation.

5) total required science packs

This one is a bit tricky. It should output the number of science packs required to finish the current research (rounded up) adjusted for the labs productivity and drain bonus as well as the science packs quality and freshness, if packs of that type are present in the lab. If no packs are present then assume normal quality and 100% freshness.

Even better this option could have an input field for the quality and freshness to use for each pack for the computation with an option to use current quality/freshness. Although that would be a long list with 12 science packs in vanilla. Maybe just have fields for freshness?
Why?
Calculating how many science packs research needs used to be simple: Take the total amount needed and adjust for productivity. The way modules now work depending on how many beacons are around adds a level of complexity. The drain bonus adds a second level of complexity. Quality adds a third level of complexity. All that can be calculated ahead of time so far and while being now way more complex than before it's still managable.

But then comes the kicker, the freshness. That makes it basically impossible to calculate how many science packs are required to finish a research. And there is no way to calculate it with circuit logic as freshness can't be read, preventing this to be a feature request for the selector combinator.

Having the lab output the required amounts would be both informative as well as could be used with circuit logic to produce or request the required science packs as needed without buffering unneeded science packs. Especially science packs that spoil. I know that it would just be an estimate given how freshness works but it would be easy to request extra.
rollc_at
Inserter
Inserter
Posts: 38
Joined: Fri Sep 01, 2023 3:11 pm
Contact:

Re: Lab/Biolad should have circuit control

Post by rollc_at »

Related: viewtopic.php?t=117458 viewtopic.php?t=116005

I would like to voice my support for this idea.

Some of this data could be obtained in a different manner, e.g. reading the belt/chest contents allows estimating how many science packs are waiting in a buffer; reading inserters (pulse) allows estimating consumption rate; etc. Then other metrics could be derived/extrapolated from this data, e.g. whether the research has slowed down/stalled, which science pack(s) are missing to continue, etc.
mrvn
Smart Inserter
Smart Inserter
Posts: 5969
Joined: Mon Sep 05, 2016 9:10 am
Contact:

Re: Lab/Biolad should have circuit control

Post by mrvn »

rollc_at wrote: Thu Nov 21, 2024 2:31 pm Related: viewtopic.php?t=117458 viewtopic.php?t=116005

I would like to voice my support for this idea.

Some of this data could be obtained in a different manner, e.g. reading the belt/chest contents allows estimating how many science packs are waiting in a buffer; reading inserters (pulse) allows estimating consumption rate; etc. Then other metrics could be derived/extrapolated from this data, e.g. whether the research has slowed down/stalled, which science pack(s) are missing to continue, etc.
Except with freshness you do not want to put science packs on the belt that aren't needed. They would just spoil.

Spoiling also makes it appear like they get used up while they aren't.

Thirdly one question always is: How many of X can I connect to a belt before it is saturated / exhausted?
rollc_at
Inserter
Inserter
Posts: 38
Joined: Fri Sep 01, 2023 3:11 pm
Contact:

Re: Lab/Biolad should have circuit control

Post by rollc_at »

Except with freshness you do not want to put science packs on the belt that aren't needed. They would just spoil.
They start spoiling before they even become science packs, you can't stop spoilage, and you can't read spoilage% with a circuit. So where and how you keep them doesn't change it that sometimes you will be processing a nearly-gone science pack.

(One could also argue that using "spoiled first" priority would work thru the stock faster, allowing the fresher packs to stick around for longer. I'd have to test this in a sandbox.)

Note that there's no way to read spoilage%. I'm not sure if this is intended/by design, an engine limitation/perf issue, etc. But you could actually get a pretty decent estimate of spoilage% by comparing the rate of consumption with any other science pack (which would have a funny edge case as health research uses a strictly disjoint set of "base" science packs from productivity).
mrvn
Smart Inserter
Smart Inserter
Posts: 5969
Joined: Mon Sep 05, 2016 9:10 am
Contact:

Re: Lab/Biolad should have circuit control

Post by mrvn »

rollc_at wrote: Fri Nov 22, 2024 9:07 am
Except with freshness you do not want to put science packs on the belt that aren't needed. They would just spoil.
They start spoiling before they even become science packs, you can't stop spoilage, and you can't read spoilage% with a circuit. So where and how you keep them doesn't change it that sometimes you will be processing a nearly-gone science pack.

(One could also argue that using "spoiled first" priority would work thru the stock faster, allowing the fresher packs to stick around for longer. I'd have to test this in a sandbox.)

Note that there's no way to read spoilage%. I'm not sure if this is intended/by design, an engine limitation/perf issue, etc. But you could actually get a pretty decent estimate of spoilage% by comparing the rate of consumption with any other science pack (which would have a funny edge case as health research uses a strictly disjoint set of "base" science packs from productivity).
The point would be to stop producing the science packs in the first place. Which in itself is difficult. Since there is no ground to orbit and interplanetary communications I have to send uncommon wood from Nauvis to Gleba to stop science and an uncommon wooden chest to start science.

I also use "spoiled first" priority to consume the science packs. The more spoiled packs are used up faster so I get to get good packs before they spoil. The other way around the nearly spoiled packs spoil before you get to them. I believe the science output is the same no matter how spoiled the science packs are, they just get used up faster. Then the loss from spoilage every second is proportional to the number of science packs present. So the goal is to have fewer science packs.
rollc_at
Inserter
Inserter
Posts: 38
Joined: Fri Sep 01, 2023 3:11 pm
Contact:

Re: Lab/Biolad should have circuit control

Post by rollc_at »

The point would be to stop producing the science packs in the first place. Which in itself is difficult. Since there is no ground to orbit and interplanetary communications I have to send uncommon wood from Nauvis to Gleba to stop science and an uncommon wooden chest to start science.
You can add https://mods.factorio.com/mod/aai-signal-transmission which works in 2.0 - it would be nice to have something like this in vanilla, although I wouldn't hope for a major feature before next year (guys are all busy squashing bugs).

One fun change I'd add to the transmitters/receivers is to scale transmitter/receiver power usage with distance for point-to-point communication. Stationing relays mid-route to reduce power could be a fun little challenge.
quineotio
Long Handed Inserter
Long Handed Inserter
Posts: 98
Joined: Tue Jun 06, 2017 1:21 pm
Contact:

Re: Lab/Biolad should have circuit control

Post by quineotio »

mrvn wrote: Fri Nov 22, 2024 9:38 pm The point would be to stop producing the science packs in the first place. Which in itself is difficult. Since there is no ground to orbit and interplanetary communications I have to send uncommon wood from Nauvis to Gleba to stop science and an uncommon wooden chest to start science.
I just disable the request from my platform so no more packs get sent. They produce continually regardless and I just let them spoil on Gleba if I don't need them, because it's set up to handle it.
mrvn
Smart Inserter
Smart Inserter
Posts: 5969
Joined: Mon Sep 05, 2016 9:10 am
Contact:

Re: Lab/Biolad should have circuit control

Post by mrvn »

quineotio wrote: Sun Nov 24, 2024 5:30 pm
mrvn wrote: Fri Nov 22, 2024 9:38 pm The point would be to stop producing the science packs in the first place. Which in itself is difficult. Since there is no ground to orbit and interplanetary communications I have to send uncommon wood from Nauvis to Gleba to stop science and an uncommon wooden chest to start science.
I just disable the request from my platform so no more packs get sent. They produce continually regardless and I just let them spoil on Gleba if I don't need them, because it's set up to handle it.
Don't forget to request spoilage or the space platform hub will fill up as science packs in orbit spoil.
Post Reply

Return to “Ideas and Suggestions”