Factorio Designs and Tutorials - Smart Train System
Here I explain and build from scratch one of my smart train system outposts for my One Per Minute Factorio Series.
My train system works as follows:
Each train for a given resource has exactly the same schedule, making it easy to add more trains, and less hassle to add more outposts.
Trains will path to the closest available outpost of their resource. If that outpost already has some number of trains queueing in its train stacker (in my example, 1 train currently being loaded and three waiting), it will then re-path to the next closest station to avoid trains backing up the main network.
As the resources at an outpost begin to dwindle, the station will automatically shut down the train stacker one siding at a time to avoid trains waiting for too long before they can make it back to base.
If an outpost becomes unavailable due to lack of resources, or being full, while a train is en-route to that outpost, the design includes a bypass lane for the train to return to the main network and re-path.
At the base unloading station, there is a smart stacker which will compare wanted vs actual resources contained in the logistics network, and will dispatch trains one at a time as and when they are needed. wanted amounts are configurable, as is the clock time between trains getting dispatched.
See my Factorio: One Per Minute series to see the design in normal use.
---------BLUEPRINTS:---------
-----OUTPOST:-----
https://pastebin.com/e6wRxHu7
Note: This design includes a scroller at the bottom which - if built - will tell you the schedule for the trains. The scroller is not part of the design itself and is mainly included because I got a bit carried away. You can modify the blueprint to exclude this if you want. The scroller is a more compact version of the scroller I have in my own base, but is not customisable. I have another video planned which will contain the blueprint for my scroller once I work out a bug or two.
The train schedule for trains visiting the outpost should be:
- WAITING
--until 1 second passed
- OUTPOST
--until inventory full
--OR circuit A=0
--OR inactivity 10s (optional)
- UNLOADING (back at base, whether that be my omni-station or your own design)
-----UNLOADING:-----
https://pastebin.com/zaMdHPvV
Note: I got less carried away in this one. Train schedule is signified by a bunch of constant combinators.
- PARKING
--until time passed = 2s
--AND circuit B greater than 0
- UNLOADING
--until inventory empty
There are three const. combinators that are a major part of the design. One tells the system how much of each resource you want to have in your logistics storage system, one tells the system how much time (in game ticks) you want to wait between sending trains out (default 600 ticks or 10 seconds), and the other allows you to set the request for the refuelling requester chests (default = 3 nuclear fuel) - exchange for wood, coal, solid fuel, etc as necessary.
When setting the wanted amounts, you should use the following signals for each resource type:
Raw Wood - W signal (unlikely you'll need this, but it's there)
Coal - O (letter, not number) signal
Stone - S signal
Iron Ore - I signal
Copper Ore - C signal
Uranium - U signal
Fish - F signal (if you use this one you're probably as mad as I am)
You should also note that if you do not have a separate system for delivering sulfuric acid, the blueprints and train schedules above will need to be modified for uranium trains.
This system could theoretically be expanded to work with Crude Oil and Water too, but I have not done so. My system simply delivers as much of each resource as it can to fluid storage tanks, and there is adequate queuing space for the number of trains I have to avoid things backing up and stalling the main train network.
Questions and/or comments welcome, I will try to reply to anything.
Game Link: http://store.steampowered.com/app/427520/Factorio/
Twitter: https://twitter.com/minibetrayal
Other Videos By MiniBetrayal
Other Statistics
Factorio Statistics For MiniBetrayal
MiniBetrayal presently has 889,113 views for Factorio across 227 videos, with His channel uploaded over 5 days worth of Factorio videos. This makes up 37.27% of the content that MiniBetrayal has uploaded to YouTube.