Faith
Faith
  • 23
  • 70 493
Parametrising Blueprints and Interrupts To Improve My Logistics Train Network
In this video, I showcase how to use parametrised blueprints and interrupts to massively improve on the design of the generic logistics train network from the previous video.
I thank the comments on Reddit and UA-cam for helping out with these!
Save file link from the previous video: drive.google.com/file/d/1Z29sYlQmvibadf02e9Ck3mGrJBWNs-mh/view?usp=drive_link
00:00 - Intro
00:48 - Faster Train Cycling
01:50 - Easier Expansion of Depots
02:59 - One Interrupt To Rule Them All
06:33 - Handling Different Train Sizes
14:33 - Parametrising Blueprints For Ease Of Use
16:51 - Showcasing The Parametrised Blueprints
19:33 - How To Parametrise The Depot Stops
20:11 - Conclusion
Переглядів: 11 232

Відео

Designing an LTN-style Logistics Train Network in Vanilla Factorio 2.0 Using Interrupts
Переглядів 36 тис.21 день тому
In this video, I design an LTN style logistics train network in vanilla Factorio 2.0 using the new generic interrupts that were introduced with 2.0. !!!WARNING!!! Below is the save file link, but one person in the comment has reported that it breaks Factorio Space Age on Linux (Windows is fine, multiple people have said it worked for them). Save File Link: drive.google.com/file/d/1Z29sYlQmvibad...
How a 33% headshot ratio IMMORTAL player plays VALORANT (with notes)
Переглядів 2,7 тис.3 роки тому
Source: just trust me bro jks heres my tracker: tracker.gg/valorant/profile/riot/Faith#aimer/overview Sensitivity: 0.135 @ 1600 DPI Resolution: 1920x1080 Subscribe to my twitter: Faith_OCE Follow me on twitch (might start streaming soon): twitch.tv/faith_oce
Demolishing IMMORTALS and RADIANTS in VALORANT
Переглядів 3603 роки тому
ADS is GOATED Rank: Immortal 3 Sensitivity: 0.135 @ 1600 DPI Resolution: 1920x1080 Might start streaming more often, so follow me on twitch! twitch.tv/faith_oce
"omen please touch some grass"
Переглядів 3043 роки тому
Valorant clips and highlights from OCE and SEA. Rank: Immortal 3 Sensitivity: 0.135 @ 1600 DPI Resolution: 1920x1080
Aiming like NV yay got me accused of CHEATING in VALORANT
Переглядів 7 тис.3 роки тому
Rank: Immortal 3 ~250rr Sensitivity: 0.135 @ 1600 DPI Resolution: 1920x1080 (except some clips) Song: Feint - Always Here
"damn reyna you're pretty sharp there"
Переглядів 2943 роки тому
Current rank: Immortal 2 Sensitivity: 0.14 @ 1600 DPI
"Sova are you radiant or something"
Переглядів 1203 роки тому
Current rank: Immortal 2 Sensitivity: 0.14 @ 1600 DPI
"omen how tf are you only hitting heads"
Переглядів 1873 роки тому
Sens 0.14 @ 1600 DPI Res: 1768x992 Current rank: Immortal (118RR peak)
"you're just so much better than them bro"
Переглядів 1713 роки тому
Sens 0.14 @ 1600 DPI Res: 1600x900 (some clips in this video use 1280x720 and 1920x1080 too) Current rank: Immortal
This is what happens in my 48.5 headshot % games...
Переглядів 9393 роки тому
Valorant highlights from Immortal OCE / SEA games. Sens 0.28 @ 800 DPI Res: 1280x720 Current rank: Immortal Music: Sewerperson - Day In, Day Out Sewerperson - All Night 1.5
DOT crosshair is the secret to getting one taps
Переглядів 3713 роки тому
Diamond - Immortal OCE game highlights Sens 0.28 @ 800 DPI Res: 1280x720 Current rank: Immortal Music: Sewerperson - New Faces
yayster and Seoldam's crosshair got me to IMMORTAL in VALORANT
Переглядів 10 тис.3 роки тому
All clips are from Diamond-Immortal games in OCE or SEA. DPI - 1600, Sens - 0.14 Music: Resident - Polaroid Powfu - the fire in your eyes keeps me warm
"omen why would you tp there"
Переглядів 793 роки тому
Short compilation of clips from a D3 game today. Will start a twitch stream soon :tm: (ignore tags) radiant,immortal,diamond,ranked,jett,jett radiant,jett 200iq,valorant gameplay,valorant montage,subi,valorant new agent,valorant,valorant montage edit,valorant edit,VALORANT,crosshair,tenz,sens,sensitivity,10000 hours,10000 reasons lyrics,10000 hours of valorant,100 days in,100 days,1000 hours of...
Fragshow #1
Переглядів 1419 років тому
Mayday Parade - Ghosts
cya
Переглядів 429 років тому
cya
1v4 eco clutch
Переглядів 269 років тому
1v4 eco clutch
Road to Global Elite - 3
Переглядів 849 років тому
Road to Global Elite - 3
Cheekiest of cheeky peeks
Переглядів 579 років тому
Cheekiest of cheeky peeks
1v5 ft Faceit
Переглядів 719 років тому
1v5 ft Faceit
Road to Global Elite - 2
Переглядів 329 років тому
Road to Global Elite - 2
Aces4Days♥
Переглядів 699 років тому
Aces4Days♥
CS GO - Road To Global Elite 1
Переглядів 1679 років тому
CS GO - Road To Global Elite 1

КОМЕНТАРІ

  • @fortnitegamer76
    @fortnitegamer76 22 години тому

    I would be really good if you showed how to wire these combinators. Like told us "now plug a green wire from this side of this decider combinator to this side of the arithmetic combinator". It is kinda hard to see what goes where sometimes. I am trying to follow along as I new to this part of the game. Thanks

    • @fortnitegamer76
      @fortnitegamer76 18 годин тому

      I got there in the end. good video thanks for posting

  • @twistedsteel6290
    @twistedsteel6290 День тому

    Can make the clock without the constant combinator in 2.0 by having two output signals for the same variable in the decider where one of them is set to output 1 and the other outputs the input count.

  • @8bit-ascii
    @8bit-ascii День тому

    Got to the point in my playthrough where i would normally revisit an LTN guide, to finish my Train blueprints. With the new update i tried giving it a shot, and looking how others have solved this issue. In some way i expected space age to have a simple system to setup for requester/provider setups, so we dont have to meddle to much with circuits in our blueprints. Either way, your video was one of the best explanations of how one can go about this problem. Some points i don't like about the current implementation vs LTN: - The trains only having a 1 Second window of activation, it seems this would not scale well into large train networks with hundreds of trains. Where I would have 20+ stations requesting stuff, and i already know that they will only get served after 20 seconds. (maybe tighten the clocktimes) - Scaling trains requires manual adjustments, i cant just add a new depot with trains, I have to extend the clock timings for the new trains - It kind off makes me mad that even after this update, we need so many combinators to get this setup running For now I will use your setup and adjust it to my needs, and hope that LTN will see to live for another revision

    • @8bit-ascii
      @8bit-ascii День тому

      didnt watch the newer video but i think it adresses some of the pain points im currently having with the system, well done

    • @farazsth98
      @farazsth98 День тому

      Hey, so a couple things: 1. You can change the 1 second window into a 2 tick window. This system will require at minimum 2 ticks between trains becoming active, so you can cycle through up to 30 depot stations every second. Check out my follow up video for more information! 2. There is a way to automate the depot station placement, but it is a pain to set up and debug. It requires a lot more combinators at each depot station. You'll want to have every newly placed depot station output a "Count" signal onto the global network, which keeps track of the number of total depot stations you have on the planet. Then, each time a new depot station is placed, it can: - Read the global count and save count+1 into a memory cell, which then gives the newly placed depot station it's own unique ID. Use this to set up the tick that the station will activate on. - Use the global count to set the actual clock's maximum amount of ticks it cycles before resetting. - This is the hard part: either plan ahead with your depot stations so that you ***never*** remove them after placement, because removing a depot station of ID X will now cause the next depot station you place to have the same ID as another depot station. Or... - Add combinator setups at every depot station that keep track of the global count. If the count ever decreases by any amount, you loop through every depot station (can be achieved by sending a pulse to the station and having the station send a pulse back when it receives it, use a clock to divide time between pulses). While looping, when you find a station that doesn't respond with a pulse back, you subtract 1 from the unique IDs of every single station after it. Rinse and repeat until all stations respond back with a pulse. As you can imagine, this will require way too many combinators to have a clean setup. It is definitely possible to do, it's just annoying to do, even if you only do it once and blueprint it. The amount of space needed for the combinators already makes it annoying... So yeah.. It's why I didn't go into it in the video, because the explanations would easily be another hour and honestly I'm not sure it's worth it

  • @andreaagostinelli5310
    @andreaagostinelli5310 2 дні тому

    This is very useful. Altough it's not clear to me ho to differentiate between cargo and fluid since all interrupts are shared globally between trains. Dosen't matter if I categorize them between different groups

    • @farazsth98
      @farazsth98 День тому

      @@andreaagostinelli5310 You differentiate by naming fluid stations in a slightly different format (say, add the word "Fluid" in the name somewhere), and then use a separate but identical interrupt for them. Its identical except that the station names in the interrupt would work with the fluid station names. Give fluid trains the fluid interrupt, item trains the item interrupt, and it works out.

  • @solus8364
    @solus8364 2 дні тому

    <3

  • @jamesyang420
    @jamesyang420 2 дні тому

    For a parameterized depot station, here's my idea: say you have 5 spots (technically called stations in game) in a depot, what you can do is to place a constant combinator at each station, but with different numbers applied, which is called M for the same of explanation. For example, let's number the spots as 1-5, and you still have the departure condition set as O=1, but what you do here is to set the M value for each station as 1-5 respectively. The tricky part here though, is to have another parameter N to be parametrizable, and you now do the calculation as K=2*(M-N)+1 to match what you have so far. The whole point is to parametrize N as the "beginning train number" to be modified, so it can be called "What should the first train number in this depot?" or something like that. Basically, the number used in the calculation can be understood as "train/depot spot number". If you place down your first depot starting at 1, which will occupy 1-5, when you place down a second one you can type 6 to be the first "train number" in this new depot. In this way, you can place down however number of depot spots you want without modifying every single station combinator to make it work, as long as there is no overlapped number or any number that is too big. One thing you can also do is to parametrize the clock by having another parametrized constant number L, and set that to be the "total capacity of all depots combined". This is the number that K cannot be greater than, which is used in the calculation.

    • @jamesyang420
      @jamesyang420 2 дні тому

      One thing I immediately realized is the potential risk of having overlapped train numbers, that is multiple trains having the same number, so they're activated at the same time in the system. To solve that, we still keep the parameter M here, but apply a different calculation, which is 2*(5*M-N)-1. The output is gonna be the same, but this time the numbers you get for each station in a depot are not gonna be the same if you type a different number any single time, and it can be called "depot number" or something like that. This prevents the overlapping problem if no "depot numbers" are the same. What you also need to modify for this is the calculation of L and K. Instead of the "maximum number of trains", it's now the "maximum number of depots", and K shouldn't be greater than 5*L. I know there's a lot of calculations here, but that's just the price you need to pay for this solution. Although if you really want to fancy out, you can do something like counting the number of O in the system, and only activate trains when there is exactly one O to prevent overlapping problems. Since the parameter is called "depot number" here, you can even make a digital display in each of the depot to show the number, so that users will be reminded of previous numbers they typed into for existing depot before placing down a new one.

    • @jamesyang420
      @jamesyang420 2 дні тому

      Just to clarify: the second method will work ONLY jf you use the depots that have the exact same amount of spots, but the first method works for multiple sizes

    • @jamesyang420
      @jamesyang420 2 дні тому

      Just read the comments of the others and seems like it's already solved haha😂

  • @jasonsalwaysburnt
    @jasonsalwaysburnt 2 дні тому

    Ive been trying to figure out what the O = 1 circuit condition in the fulfill item requests parameter conditions is for. the only place o is being output as a signal is the requester station, but its being converted into a negative copper plate signal before it goes out to the network. am i missing something?

    • @farazsth98
      @farazsth98 2 дні тому

      @@jasonsalwaysburnt O1 is being output by the decider combinators at each depot station. It's the way to cycle through each depot such that only one is ever active on a given tick. It prevents multiple trains from being dispatched for one request.

  • @taz4434
    @taz4434 2 дні тому

    blueprint book ?

  • @pcdruid
    @pcdruid 3 дні тому

    Why not just set the item provided to what is in the chests? You can take any number of positive items and just turn it into 1 of that item as the output.

  • @ung0liant
    @ung0liant 3 дні тому

    i can't figure out a way to automatically connect green and red wires when stringing up new power poles over long distances.... I don't want to have to go up and down the line 3 times to have a long distance red/green circuit. Is there an easy way to place pre-wired poles?

  • @ung0liant
    @ung0liant 3 дні тому

    this would be so much easier if in addition to "set train limit" you could set "amount of trains with this stop" limit at stations.

  • @ichbestimmtnicht
    @ichbestimmtnicht 3 дні тому

    Isn't it possible to use parameterized Schedules? Then you do not need to adapt the interrupt, it is just one parameterized one....

    • @8bit-ascii
      @8bit-ascii День тому

      Problem with this is, that if your logistics network always requests a resource more than the other, it will starve out the one which is further away from the stations. e.g. So all your trains are busy supplying iron to your stations, but 1 station is requesting copper. But the only copper provider which you have in the system is farther away than the iron providers. This will only happen if you have less trains than stations, meaning 10 trains -> 8 iron, 2 copper providers will work, when full capacity is required But if you have only 5 trains, and 8 iron stations, 2 copper stations, the resource that will be starved off its trains will be the one which is further away. Hope this makes sense lol

  • @CasualBoomtown
    @CasualBoomtown 4 дні тому

    nice video. I have a comment / question. when a signal goes through and multiple trains are needed to fulfill the requests sent. one train can still only go at a time because of the signals and waiting there turn to go. why not bypass the timer and just have a single train stop. one train at a time pulls up and picks up the request and fulfills it. the time needed for the next train to pull up and stop will be the timer instead.

    • @farazsth98
      @farazsth98 4 дні тому

      @@CasualBoomtown Can you elaborate a bit more? I don't fully understand what you're saying here 😅

    • @CasualBoomtown
      @CasualBoomtown 3 дні тому

      @farazsth98 one train station as the depot, and have th rest of the trains waiting in line waiting there turn.

    • @ung0liant
      @ung0liant 3 дні тому

      @@CasualBoomtown hes talking about setting up a queue system where trains cannot accept new orders until they wait at a depot, and theres only 1 depot.

  • @ghettomining
    @ghettomining 4 дні тому

    Yo can name it as a group to re use on any train you want at top where it says no group

  • @lagartoosmelhor
    @lagartoosmelhor 5 днів тому

    Hey, great tutorial, succesfully implemented at my vanilla run. However I have a problem with Uranium Ore - trains dispatched to provider have fuild wagons instead of cargo - how to solve this when any other resource so far works perfectly fine? (iron, copper, coal, stone for cargo and crude and sulfuric acid for fluids). Eidt: Just saw commentary of YOurs on this topic, i'll try to implement it (Station names and interrupts specifically for fluids) Edit2: Solved - Be careful about stations naming ;)

  • @ender5670
    @ender5670 5 днів тому

    great tutorial! i'm very new to circuits, interrupts, and frankly trains, and this is helping a lot. i don't want a train to sit at the provider waiting to be loaded, so could i use multiple deciders like the one at 6:48 for each block of chests to make sure there are enough items to fill all the wagons before the train is dispatched to pick them up? say i have 3 wagons, could i require 3 X's before the train limit is set to 1 or would that mess with the system in some way i don't see? could i do the opposite at the requester and make sure there's enough space in the chests before it sends the negative signal to request a delivery? would this also work with the item wildcard interrupt shown in the next video?

    • @farazsth98
      @farazsth98 5 днів тому

      @@ender5670 Hey, so on the provider side, this can be pretty easily implemented, you don't have to do multiple deciders. Just connect all the chests together and input them into a decider, and ensure that whatever they store is greater than or equal to the maximum train capacity for that item. If this is true, output an L=1 and use that to set the train limit on the train stop. This will close the provider if there isnt enough resources. On the requester side, this is already indirectly done. In the video, IIRC I use a <2000 threshold to send a new request. This leaves more than enough space in the chests for a full train cargo to unload.

    • @farazsth98
      @farazsth98 5 днів тому

      And yeah this would work with the system in the next video as well.

    • @ender5670
      @ender5670 5 днів тому

      ​@@farazsth98 ah ok, that makes sense. however, wouldn't using the signal from all the chests combined have a chance of dispatching a train when there's enough items in some chests combined for the whole train but not enough in others, leaving wagons unfilled and making the train wait? i'm going to use a balancer to equally fill the chests but i'm curious if that would be an issue if they were unevenly filled. i know it's kinda nitpicky though, i really appreciate you making this video and replying to comments cause i've been trying to figure this out for a few days and experimenting to no avail, so thanks a bunch!

    • @farazsth98
      @farazsth98 5 днів тому

      @ender5670 Yep, it would be an issue if you're not loading / unloading your trains evenly, but that's a separate issue. You shouldn't try to solve it with circuits (because even if you had a single groups of chest per decider, if you're not unloading / loading evenly, chests within that group can become uneven), but rather by setting up your loaders and unloaders correctly.

  • @dacheson007
    @dacheson007 5 днів тому

    Are you using a mod for this sandbox-ish mode you are using?

    • @farazsth98
      @farazsth98 5 днів тому

      @@dacheson007 Hey, yep, the sandbox mode is a scenario that's part of the Editor Extensions mod

  • @skoovee
    @skoovee 5 днів тому

    is that the default gnome cursor?

    • @farazsth98
      @farazsth98 5 днів тому

      @@skoovee Haha it does look similar! But nah I just looked up some random cursors and used one of those, not running Factorio on Linux

  • @MrDunski
    @MrDunski 6 днів тому

    You kind of can copy interrupt by creating parametrized train blueprint xD

  • @plaxor
    @plaxor 7 днів тому

    This is like the Project Cybersyn mod, but in vanilla. Thanks for sharing man! I watched it from start to finish, and I fully understand your explanation and the logic behind it. It's just a lot to take in for me right now. I'll give it a try soon! :)

  • @StephenDougherty-u3t
    @StephenDougherty-u3t 7 днів тому

    Thank you for sharing this. Finally an option that works.

  • @MrArineon
    @MrArineon 8 днів тому

    Has anyone had a problem where a train will attempt to drop off at the wrong station? I can't figure out it's happening. I thought that through the parameterization, the same parameter would be used for the requester and provider.

  • @matthewmcrobie6703
    @matthewmcrobie6703 8 днів тому

    This video is incredible. Thank you so much. I was trying to implement this myself and ran into the same problems as you, but wasn't smart enough to solve them. So thank you for sharing your solutions in such an easy to understand way!

  • @Feynt
    @Feynt 8 днів тому

    Saves me the trouble of figuring it out myself. I was going to get to this as soon as I got established.

  • @MarkWaner
    @MarkWaner 8 днів тому

    I think you can create a wildcard interrupt with a signal wildcard

    • @MarkWaner
      @MarkWaner 8 днів тому

      Although it would make a problem with liquid cargo, since trains cannot know which cargo type they support

    • @MarkWaner
      @MarkWaner 8 днів тому

      Oh, you can solve it by naming liquid logistics stations differently

  • @jrrdeva
    @jrrdeva 9 днів тому

    If i have a 3 weagons providers for coal, but i want to send to a 1 weagons providers, how does work?

  • @chrismauck2710
    @chrismauck2710 9 днів тому

    Is there a part in the video where you set up the fuel interrupt? I see where you set up the fuel station but it doesnt show how the interrupt works.

    • @farazsth98
      @farazsth98 9 днів тому

      @@chrismauck2710 Ah I might have forgotten to show that, oops. The interrupt is essentially just "Fuel < X AND Refuel station is not full", you can set Fuel to coal, solid guel, etc, and X to whatever threshold you'd like!

  • @shermanxie4905
    @shermanxie4905 9 днів тому

    Thanks for the guide, this is by far the closest I have seen that mimics what the LTN was trying to do. I just have 2 questions: 1. how do you increase the train limit for the requester station? I initially was thinking similar to the provider station and giving it a constant combinator that gives out 2X, but then the problem comes that when the first train gets unloaded and the requester chest fulfills the filling request (let's say iron > 10k), and the 2nd train that is still loading on the loading station would get stuck be because requester station's limit is now 0. 2. The handling of different-sized trains seems just to fulfill one condition that is the incoming train wagon number is higher than the loading point (e.g. 4 wagon trains for a provider with 2 loading points). If the system decides to send a 2 wagon train to a 4 loading point station (I don't see how the signal system will prevent this if there are multiple-sized trains at the depot) and the train is set as only depart from the provider station when D = 1 (cargo count is equal to the limit set by the combinators, which in this case 4 wagons of cargo), this D = 1 will never be fulfilled so the train will never depart from the provider station. The only way out of this, I currently think, is to set different-sized trains into different train groups, as are the loading and unloading stations. So, 1 group for 1 wagon train, 1 group for 2 wagon train, etc.

    • @farazsth98
      @farazsth98 9 днів тому

      @@shermanxie4905 Hey thanks! 1. It requires a lot more circuit logic essentially. If you increase the limit at requesters, you have to make sure that providers don't just output a +1 signal, they have to output a +C signal where C is the number of incoming trains. Additionally, the problem you mentioned should not happen if you increase the requester limit correctly. Why? If the first provider train can come in and fill up the buffer chests way over the amount the train station requested, then why do you need to set the limit to 2 at all? Sounds like limit 1 would have been the correct choice, so that would just be an error in the setup, and you'd want to ensure that a limit of 2 is only used when you actually need 2 trains to come and fully unload. 2. Yeah so the method I explained here actually does require all trains to have the exact same number of wagons, and all stations to load / unload that number of wagons. It would just be that certain stations load less on (but this less amount is evenly distributed amongst the wagons, so loading and unloading is faster). Your suggested solution of using different groups and provider/requester names is great too, and would actually allow you to have different sized trains. I think in this case both solutions work and you kind of just pick whichever one you want to go with! Thanks again for the kind words! 😄

  • @ThatsRaf
    @ThatsRaf 10 днів тому

    Each train has a unique id that can be read by the station. So to avoid manual adjustments when adding a new train, you can use a condition that says that the train is active only if the clock value is equal to its id (or twice its id, if you want to guarantee two ticks between trains being active). Then you set the clock to reset after 1000 ticks and you're set. No need to change anything for the next 1000 trains you add.

    • @ThatsRaf
      @ThatsRaf 10 днів тому

      Additionally, I find it useful, especially for raw ore providers, to set the station priority based on how full the station is. What works for me is to dividing chest contents by 1 train worth of items and set that as priority. This makes it so that all providers are being used more or less equally, which may or may not be something that you want.

    • @uglajeen
      @uglajeen 2 дні тому

      just wanted to say that the train ID condition works perfectly as an alternative to the solution the video has provided. Great for stamping down without manual adjustment, thanks! Side note, it seems that the train ID is updated everytime a wagon/locomotive is attached to the "main" locomotive, so you can typically get away with setting the clock value to equal the ID since most of the time scheduled trains will have more than just 1 locomotive (itself) and thus will have unique ID difference greater than 1

  • @SinkDustinSink
    @SinkDustinSink 10 днів тому

    Fantastic video, well done. I've implemented this system in my new city block playthrough to combat the amount of trains I had using no circuit control. I am currently running into an issue with fluid wagons, as I'm having fluid wagons showing up at item provider stations. My fix was to name all the fluid train stations specific as fluid stations, but with the interrupts my fluid trains are trying to go to a station named something like "*iron ore signal* Fluid Provider". I tried to go back through the video and see if this issue was addressed but I couldn't find it. Does this system work with fluid wagons? Thanks again, great work!

    • @farazsth98
      @farazsth98 10 днів тому

      @@SinkDustinSink Thank you! Yes it does work with fluid wagons, you have to have a separate interrupt for fluids that only work with fluid stations (which are also named differently). For example, copper plate provider would be named "<copper-plate-icon> Provider", while a water provider would be named "<water-icon> Fluid Provider". Note the extra "Fluid" in the name, that's how you differentiate between the two station types. Fluid wagon trains would only get interrupts that then work with stations named "<icon> Fluid Provider". This way, fluid trains never show up to the item stations, and item trains never show up to fluid stations. Btw, the follow up video generalizes the interrupts even further, so would recommend that if you haven't watched it yet!

    • @SinkDustinSink
      @SinkDustinSink 10 днів тому

      @ thanks so much for the reply

    • @SinkDustinSink
      @SinkDustinSink 10 днів тому

      @@farazsth98 Just fyi (maybe a lil boost to the algorithm w/ more comments too lol) I figured out my issue: Had my fluid provider deciders set to less than instead of greater than from a silly copy/paste mistake (as well as other small things). Thanks again for the great video :)

  • @Ziiklz
    @Ziiklz 11 днів тому

    I'm having some issues with the clock, Im trying to have two diffrent depo stations spread far apart, how do i connect them both to the clock and makes sure that the station isnt receiving O=x several times over? It seems like if i broadcast the clock on my entire network, all the O = 1 fills for all the stations which activates multiple trains?

    • @farazsth98
      @farazsth98 11 днів тому

      @@Ziiklz The decider that connects to the train stop has to be the only one connecting to that train stop. It sounds like you've wired it up in a way where one decider is connecting to multiple train stops, even if you didn't intend to (this can happen indirectly if you choose a wire colour that the train stops are using to connect to the rest of the network). If you watch the first video closely, you can see that the wire i use to connect the depot to the decider is unique, and does not connect anywhere else. Broadcasting the clock to the network doesn't cause this, but broadcasting the O signal to the network would.

  • @themightygugi
    @themightygugi 11 днів тому

    Perfect! This was exactly what I was looking for. I was having trouble finding the right signal to listen to when dispatching trains, to avoid sending multiple trains.

  • @Sethcor
    @Sethcor 12 днів тому

    For the requester, You could have additional decider combinations, this would be able to be used for additional calls for trans to service the station. For example, a 4 wagon train set up. and you want 2 trains to fill a ore requester, you would have one decider output x at 3k and another at 7k.

  • @MainCoreNightcoreAMV
    @MainCoreNightcoreAMV 12 днів тому

    So... Its rare but sometimes one train will just bug out and go to the wrong requester station and I'll end up with a ton of copper in a plastic requester. Anyone having the same problem?

    • @farazsth98
      @farazsth98 12 днів тому

      @@MainCoreNightcoreAMV Hey, this shouldn't be possible if you have the system set up correctly. The requesters and providers are paired in the sense that when there is a plastic request, the train handling it will only ever go to the plastic provider first before going to the requester

    • @MrArineon
      @MrArineon 8 днів тому

      ​@@farazsth98 I'm having this same problem. I've checked and double checked that I have it set up properly, but once every couple days a train will try to drop at the wrong station.

    • @MrArineon
      @MrArineon 8 днів тому

      I'm having the same problem. Let me know if you figure out what's wrong.

    • @farazsth98
      @farazsth98 8 днів тому

      @MrArineon Hey sorry, I'm not sure how to help without some more information. I've used this setup for over 30 hours and haven't run into this specific issue at all

    • @MrArineon
      @MrArineon 8 днів тому

      ​@@farazsth98I'm going to import your blueprint tonight and go through it with a fine tooth comb. The only thing that I'm doing differently is that I'm using radars to send the signals to the depot (At least I think, I'll know for sure once I import the blueprint)

  • @tomsterbg8130
    @tomsterbg8130 13 днів тому

    I had a blast reading all the FFFs about trains and having them for real is even more insane and amazing, can't wait for all the videos that are coming just like this one! Btw i feel like it can all be simpler because the interrupts were specifically designed with wildcard signals, lots of conditions and genericness. I don't fully understand here the difference between your system and the intended simpler way in terms of what effect it has on the trains, but if you just wanted to do something cool i respect it!

  • @pahtriac
    @pahtriac 13 днів тому

    this video is best viewed @ 0.75 % speed... bloody h.... u eat accelerators for breakfast?

    • @farazsth98
      @farazsth98 13 днів тому

      @@pahtriac Haha my apologies, I actually tried to go slow 😅 in fact some people have commented about me going too slow! But thankfully those comments are not the majority so hopefully even though I wasn't slow enough for some people, I hope it's still useful to you all!

    • @pahtriac
      @pahtriac 13 днів тому

      @@farazsth98 it got me uptosnuff in absence of LTN..

  • @TheMatrixol2
    @TheMatrixol2 14 днів тому

    Hey guys, I have watched both Faith videos. I understand the clock solution for 1 Active Requestor and many Active Providers issue, but do you maybe have some other ideas on how to handle it without the clock?

  • @TanksyTube
    @TanksyTube 14 днів тому

    Funny you've come up with a very similar system to my own except I haven't used signals, just interrupts. I fear signals in this game so much, they just beg to add overcomplication and technical debt to my many factory inefficiencies 😂

  • @Fp401-s4c
    @Fp401-s4c 14 днів тому

    Wouldn't a selector combinator on random input work just as well with the clock? Sure there might be synchronization issues but you're not requesting trains every tick and you could easily increase the number of inputs on the selector combinator as well as adjust update intervals and there are ways to introduce more uncertainty such as activating the circuit when there is a train on it.

    • @farazsth98
      @farazsth98 14 днів тому

      @@Fp401-s4c Yeah it could work, you just have to make sure two trains dont become "active" within a single tick of each other, as that'll lead to both being sent out for a single request. It's doable with some logic and might even be a better solution than having to set up the depots manually

  • @RadicalCrab
    @RadicalCrab 15 днів тому

    First of all - thank you for detailed explanation. And second - for a short period of time, when train leaving provider station the overall resource signal is greater by 1 (because both provider and requester station train count include this train). Do you plan to somehow fix this?

    • @farazsth98
      @farazsth98 14 днів тому

      @@RadicalCrab It's difficult to fix this because it looks like an intended game mechanic, the provider station does not consider itself "empty" until the train has completely cleared the station, while the requester sees it as incoming instantly. I guess one way around it is to read the incoming train contents and use that as the "check" for when to start and stop providing the positive signal. I'll try play around with it and see if I can solve it in a nice way!

  • @a.m.7307
    @a.m.7307 15 днів тому

    It's not working if you have uneven number of loaders and unloaders (for example 2 loaders and 9 unloaders). Some trains always get "Destination is blocked"

    • @farazsth98
      @farazsth98 15 днів тому

      @@a.m.7307 It works fine, are you getting "Destination is full" for the loaders? If so, that's normal, you have a train limit of 1 on your loaders and you're trying to feed 9 unloaders, which means 2 trains will go to the loaders while 7 will wait with "Destination is full" until the loaders are open. The solution is to add more loaders, or increase the train limit at the loaders (which requires a bit more circuitry to achieve).

  • @Markolainen_
    @Markolainen_ 15 днів тому

    Thanks for this. I've fiddled with this by myself and was lacking some insights which I've gained from this video.

  • @ItsUbi
    @ItsUbi 15 днів тому

    This is a fantastic resource for the new interrupts I’d only managed to figure out a refueling method with it before.

  • @Xnorth16051
    @Xnorth16051 15 днів тому

    Thanks for a great tutorial! Here are couple of things to look at: 1. It looks like that it's possible that a train of 1 wagon will go to the station that requires 4 wagons (or you have to setup different interrupts for trains of different sizes). So, in the scenario of multiple train sizes, actually all the trains must be of the same size, only size of stations will differ. 2. Instead of detecting when train is full in a circuit condition inside the train, it seems more convinient to setup the same circuit condition in all the interrupts (smth like F > 0) and set up the combinator logic to check when the train is full on the station. This way, the station decides when the trains leave, not the train. 3. You can use the new parametrised blueprints to calculate capacity of trains and stations - this way once you place a blueprint, it will ask the user to choose the item and the constants will be calculated automatically

    • @andreaagostinelli5310
      @andreaagostinelli5310 2 дні тому

      Interrupts are shared globally between trains and platforms. I guess one just cant use different interrupts for different trains

  • @martinofgliwice1486
    @martinofgliwice1486 16 днів тому

    I have managed to solve the issue of needing to manually set the station "numbers". Only downside is it takes a few combinators and is slower. You can add a constant combinator to every station that will output a signal of 1 as suggested by a different comment. Each station should store its id via a memory setup. The network should not output clock readings but station numbers starting with 1 and ending with total station count (easily known because all stations output a signal of 1). Whenever a station receives the signal matching its id, it outputs an additional signal. The train is activated only if the total value of this additional signal in the network is 1. A central clock counts the additional signals. Whenever it is null, it signals that to all stations via a one-pulse subtraction signal. Then, all stations that have an id stored which is higher than current clock output reduce their id by one. Whenever the additional signal is above 1, the stations with this id start to randomly change their id to the highest valid id (equal to station count). The central clock stops until only one active station remains. Additionally, stations with invalid id (0, negative or beyond total station count) set their ids to the highest valid id. This system is very robust and resolves all conflicts by itself with relative ease. The stations can be freely added and removed. The only downside is that you cannot activate the next locomotive after a mere 2 ticks. I have no definitive answer how low you can go. Additional improvements are possible, for example the clock can backtrack after it passes a large gap of unassigned ids.

  • @Androidonator
    @Androidonator 16 днів тому

    radars can pas signals around a map wirelessly just saying

  • @dadillegaming1563
    @dadillegaming1563 16 днів тому

    Thnx for this clear explanation. One thing I can't figure out though...how can I increase the train limit of a provider/requester station? Is it a value I have to change or just turn off train limit and set it manualy? Thnx

    • @farazsth98
      @farazsth98 15 днів тому

      @@dadillegaming1563 You have to add additional logic to the circuits in order to account for higher train limits. If you look at the pinned comment in my most recent video, I have some blueprints in there where the provider stations can accept higher train limits (I haven't implemented this for requesters yet, because I haven't needed it). Essentially, instead of sending a +1 signal when the train heads to the provider, you send a +C signal, where C is the number of incoming trains to the provider. That's the high level quick explanation but there's a bit more to it than that.

  • @dalastjedi1768
    @dalastjedi1768 16 днів тому

    Dude you were doing great until about 3/4 of the way through then you went on steroids... When you expand the depot and made it modular... did you set them all to 0:60 or each one you added you changed the pattern cycle. EG. 0:60,60:120,120:180,180:240,240:300 or did they all just get made to be 0:60? i saw you set 4 unique ones then you just went apeshit and lost me. lol please make an entire depot and then blueprint it for us. lol I learn best by reverse engineering. lol

    • @farazsth98
      @farazsth98 15 днів тому

      @@dalastjedi1768 Ah I thought I showed all the depots haha, they're all different, so 0:60, 61:120, 121:180, etc. However, in reality a whole second of cycling between trains is not ideal, so what you can instead do is just have a "K == 2", "K == 4", "K == 6", etc, essentially cycling between trains every 2 ticks. It works the same, but is just much faster. I can do up a blueprint, let me know if you really need one after reading this comment!

    • @dalastjedi1768
      @dalastjedi1768 15 днів тому

      @@farazsth98 Please do. I can reverse engineer just about anything but putting 2 brain cells together to try to create a circuit just ends up in failure. lol

    • @farazsth98
      @farazsth98 15 днів тому

      @@dalastjedi1768 Here you go, this contains all the blueprints that I'm currently using in my save. The only thing it doesn't contain is the train interrupt, which is not blueprintable, so you kind of have to just copy it over from the video. Please also see the comment in the gist as well! gist.github.com/farazsth98/2c2f378e429696b2c91313bdd9e24e4f

  • @permanent8387
    @permanent8387 16 днів тому

    Does this only work with 1train per station? Yeah buffers are bad for trains but so is 1train per station so being able to have 2 trains of any size going to a station at the same time would be neat (gets hard with diffetent sized trains unless we can send unique signals to trains) Also dont remember if its on the video but having depo interrupt apart from the requester/provider intrrruot and allowing that (not depo) to interrupt other interrupts should allow the train to not need to go to the depo if theres requests being sent

    • @farazsth98
      @farazsth98 16 днів тому

      @@permanent8387 It works with more than 1 train in provider stations, I've already got that set up (it's just a bit more circuitry to make that work). It'll also work for requesters, but I haven't needed to set that up, the buffers have been good enough for now!

  • @G1MP3R4T0R
    @G1MP3R4T0R 16 днів тому

    I think the tick speed is over engineered for this one. Just activate and deactivate the corresponding stations when requesting/providing the needed amount and set a train limit, so only that amount of trains is dispatched.

    • @farazsth98
      @farazsth98 16 днів тому

      @@G1MP3R4T0R You mean activate X number of provider stations only when there's X number of requests in the network? There's no clean way to do that when you have multiple provider stations unless I'm missing something. You have to differentiate between different provider stations in order to get one to open up, while others stay closed. The other issue is an obvious one: if every train is interrupted at the same time, the train limit of the provider doesn't matter. Even with a limit of 1, every train will have a new temporary stop to the provider as soon as the interrupt fires. Sure, only one train will leave, but the other trains will be waiting in line to leave for the provider after the first train is done, meaning they won't be available to deal with any other requests in the meantime. Try it out and see for yourself, if you can find an elegant solution to deal with the whole "every train leaves at the same time when a request comes through" problem without the global clock, I'm all ears. It would simplify the design a lot, but yeah I haven't been able to come up with one that works yet.