Almost identical blueprints

Don't know how to use a machine? Looking for efficient setups? Stuck in a mission?
Post Reply
Trific
Fast Inserter
Fast Inserter
Posts: 145
Joined: Thu Dec 31, 2020 7:57 pm
Contact:

Almost identical blueprints

Post by Trific »

Crossing my fingers and hoping there is a way (vanilla or mod) of dealing with blueprints that are almost but not quite identical to each other. For instance, loading depots for ore/stone that are identical except that the station names are different. Or circuits that are identical except that each uses a different specific channel to advertise to the others like it for coordination purposes.

User avatar
DaveMcW
Smart Inserter
Smart Inserter
Posts: 3700
Joined: Tue May 13, 2014 11:06 am
Contact:

Re: Almost identical blueprints

Post by DaveMcW »

That is what the blueprint description and icons are for.

Trific
Fast Inserter
Fast Inserter
Posts: 145
Joined: Thu Dec 31, 2020 7:57 pm
Contact:

Re: Almost identical blueprints

Post by Trific »

That's not the point. I presently have separate blueprints for pickup stations for all the ores and stone, and they each have appropriate icons. Telling them apart isn't the problem, it's the clutter. Looking at some of the mods I'd like to play, just this one example is going to multiply even further. I wasn't really expecting there to be a solution in vanilla, but I was hoping for a mod at least.

User avatar
DaveMcW
Smart Inserter
Smart Inserter
Posts: 3700
Joined: Tue May 13, 2014 11:06 am
Contact:

Re: Almost identical blueprints

Post by DaveMcW »

Make a blueprint book of train stops only, and paste it on top of your loading depot?

Trific
Fast Inserter
Fast Inserter
Posts: 145
Joined: Thu Dec 31, 2020 7:57 pm
Contact:

Re: Almost identical blueprints

Post by Trific »

The depot can accommodate up to 36 stops (for really huge ore patches), and pasting in a separate train stop wouldn't put in the circuit connections. But, I'm guessing there is no mod that will let you specify what should go in placeholder spots. So, I will go on having a separate blueprint for each ore/stone.

SoShootMe
Filter Inserter
Filter Inserter
Posts: 475
Joined: Mon Aug 03, 2020 4:16 pm
Contact:

Re: Almost identical blueprints

Post by SoShootMe »

Trific wrote:
Sun Feb 07, 2021 1:46 am
The depot can accommodate up to 36 stops (for really huge ore patches), and pasting in a separate train stop wouldn't put in the circuit connections. But, I'm guessing there is no mod that will let you specify what should go in placeholder spots. So, I will go on having a separate blueprint for each ore/stone.
There's no explicit concept of "placeholder spots" (in vanilla at least), but placing a blueprint of a train stop over an existing train stop will update the settings of the stop to those stored in the blueprint.

It may or may not work with your design, but I think DaveMcW's suggestion is to have a generic blueprint that includes the train stops (and eg circuit connections), but not train stop names, plus blueprints of train stops specific to the type. This doesn't really address the "clutter" issue but should mean that a modification to your design only needs to be made once. Alternatively, if all the train stops within the generic blueprint are the same, you could have only the generic blueprint, which you place, then update one stop and copy/paste its settings to the others.

For the circuits case you mentioned in your original post, in many cases you can implement generic logic using the special everything/anything/each signals. Another general approach is to use arithmetic combinators to "rename" signals at input and/or output, eg input_signal + 0 -> internal_signal, so that the logic implemented within the circuit is the same.

Trific
Fast Inserter
Fast Inserter
Posts: 145
Joined: Thu Dec 31, 2020 7:57 pm
Contact:

Re: Almost identical blueprints

Post by Trific »

The circuits have four combinators that have to be set to the "assigned signal". Going with a more generic layout I can eliminate two of those, and perhaps a third if I make a bit more complicated circuit.

I do the duplicated blueprints because it is fast, just slam down the blueprint and move on, no needing to do any fiddly bits with it. I would envision doing something like "slam down the blueprint, and get a popup that prompts for what the train stop name/signal should be". Maybe I will write that mod in the future, but I've only been playing for a couple of months, and I want to play, not write code right now.

gGeorg
Filter Inserter
Filter Inserter
Posts: 392
Joined: Wed Jun 19, 2019 8:06 pm
Contact:

Re: Almost identical blueprints

Post by gGeorg »

Trific wrote:
Sun Feb 07, 2021 4:39 pm
The circuits have four combinators that have to be set to the "assigned signal". Going with a more generic layout I can eliminate two of those, and perhaps a third if I make a bit more complicated circuit.

I do the duplicated blueprints because it is fast, just slam down the blueprint and move on, no needing to do any fiddly bits with it. I would envision doing something like "slam down the blueprint, and get a popup that prompts for what the train stop name/signal should be". Maybe I will write that mod in the future, but I've only been playing for a couple of months, and I want to play, not write code right now.
Perhaps you might post your circuit creation in the proper part of forum and ask for a help. Most likely there is a solution you dont see now.

Trific
Fast Inserter
Fast Inserter
Posts: 145
Joined: Thu Dec 31, 2020 7:57 pm
Contact:

Re: Almost identical blueprints

Post by Trific »

If this isn't the proper part of the forum, then where is? There's no mods involved, so I don't know where else I would put it.

Anyhow, I did a complete tear down and rebuild of the circuits, and thought I had managed to eliminate two combinators, until I realized those two were the ones making sure that everything being zero didn't screw things up.

The delivery station blueprint I have posted uses 7 combinators total (the 8th on the right side is just a chest balancer). The pickup station version is almost identical, it just leaves out the combinator that computes how much empty space there is. When the blueprint is stamped down, the station needs to know what material it is handling, and what signal to advertise its capacity as. It would be possible to get all the other adjustments from those two things, but only with large numbers of other combinators. So, the "max chest capacity", and "max wagon load" also have to be entered based on what the material is.

I did find some interesting mods that might help, but I haven't had a chance to try them. Any suggestions for improvement are welcome.


SoShootMe
Filter Inserter
Filter Inserter
Posts: 475
Joined: Mon Aug 03, 2020 4:16 pm
Contact:

Re: Almost identical blueprints

Post by SoShootMe »

Trific wrote:
Wed Feb 10, 2021 1:30 am
If this isn't the proper part of the forum, then where is?
Combinator Creations was where gGeorg was suggesting. But here also seems fine, to me at least.

A description/explanation of what the blueprint you posted does (or is intended to do) would make it easier for people to offer help/advice: the overall concept(s) and the meaning or function of key signals and combinators. (Also, there's the fact that the act of explaining often causes solutions to become apparent in itself.)

I've looked for a few minutes but don't fully understand the logic (maybe lack of explanation or maybe I'm not clever enough to figure it out :)). The only immediate thing is that I would guess the top-right combinator (14k - Stone -> Info) should only see a single input so changing Stone to Each should work, though you may need to consider what happens if there is more than one signal.
Trific wrote:
Wed Feb 10, 2021 1:30 am
So, the "max chest capacity", and "max wagon load" also have to be entered based on what the material is.
I don't think there is a solution for this in the base game. There are only a limited number of stack sizes, and eg all (vanilla) ores are the same - but this is obviously back to your original point of almost identical blueprints.

A constant combinator can be a useful way to allow a generic blueprint to be "configured". I think it's as close as you can get to the idea of prompting that you mentioned in a previous post.

Trific
Fast Inserter
Fast Inserter
Posts: 145
Joined: Thu Dec 31, 2020 7:57 pm
Contact:

Re: Almost identical blueprints

Post by Trific »

SoShootMe wrote:
Wed Feb 10, 2021 5:21 am
Trific wrote:
Wed Feb 10, 2021 1:30 am
If this isn't the proper part of the forum, then where is?
Combinator Creations was where gGeorg was suggesting. But here also seems fine, to me at least.
Ah, well, I figured that was for stuff that was finished that people wanted to share/show off. Not stuff that people need help with.
A description/explanation of what the blueprint you posted does (or is intended to do) would make it easier for people to offer help/advice: the overall concept(s) and the meaning or function of key signals and combinators. (Also, there's the fact that the act of explaining often causes solutions to become apparent in itself.)
Do descriptions not transfer in blueprint strings? Lemme see if I can copy the description out of the blueprint:

Stations advertise how much capacity they have if there is no incoming train. If the station has as much or more capacity than other stations, the station will open.
i in a circle = how much empty space in the chests
check mark = how many wagon loads of space the station has available
dot = set train limit
red=train incoming
green=train not incoming
A=this stations signal for advertising its capacity
black=this station has no capacity for more trains
I've looked for a few minutes but don't fully understand the logic (maybe lack of explanation or maybe I'm not clever enough to figure it out :)). The only immediate thing is that I would guess the top-right combinator (14k - Stone -> Info) should only see a single input so changing Stone to Each should work, though you may need to consider what happens if there is more than one signal.
The problem with replacing Stone with Each is that when there is nothing in the chests, the combinator outputs nothing instead of the 14k it should. It's possible to get around that with another combinator that tests explicitly for that, but there's not a lot of room in this area between rails and belts. The specific material also helps me to remember to fix that combinator, because the 14k may also not be correct. There should never be more than one signal, if there is, something is very wrong. :P
Trific wrote:
Wed Feb 10, 2021 1:30 am
So, the "max chest capacity", and "max wagon load" also have to be entered based on what the material is.
I don't think there is a solution for this in the base game. There are only a limited number of stack sizes, and eg all (vanilla) ores are the same - but this is obviously back to your original point of almost identical blueprints.

A constant combinator can be a useful way to allow a generic blueprint to be "configured". I think it's as close as you can get to the idea of prompting that you mentioned in a previous post.
The constant combinator would work to specify the "max chest capacity" and "max wagon load" by converting them to signals, but it can't name the train stop, set the station's signal, or the material the station will be accepting. So I'd still be left with the same number of things to mess with, and have used one more combinator to boot.

SoShootMe
Filter Inserter
Filter Inserter
Posts: 475
Joined: Mon Aug 03, 2020 4:16 pm
Contact:

Re: Almost identical blueprints

Post by SoShootMe »

Trific wrote:
Wed Feb 10, 2021 6:47 am
Do descriptions not transfer in blueprint strings?
They do; sorry, I didn't look.
Trific wrote:
Wed Feb 10, 2021 6:47 am
The problem with replacing Stone with Each is that when there is nothing in the chests, the combinator outputs nothing instead of the 14k it should.
Yes, that's true. Another way around it would be to set the top-right combinator to Each * -1 -> Info, and connect a constant combinator with Info=14k to the combinator below (making use of the implicit summing of input signals to the latter combinator).
Trific wrote:
Wed Feb 10, 2021 6:47 am
The constant combinator would work to specify the "max chest capacity" and "max wagon load" by converting them to signals, but it can't name the train stop, set the station's signal, or the material the station will be accepting. So I'd still be left with the same number of things to mess with, and have used one more combinator to boot.
I'd say extra combinators are sometimes a price worth paying for ease of use. But whether that's true in this (or any other) case is a matter of preference, as with most things in Factorio.

gGeorg
Filter Inserter
Filter Inserter
Posts: 392
Joined: Wed Jun 19, 2019 8:06 pm
Contact:

Re: Almost identical blueprints

Post by gGeorg »

add one arithmetic combinator, Attach it to the boxes to Each * 1 output M
then change the 14k - stones to 14k-M output circled I
and connect them together.
That way you normalize any material to M.

Signal A is sent somewhere out of station ?
Where the 14k number came from?


Trific
Fast Inserter
Fast Inserter
Posts: 145
Joined: Thu Dec 31, 2020 7:57 pm
Contact:

Re: Almost identical blueprints

Post by Trific »

gGeorg wrote:
Wed Feb 10, 2021 2:19 pm
add one arithmetic combinator, Attach it to the boxes to Each * 1 output M
then change the 14k - stones to 14k-M output circled I
and connect them together.
That way you normalize any material to M.

Signal A is sent somewhere out of station ?
Where the 14k number came from?
Signal A goes to the medium electric pole next to the combinator that emits it, and from there is sent on a shared wire with all the other stations. The signal also comes down to the middle left combinator where all of the signals are compared to check mark (this station's own capacity). 14,440 is the maximum capacity of the row of chests at 50 items per stack. It would be adjusted for stuff with different stack size, or if there are more chests.

The stations service extremely high throughput facilities, so there are frequently multiple trains bringing in loads simultaneously. The balancing helps to ensure that all of the stations get serviced when production and consumption are highly tuned. In one instance, the available supply of the needed material was only a few percent higher than consumption. Without the station balancers, the station furthest from the available supplies gets shorted until the others fill up. With them, spool up on the facility goes very smoothly, and reaches full production very quickly.

gGeorg
Filter Inserter
Filter Inserter
Posts: 392
Joined: Wed Jun 19, 2019 8:06 pm
Contact:

Re: Almost identical blueprints

Post by gGeorg »

Trific wrote:
Wed Feb 10, 2021 6:57 pm
Signal A goes to the medium electric pole next to the combinator that emits it, and from there is sent on a shared wire with all the other stations.
So the each station of a yard has own signal. A,B,C, ... .
Then a StoneDropOff yard sends A,B,C also CopperDropOff yard sends A,B,C. What do you do with those signals?

hidden_relic
Manual Inserter
Manual Inserter
Posts: 2
Joined: Thu Feb 11, 2021 10:54 am
Contact:

Re: Almost identical blueprints

Post by hidden_relic »

Is it possible to just add a constant combinator, with every signal/value that you use in your setup, to the one train unloader blueprint, then remove the signals that you won't use at that station when you stamp the BP? In different situations, I find myself using constant combinators with arithmetics for all different scenarios. I will wire requester chests of similar assemblers/recipes together with 'Set Requests' ticked, a constant combinator with signals of what I need at a value of 1, plugged into an arithmetic with Each * 1000, or whatever I may need at the time.
Your stone value is 14,400, but your copper plate value is 28,800? Set a stone signal at 144 and copper plate at 288, wired in with Each * 100, drop the BP down and change stone to 0 or with the swish of a right-click, remove it altogether.

Trific
Fast Inserter
Fast Inserter
Posts: 145
Joined: Thu Dec 31, 2020 7:57 pm
Contact:

Re: Almost identical blueprints

Post by Trific »

gGeorg wrote:
Thu Feb 11, 2021 11:20 am
Trific wrote:
Wed Feb 10, 2021 6:57 pm
Signal A goes to the medium electric pole next to the combinator that emits it, and from there is sent on a shared wire with all the other stations.
So the each station of a yard has own signal. A,B,C, ... .
Then a StoneDropOff yard sends A,B,C also CopperDropOff yard sends A,B,C. What do you do with those signals?
The signals aren't global, just local to the resource patch or factory. For instance, a single fully beaconed wall assembler will consume a wagonload of stone brick in about 35 seconds. To gang several together to share the beacons, there needs to be a lot of trains delivering a lot of brick constantly. If I have ten stations that can be used simultaneously, some will have a slightly longer path for the pathfinding, and end up with a shortage of brick while trains constantly dump in the slightly closer stations that haven't filled up yet.

Stations that don't have an incoming train advertise their capacity, and as an example, a station that hasn't had a delivery yet will advertise a capacity of seven trainloads, while one that just got dumped on will advertise six. So you might have an advertisement of A=6, B=7. A will look at that and say, "I have capacity of six trainloads, but there is a station that has more, so I will stay closed." B will look and say, "I have a capacity of seven, and no station has more, so I will open." If a train then fills and selects B to dump at, B knows a train is incoming, and stops advertising. Then there is only A=6 on the wire, and A will open because there is no station advertising more capacity.

So in the case of my ten stations, when I first open the wall facility, A,B,C,D,E,F,G,H,I, and J are all advertising 7, and all will open. The ones towards the front will get dumped on, and then close until all of the stations advertising 7 have an incoming train. Because a station stops advertising its capacity as soon as it gets a train assigned, there is never the situation where everything is 6 except for one 7, and the 7 stops the 6's from opening until it also falls to 6. Assuming I have sufficient brick production and brick trains, the chests at the station will slowly fill evenly, allowing the wall facility to be up and running at full production very quickly. There isn't really a big issue with this on the output side, but once a facility is up and running and filled its outgoing chests, if capacity at any station falls to five or less, I can alert that and know that demand is outstripping production well before stuff runs dry.

Up to now, the most signals I have used in a single facility is 17, but any signal can be used except the check mark, so I don't anticipate running out of signal space soon. I may in the future run global capacity signals, but they will be isolated from the internal facility signals.

gGeorg
Filter Inserter
Filter Inserter
Posts: 392
Joined: Wed Jun 19, 2019 8:06 pm
Contact:

Re: Almost identical blueprints

Post by gGeorg »

Trific wrote:
Thu Feb 11, 2021 9:20 pm
So you might have an advertisement of A=6, B=7. A will look at that and say, "I have capacity of six trainloads, but there is a station that has more, so I will stay closed." B will look and say, "I have a capacity of seven, and no station has more, so I will open." If a train then fills and selects B to dump at, B knows a train is incoming, and stops advertising. Then there is only A=6 on the wire, and A will open because there is no station advertising more capacity.
I see. Now I understand your system. It is possible to do it this way. Beauty of Factorio is, there is no correct way how to play it. :idea:
You might do it diferently to avoid current issues or accept the challenge.
Here is an idea I use, it does not need any advertisement, therefore all the stations can be the same b-print.
https://imgur.com/a/qd9AslE
Train routing
On the first screen you see a IronDropOff yard. It consist two stations with the same name IronDropOff and a stacker.
Both stations are set to train limit 4.
8 trains are delivering (route is two stations Pickup [some_number] and DropOff , all the trains are delivering to one name DropOff),
in this moment 5 trains are heading to the name "IronDropOff", 3trains are heading somewhere else.
On the second screenshot you see the traffic lights split. It means, all the full train are waiting in the stacker until one of the stations is available. When one station has no train, one of the full trains slides in. Nice thing is, even if a train was originally heading to the station IronDropOff [1] ,it auto-switches to any available station, IronDropOff [2] in my case. Therefore no need advertisement of empty capacity, all the relevant trains are waiting ready to unload when needed.
Station capacity
Requirement is yard provide continuous supply of material. Instead of storage boxes (common solution) here is continuos unloading station model. It unloads first train, then immediately second, then immediately third and so on. Only one train is unloaded any time. Simple flip-flop circuit does the job. This way there are no buffer boxes needed. Therefore no need to count buffer.

Post Reply

Return to “Gameplay Help”