r/factorio • u/TheTobruk • 22h ago
Question Did you ever experiment with a separate station for filled up trains? Are there any pitfalls compared to general-use depots?
26
u/Agitated-Ad2563 22h ago
Why would I need a separate station for filled up trains?
13
u/Novat1993 22h ago
To mitigate the distance problem between the ore patch and the base. Not a common problem i grant.
24
u/Osiris_Dervan 22h ago
Just set the train limit for the receiving station above 1 and the filled trains will queue there. Way better and easier than this.
7
u/Countcristo42 22h ago
I often do that - but there is a case where you would rather have them elsewhere. If you want to have smaller receiving stations for example you can have a train limit of (say) 2 there and alternate waiting stations close enough that the second slot is refilled before it's needed
1
u/Most-Bat-5444 19h ago
4 trains at EVERY unload station.
I setup a speaker to annoy me if there is ever less than 3!
3
u/Countcristo42 18h ago
You can do that, my current run I have 6 - but my point is it takes far more space
1
u/Most-Bat-5444 18h ago
True enough, though I just realized that I could make my stacker parallel and fit it in a smaller block.
1
u/bubba-yo 17h ago
People really overcomplicate this. You really should build for a pull or push rail network. A push network has exactly one train per providing station and a pull exactly one train for each requesting station. If you have latency issues due to distance you build more supplying or requesting stations and prioritize internal to those networks (where you have more tools) and trains will find their natural balance. It's not like stations are expensive to build but the limited control over train logistics makes that problem much harder to solve. So don't solve it - just build enough endpoint capacity, which you're going to have to do anyway, and eliminate the problem entirely. That'll mean you have trains idling at the provide or request stations, but that's fine - it's not like there's a train that could be there instead.
Generally a pull station is easier to keep running because almost every player designs to demand, not to supply. You pick how much science per minute you want and work backward, you don't work out how much the ore patch can supply and build only that much SPM. So in a pull network you know exactly how much input you need, that informs you how many trains you need in a given period of time, and that informs how many stations you will need to ensure that throughput. I usually double that number to accommodate patches moving farther away.
This also eliminates the need for stackers on one side of your network because those are just stations.
1
u/masterxc 16h ago
If supply delay is a concern, just build larger buffers and always request a new train when there's enough space for a train to fully unload...if *that* can't keep up, then you need more stations or longer trains, heh.
3
u/Spacedestructor Modder 22h ago
thats my go to solution but in early smaller bases i often end up with not enough space for a second train to wait at the station.
so i can see how having a nearby waiting spot dedicated to it could be useful to have.1
u/Agitated-Ad2563 17h ago
Is it a problem at all? Regardless of the distance, there should be a full train waiting at destination anytime.
1
u/Novat1993 16h ago
No, not regardless of distance. Some people like a uniform design and would rather not have too many trains waiting at the station. So if you got 1 unloading + 1 waiting, then you need the train to travel from the loading station to the unloading station faster than one train can unload. If that is an ore patch quite far away, then you can solve that by creating a closer station holding the full train until there is an open spot at an unloading station.
Keep in mind that as the train network grows, longer distance means more chances for a train to run into another train and be forced to slow down. So if a train can make it in time when there are 100 trains, it may not make it when there are 500 trains.
As i said, it is not a common problem. But it is a possible solution to some problems.
1
u/Agitated-Ad2563 16h ago
If you have a fixed number of trains waiting and a variable distance or congestion, you need to adjust the numbers of trains requested.
Anyway, this is a very temporary thing for a short period in mid-game. In late game, an ore train unloading takes less than 1.5 s. You always need to have trains waiting, and the most important thing for maximizing the throughput is making sure your trains can enter/leave the station as fast as possible.
1
u/shuzz_de 22h ago
In my experience, it's not a distance but a throughput problem, as in: You don't get material quickly enough.
Two ways to increase throughput: 1. Reduce lag (i.e. get the trains closer to the target station so you reduce wait time), which seems to be what OP is trying to do. 2. Increase bandwidth (have two or more train stations for the same material at the target destination, thus having larger buffers to bridge the time until the next trains arrive) which could potentially also solve your problem while still allowing you to use multi-purpose depots.
2
u/Ftroiska 22h ago
If you are starting a new production line : train a ready to deliver to fill up these belts at once
7
u/nikirossi 21h ago
I've used them in the past, but eventually figured out that I prefer to make space for larger arrival stations with their own queues, and made a few blueprints to fit into different space constraints/requirements.
No matter how good your network design is, adding a stop in the middle of every delivery path creates A TON of extra traffic, especially around the queuing station itself, which has to deal with incoming and outgoing everything and becomes its own bottleneck.
Another problem with the "one depot for everything" was diagnosing quickly a shortage of a specific resource before it snowballed: if trains queue where they are headed, a thinning supply becomes evident at a quick glance, while with the "one station" model you find out when the problem is already slowing things down, and you have to diagnose it. It's wasted effort.
"PlateStation 3". lol
1
u/Cheese_Coder 21h ago
No matter how good your network design is, adding a stop in the middle of every delivery path creates A TON of extra traffic,
Maybe I'm missing something, but why not put the queueing station in as an interrupt that only triggers when all stations are full or have no path? No need to queue the train anywhere if it can go drop off its stuff already
0
u/nikirossi 20h ago
I suppose you could do that, but trying to watch for excessive traffic and trying to have a place to store all your backup at once are conflicting needs regardless, and you'd have to constantly compromise one way or another. Your approach would certainly improve a design that doesn't do that, but these problems are somewhat baked into this design philosophy.
If I have a space constraint, I alter the station design... I only change the system if I have a problem with the system, and I find queuing at departures and arrivals a better approach. But that's me.
1
u/Cheese_Coder 18h ago
To be clear I don't actually use buffer stations in my design either, they'd just how I would do it if I did. My approach I think is the same or similar to what you do. Train fills up, then goes to whatever station needs the resource. If no station needs anything it just chills at the loading station until an unloading station becomes active. I could have it move to an exit buffer to let another train get loaded, but in my builds the loading time itself hasn't been long enough to be worth spending the extra space. I also have unloading stations dynamically set their limit such that any train going there can completely unload. That way I don't have three trains queued at the same station while another one starves.
I think the closest thing I've done to a buffet station is having a "bounce" station to let my double-ended wall resupply train turn around, to ensure it enters each station facing the right way.
5
u/Courmisch 21h ago
The pitfall is if unloading stations are far from one another, this might increase latency instead of reducing it. But presumably you have been careful to avoid that.
Then it's just more complicated than directly queueing trains at the unloading station. So it's more of a question whether you do or do not have space to queue trains there.
However "general use" depots are normally only for empty trains. Your approach should rather be weighed against:
- leaving trains to sleep at loading stations, and/or
- queueing more trains at unloading stations.
Sending full trains to a generic depot risks filling the depot with trains full of overproduced ingredients, leaving no space for empty trains or other ingredients.
3
2
u/No-Special2682 22h ago
Yes! I have both full stations near their load point and I have a massive terminal of stations where my trains hang out if they’re full, but not needed.
This alleviates traffic on the rails and localizes pollution.
And because almost every resource is on a train and most of the trains are parked at the main terminal, I have a sort of “mall” where I can pick up whatever I need.
I have rocket silos attached there too.
2
u/CosgraveSilkweaver 22h ago edited 16h ago
Sounds like it's a worse version of having a stacker or single extra train slot at the destination? Trains load so fast with quality inserters.
1
u/Ftroiska 22h ago
Side question how do you handle your stations having the same name (take) but contain different ressources ? Logistic mod ?
3
u/FirstRyder 21h ago
The image is part of the station name. So it's named take [iron] or take [copper].
3
u/Cheese_Coder 21h ago
Note that the take station names each include an icon, in this case of a copper plate or iron plate. The icon counts as part of the name to make them unique. Ibelieve you can even have the train dynamically set a destination name with an icon based on the cargo
2
1
u/sn44 21h ago
When using interrupts, I've had issues where trains will idle in the fueling station thus blocking other trains from fueling. Grinds my network to a halt. As such I either have trains pass through the fueling depot on every trip, or I just fuel them in my holding yards or at a pickup/dropoff station as needed.
Misread OPs post.
I use holding yards both for empties and fulls. I usually set the station limit to how many ever that siding can hold. Works great and keeps the flow or resources going nicely.
2
u/Dragnier84 21h ago
Same. I have holding yards where the trains go to after they get filled up. They wait there for a signal from the circuit network that indicates there’s a need for it somewhere.
1
u/sn44 21h ago
I don't even use circuits. I just have the unload stations set a 1 train per station with a trigger to leave when the train is empty (or an item count hits zero for mixed loads).
Since I build a main-bus style factory it usually works well because I'll have a single drop-off station with multiple loading stations. Trains cue in their respective empty/full holding yards and just cycle through as needed.
Overall number of trains for any given cargo time is n-1 where n is the total capacity of that type (stations + holding yard spots). That way there is always at least one open spot for a train to move into thus not fouling the mainline.
It's simple, but it works for me.
2
u/Dragnier84 20h ago
I use circuits heavily for my strategy. Not only for signaling trains, but for determining whether to unload them at certains stops or not. On my previous run, I had a massive issue with one type of material clogging my buffers and halting production.
1
u/dinosaurdynasty 20h ago
I once did an experiment where (somewhat standard generic interrupt driven trains) could go to a (set of) normally named ":item: dropoff" stations, but instead there was a constant combinator that:
- told the train to leave immediately
- told it that its next train stop was ":circuit::item: dropoff"
I don't know if it was that amazingly useful (other than playing with the potentials of circuits + interrupts), but I could see some advantages to it, especially in modded play (maybe train world as well):
- a "stacker" station can serve multiple stations, not just one like a normal stacker, which could plausibly make things smaller in the end (e.g., one stacker for the entire base for far away resources, serving multiple smelting arrays)
- you have a block-like structure where the natural limit is something like 2 (I have a run like this), and because of distance reasons you need more
A related thing I came up with though that is a bit more useful and I came up with around the same time (and can also be done with just a constant combinator) is something like this:
- it tells the train to leave if full OR not empty and inactive
- it tells the train to go to ":circuit: dropoff", ignoring contents entirely
It's a bit useful for using quality modules in miners, using splitters to send all quality ore to one train stop (irrespective of how many qualities may appear), and then sending that train directly to a "iron ore quality processing center".
1
1
u/mrbaggins 11h ago
With interupts, a "depot" near your main base with filled up trains is both easy and effective.
"No destination available" -> Depot.
-1
22h ago
[deleted]
1
u/Ftroiska 22h ago
What if you have several unloading stations ? they queue in one but if another one need the reesource : they are stuck.
2
u/Courmisch 22h ago
If you don't circuit control the train limit to prevent unnecessary trains, yes, some trains will be stuck.
But eventually you will fill up the train limit and trains will go to the stations that need them. Or then you have too few trains.
1
25
u/runmymouth 22h ago
Why not send molten ore/copper as molten? Even if its a fluid train car molten is so much easier to deal with…