Factorio Designs and Tutorials - Smart Train System

Поделиться
HTML-код
  • Опубликовано: 19 авг 2018
  • 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:----
    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:----
    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: store.steampowered.com/app/427...
    Twitter: / minibetrayal
  • ИгрыИгры

Комментарии • 53

  • @evanbauer7972
    @evanbauer7972 Год назад +3

    I love that I actually understand what’s happening. It’s complicated, but after toying with my own train circuit network system, it makes sense.

  • @TM-cm4gb
    @TM-cm4gb 4 года назад +48

    still trying to figure out how to do 2 rail crossing signaling here ^^

    • @alanwatts8239
      @alanwatts8239 4 года назад +2

      He has an awesome tutorial on trains, check it out c;
      There are time stamps on the video so that you can find what you want to see.

    • @1ricky4dias7
      @1ricky4dias7 4 года назад +1

      One really simple way to look at it is: Chain signal when the train is gonna enter a intersection and normal signal when it comes out. From there you'll understand it better

    • @Giofear
      @Giofear 4 года назад +1

      Don't learn from this video then, he got it completely wrong. Or at least very unnecessarily.

  • @hikari5647
    @hikari5647 4 года назад +41

    Everyone: it is so easy to set up a circuit network, you just connect a couple of wires and give it a few conditions. Easy peazy.
    Minibetrayal: We're going to need 5 combinators per lane, plus three for the first one, for a total of 18, and then we'll be done the parking lot. The piickup lane is a whole nother beast, but wait till I show you the dropoff lmao.

  • @ryanhamstra49
    @ryanhamstra49 2 года назад +1

    My favorite outpost was 3 copper deposits super close together set up like this, feeding into requester chests and a whole mess of electric furnaces, then feeding into my 8 car train station with 6 requesters on each side of the cars to be able to fill them as fast as possible. I had 2000 bots for that one area and when the train would pull in it would use most of them. It was beautiful to watch the bots scurry around in the map

  • @korturas9084
    @korturas9084 4 года назад +1

    I spent hours lastnight trying to make 5 stations run on my single-track network after watching your train Basics vid, then gave up and made it double-track. Today I watch you make THAT massive network function? Wow. Just...... Wow!

  • @renevanwijk9653
    @renevanwijk9653 4 года назад +1

    mini your a genius. I love the players that absorb the whole game and try or do creat a context that is absolutly BRILLIANT.. i have to push to schoolbench again
    math and logic rerol. Then i can master this game. great kontext and great video..keep up

  • @Stinkys8050
    @Stinkys8050 4 года назад +2

    Clear as mud.

  • @Glade8ter
    @Glade8ter 5 лет назад +3

    very interesting. thank you. This might be the solution i need.

  • @sirburns1825
    @sirburns1825 3 года назад +5

    That moment when you remember all the logic you learned in IT Class

  • @PaulHobbs23
    @PaulHobbs23 4 года назад +1

    Very nice setup. I especially like your omni dropoff method.
    I'm currently working on a modular trainworld base, so omni-dropoff isn't necessary, but I think I'll take some inspiration from your supply parking lot logic. I'm making some improvements to the HTN design (Haphollas Train Network).

  • @harumessu626
    @harumessu626 4 года назад +1

    @MiniBetrayal Can you post an updated version of the blueprints?

  • @MrDrury27
    @MrDrury27 4 года назад +4

    The all-important fish train subnetwork.

  • @dutchymcdutch2553
    @dutchymcdutch2553 4 года назад

    Does anybody know it these bleuprints still work? I just plopped the loading station down in game but there is a whole row of arithmatic combinators that doen't look like they are attached to anything.

  • @hayzersolar
    @hayzersolar 4 года назад

    now that is a old school s/r latch. new school is one decider with input hook to the output. so if the incoming signal is on a red wire then the decider input and output is green.the input/output wire has to be the opposite color.just a simple way for a s/r latch

  • @Flippy042
    @Flippy042 3 года назад +2

    Me: I'm producing too many gears... let me put an inserter at the end of the line to collect extras into a chest.
    MiniBetrayal: I used logic systems to build a computer within the computer to run a train schedule.
    Me: .......... Oh I see.

  • @guildarius
    @guildarius 4 года назад

    just wow.

  • @misterfister8641
    @misterfister8641 4 года назад +1

    Question -- I sometimes run in to issues where gross-total freight on hand is sufficient to fill a train of a certain size, but this gross-total can mask the fact that once wagon-bank of chests contains insufficient freight to fill that specific wagon. Thus, a train will be invited to sit at the loader until full, but that train will not be full once that wagon-bank of chests is depleted prior to its wagon becoming full.
    Thus, I run each wagon-bank of chests (both sides of the train, so all 12 chests) through a decider combinator which assesses if that segment of chests is sufficient to fill a single wagon, to the exclusion of any other chests at the station. If the bank is sufficiently full to fill a single wagon, it outputs a signal that my master-deciders can sum, and if that sum is correct for the length of the trains being used, *then* it'll consider itself available for a train to visit. (Layering deciders at each wagon-bank can therefore allow me to quantify if multiple trains can be serviced, with the master-decider checking for entire-train sufficiency for each trainload reported to see if it equates to a further train.)
    My question is: Why am I the only one to do this? Belt-loaded stations can be balanced with belt-balancers, and even *they* can become imbalanced between train wagons. Bot-loaded stations don't even have that layer of balancing function. I personally run into balance issues consistently enough across various savefiles, and often enough within any given world, for me to remain entirely convinced that either other players address this issue by some other means that I cannot observe, OR that they are aware of the issue and affirmatively choose to ignore it. (In other words, I am quite skeptical of any person responding along the lines of the issue not happening to them.)

    • @MiniBetrayal
      @MiniBetrayal  4 года назад +3

      Its not a bad idea. This particular video was made a while ago now and if I revisit this topic I'll definitely be addressing wagon balancing by some method.
      As a low-effort, not-putting-too-much-thought-into-it answer, I'd be inclined to actually use circuits to set the requests on the chests (more thoughtfully than i did in this video). That way, you could force the bots to do the balancing for you. Your way should work, but I think it could slow things down if some chests are being filled to capacity before others. I'd have to think more about it.
      To answer why people don't bother: I think it's probably because while unbalancing does happen, it happens seldom enough (for most people) that a manual fix is fine.
      Good point though, especially in a game about automation!

    • @NextChapterRapper
      @NextChapterRapper 4 года назад

      The answer is your trains are totally gross.

  • @devi0121
    @devi0121 4 года назад

    this is fucking bonkers and my head hurts.

  • @Baer1990
    @Baer1990 2 года назад

    but for number of trains requested, isn't it easier to divide "coal in chests" by "coal that fits in train" ?
    because the decider will only output the lowest whole number right?

  • @KG_Grandpa
    @KG_Grandpa 2 года назад

    hello Minibetrayal hope you read this, copyed this train station in my map and friends and i have a small problem. the waiting ore for 2 rtains wouldnt go open if ther is only 1 A on the wire. Help!!!

  • @tomwaligorski9882
    @tomwaligorski9882 4 года назад +3

    I have a problem with the design. I didn't follow yours exactly but it's still very similar: it counts how many trains it can tender and enables as many waiting stations that become disabled once they have a train in them. However, I find the trains do not repath if every waiting station is occupied - as they should - but rather just try to go straight to the filling station through the waiting station(s) without stopping at them and without caring there's already a train there. I have no idea how to fix that without making it massively complicated by requesting trains from a central parking and at that point I could just download LTN

    • @TrabberShir
      @TrabberShir 2 года назад

      Did you ever solve this? It sounds brilliant except for that detail. If a train cannot find an active station with the next name in it's schedule, it skips that station and tries to continue to the next. So, this system should develop the failure mode you describe any time that all waiting stations are off. If that is your root cause I guess the solution is to never have more trains than active outposts, but that sounds like a waste, not to mention it seems to defeat the entire purpose of the system.

    • @tomwaligorski9882
      @tomwaligorski9882 2 года назад

      @@TrabberShir I got a bit tired of playing since I ran into that design problem lol but luckily 0.17 solves it perfectly for us! It adds a circuit condition to a train station so that said station can specify how many trains it wants. So the design would be that you just build the train counter and hook it directly to the station. That way the train station can say that it wants 3 trains and so only 3 trains will path to it. It means that you can have one big stacker with trains going from dropoff-waiting-pickup-waiting or whatever and only going when they're actually needed without clogging the lines since only as many are sent as are needed at any time

  • @georgelaxton
    @georgelaxton 4 года назад

    I’m so lost, I have the same set up in regards to the T SR latch but my train station refuses to send a T signal even though a train is there. If I use a constant combinator i can turn the latch on and off but the station refuses to send any signal. HELP!!!

    • @heyl9580
      @heyl9580 4 года назад

      Train has to be in automatic mode

  • @ShadowViewsOnly
    @ShadowViewsOnly 3 года назад

    6:15 Why are you blocking the intersection with those chain signals in the middle of the intersection?

    • @MiniBetrayal
      @MiniBetrayal  3 года назад

      It separates the rail blocks on the eastbound and westbound tracks, so trains not entering the station can progress past the junction without stopping for a train going other way

  • @MrBlitzpunk
    @MrBlitzpunk 4 года назад

    Can you do a tutorial video on the Logistic train LTN mod? Apparently after 150 hours in the game i still can't figure out how to do train lol

  • @kitsukeita
    @kitsukeita 4 года назад +2

    If there wasnt any waiting station, the trains would just park themselves up there anyway since the next block is big enough to encompass the loading station.

    • @gemstonegynoid7475
      @gemstonegynoid7475 4 года назад

      the whole set of 3 waiting lanes would still be used?

    • @kitsukeita
      @kitsukeita 4 года назад

      ​@@gemstonegynoid7475Just one, also depends on the signaling.

  • @lludd99
    @lludd99 4 года назад +4

    A really nice setup, although you could use more arithmetic combinators to simplify your logic, you relay too much on deciders

    • @MaLuS25
      @MaLuS25 4 года назад

      i agree the logic could be simplified to get the same behavior

  • @danieljerke980
    @danieljerke980 4 года назад

    Hi
    I very much enjoy your confusing tutorials - noob in circuit sorcery here- but is it possible that they changed something for 0.18? It does not work for me *sob

    • @danieljerke980
      @danieljerke980 4 года назад

      Never Mind i figured it out. For some reason the blueprint you have uploaded has an error. In the waiting section there is red wires missing from the rail signals before the three stations. It also gives me an error message while importing the blueprint string:
      error while importing string:
      unknown item name: science-pack-1
      unknown item name: science-pack-2
      unknown item name: science-pack-3
      did they possibly change these names through an update?
      anyway, i got it to work by reconnecting the rail signals right before the waiting stations.

    • @MiniBetrayal
      @MiniBetrayal  4 года назад

      Good job! And yes, while the theory behind this video is still sound, there have been significant changes to the game since it was made (such is the nature of early access games), including the science pack names and how blueprints are imported. There will be future videos with updated information at some point.

  • @AGWittmann
    @AGWittmann 4 года назад +1

    I think, i did lose my brain somewhere on the way to the new outpost ... buhuu, im stupid ...

  • @kowy_m
    @kowy_m 4 года назад +1

    I wanna do my own setup ! A stack of wires will be enough ? I've seen u'r wire and it's big NO NO NO todo it myself ! u are asking about QUESTIONS )))

  • @spiritkid9109
    @spiritkid9109 4 года назад +2

    I'm looking through this video as a solution for generalizing my train network and I see a problem - what happens when you don't have enough open WAITING stations for the number of dispatched trains? It looks like they just set the OUTPOST station as the next destination and try to skip the WAITING stations, resulting in Bad Things™. Tbh the solution might just be "get more outposts, get enough outpost throughput to support that many trains"?
    Edit: thought of a potential solution. You'd have to connect the circuits up all the way from load to drop, but you could transmit a signal saying how many WAITING stations are open for each type of resource and have the drop force them to wait, or in your case have them wait at the PARKING stations until the number of WAITING stations is over 0. You'd have to then use an SR latch when that train leaves the station to decrease the count of available WAITING stations by 1 until the train returned, so that it takes into account trains that are in-flight but haven't reached a WAITING station. I think this way you can have the total number of trains seeking WAITING stations always be lteq to the number of open WAITING stations.

    • @NextChapterRapper
      @NextChapterRapper 4 года назад +1

      I'm going to classify this as a brag by pure conjecture. You lost me at "I'm".

  • @mordan727
    @mordan727 4 года назад +1

    I think you over complicated your stacker. You can have your circuit counter that you have at each train only once. You can then have each station read train and output to a D-combinator. with an A-combinator beside, you can have it logically add 1 for each train coming down the line so each tick only send 1 train of the type you need. The side effect of this is that it can be connected to your main circuit for outposts, allowing you to not have to name them a,b,c ect and have the system count how many trains are going to each outpost and have them cycle through each when they leave the empty station. You can mitigate having to do wait stations this was as well as each outpost will only get a train if it needs it and there's no extras going. To combat an outpost becoming empty and therefor to many trains on the network, you just need a parking lot (stacker) anywhere. At the other end of the stack is a single track with 1 of each outpost train stops. Have them turn on when the request is less then the number of outposts. You can automate that number if you want as well by having a signal from each station when on vs off. There's more to making it tighter and more efficient, but I can ramble forever. I do like your setup though. Got me thinking of other idea's. :D

  • @DRY411S
    @DRY411S 4 года назад

    Is there not a risk with this design that more than one train could start off towards a destination, the first one would get there, start loading stuff, cause the station to close, and then the other train would start to 'no path' if it could not find a route to the next station in its list of destinations?

    • @MiniBetrayal
      @MiniBetrayal  4 года назад +1

      Each station has a loop to allow trains to re-route in this occurrence.

    • @tomwaligorski9882
      @tomwaligorski9882 4 года назад

      I found that even though theugh all waiting stations were disabled trains would still try to go to the loading station - effectively bypassing the waiting station entirely. I could have done something wrong as I didn't follow the tutorial exactly but idk

  • @dkvanilla4106
    @dkvanilla4106 3 года назад

    by watching this video, i learned that im stupid.

  • @berk1738
    @berk1738 3 года назад

    Im lack of neurons

  • @NextChapterRapper
    @NextChapterRapper 4 года назад

    You lost me at hello.