Friday Facts #389 - Train control improvements
Re: Friday Facts #389 - Train control improvements
Someone on Reddit suggested a condition that would test against remaining fuel Mj. This way you don't need to test for low specific fuel type(s). If fuel Mj is low, go refuel. If you change fuel type in the refueling station later on, the train doesn't even need to know.
Re: Friday Facts #389 - Train control improvements
With the fact that I interrupts are global, I think this point is a bit moot. Only one small update to one global interrupt to fix your whole network.roy7 wrote: ↑Fri Dec 15, 2023 1:08 pm Someone on Reddit suggested a condition that would test against remaining fuel Mj. This way you don't need to test for low specific fuel type(s). If fuel Mj is low, go refuel. If you change fuel type in the refueling station later on, the train doesn't even need to know.
Re: Friday Facts #389 - Train control improvements
With interrupts being executed in order, you could put your higher priority stations higher in the list, and they'd be executed first.
Re: Friday Facts #389 - Train control improvements
Very cool! Something not mentioned that I think would really be an additional improvement on top of interrupts would be the ability to temporarily disable interrupts, or fully disable interrupts and only check them at specific points in a schedule.
For example, if you know that the refueling station is in a certain location, you may not want the train to check the fuel during some parts of its schedule which are particularly far away from it, since it would need to travel a lot to get there, and to get back again, wasting time and occupying the tracks more than necessary.
As another idea, you could have specific "interrupts" not be general for the entire schedule but instead only set to be checked at specific points in the schedule, to create a way to make trains conditionally go to some stations with minimal changes to the interrupt system. In other words, when you reach a certain point in the schedule, there's an "interrupt stop" which checks some conditions and decides whether to take it. Once that point is passed, the interrupt stop(s) is no longer available until the train does a complete round of stops and gets back at that point.
For example, if you know that the refueling station is in a certain location, you may not want the train to check the fuel during some parts of its schedule which are particularly far away from it, since it would need to travel a lot to get there, and to get back again, wasting time and occupying the tracks more than necessary.
As another idea, you could have specific "interrupts" not be general for the entire schedule but instead only set to be checked at specific points in the schedule, to create a way to make trains conditionally go to some stations with minimal changes to the interrupt system. In other words, when you reach a certain point in the schedule, there's an "interrupt stop" which checks some conditions and decides whether to take it. Once that point is passed, the interrupt stop(s) is no longer available until the train does a complete round of stops and gets back at that point.
-
- Burner Inserter
- Posts: 13
- Joined: Sat Apr 02, 2022 9:41 am
- Contact:
Re: Friday Facts #389 - Train control improvements
All of the quality of life improvements that can be added to the current build should be added before 2.0. All of these improvements make me so excited to the point that I cannot wait for them like 6-7 months. I could not get myself to think how they would change my current playthrough and how they would make so many things much easier and enjoyable. Please I am begging you
-
- Fast Inserter
- Posts: 132
- Joined: Mon May 15, 2017 7:49 pm
- Contact:
Re: Friday Facts #389 - Train control improvements
Don't limit your thinking to the outside of the train
Maybe your cargo is changing temperature, there should be an ice world after all.
It could also decay or transform.
After seeing some of the additions to the game, I also would not put it past the devs to introduce a new locomotive type that needs some special attention or a wagon that produces things while moving.
Last edited by Terrahertz on Fri Dec 15, 2023 1:46 pm, edited 1 time in total.
Re: Friday Facts #389 - Train control improvements
I have a very dumb question. What is the limit for the NUMBER of train stops and/or interrupts in the train schedule?
-
- Long Handed Inserter
- Posts: 77
- Joined: Wed Mar 08, 2017 3:34 pm
- Contact:
Re: Friday Facts #389 - Train control improvements
Oh my god... this one actually had me in tears for a bit. It's so beautiful. You've taken LTN and integrated it better than I could've ever imagined it. The channels are groups, the interrupts are requests/provides... I'm having an INCREDIBLY hard time trying to imagine what more you're going to add to make trains even better. Apart from being able to somehow automatically add trains to the network... I just can't see it.
I do want to like, propose a scenario however and all I request is a simple 'yes' or 'no' in terms of how feasable it is.
Right now, LTN will create a request for a train when a requester station's demand is big enough to warrant a train (basically, the amount is below the 'threshhold'. This can be simulated in factorio via simply setting the station limit or even enabling/disabling stations based on demand. Equally, provider stations only turn on if they have enough cargo to load a train provided u set a threshhold.
In an ideal world, I'd like a train with only a depot stop. This train will leave the depot if a request station and a provide station of matching types are active. What I DON'T want to happen is that a train will go to a provide station, load up with cargo, only to realize that it cannot drop off it's cargo anywhere. This could cause a deadlock in the sense that all of my trains end up filling themselves with cargo they cannot drop off, sitting idle in my depot whilst my factory dies.
So I guess my question boils down to: Can I somehow make sure that when a train goes to pick up an item, it will be able to drop this item off somewhere?
I do want to like, propose a scenario however and all I request is a simple 'yes' or 'no' in terms of how feasable it is.
Right now, LTN will create a request for a train when a requester station's demand is big enough to warrant a train (basically, the amount is below the 'threshhold'. This can be simulated in factorio via simply setting the station limit or even enabling/disabling stations based on demand. Equally, provider stations only turn on if they have enough cargo to load a train provided u set a threshhold.
In an ideal world, I'd like a train with only a depot stop. This train will leave the depot if a request station and a provide station of matching types are active. What I DON'T want to happen is that a train will go to a provide station, load up with cargo, only to realize that it cannot drop off it's cargo anywhere. This could cause a deadlock in the sense that all of my trains end up filling themselves with cargo they cannot drop off, sitting idle in my depot whilst my factory dies.
So I guess my question boils down to: Can I somehow make sure that when a train goes to pick up an item, it will be able to drop this item off somewhere?
Re: Friday Facts #389 - Train control improvements
First of, very cool!
I'm reminded of Greenspun's 10th Rule (Any sufficiently complex system contains a poorly specified, bug ridden, implementation of half of common lisp)
So with that in mind, when do we get pre-conditions for basic schedule stops? I feel like they would be an even better solution for the "generic drop off" train.
Only joking! (or am I?)
I'm reminded of Greenspun's 10th Rule (Any sufficiently complex system contains a poorly specified, bug ridden, implementation of half of common lisp)
So with that in mind, when do we get pre-conditions for basic schedule stops? I feel like they would be an even better solution for the "generic drop off" train.
Only joking! (or am I?)
Last edited by nullvoid on Fri Dec 15, 2023 2:59 pm, edited 1 time in total.
Re: Friday Facts #389 - Train control improvements
Very nice, I have been suspecting that since the closure of the Stop-Disabling behaviours. I appreciate your efforts very much.
Pony/Furfag avatar? Opinion discarded.
Re: Friday Facts #389 - Train control improvements
Ah Greenspun's 10th Rule! https://en.wikipedia.org/wiki/Greenspun%27s_tenth_rule
My own personal Factorio super-power - running out of power.
Re: Friday Facts #389 - Train control improvements
Made me think of a wagon with water turret lol. To push biters awway from the track. it gets an interrupt when there is no more water for the train to protect itself, and an interrupt the interupt in case in run out of fuel while getting water to continue its defense duty.Terrahertz wrote: ↑Fri Dec 15, 2023 1:36 pm Don't limit your thinking to the outside of the train
Maybe your cargo is changing temperature, there should be an ice world after all.
It could also decay or transform.
After seeing some of the additions to the game, I also would not put it past the devs to introduce a new locomotive type that needs some special attention or a wagon that produces things while moving.
It would also work with crude oil or lava like flame turret.
That would work for the arty trains actually. But those all they produce is noise not empty barrel.
It used to be in game that you can't make steam barrel and you can only make water barrel, but maybe this will change, you could make ice barrel and after a few minutes rolling on vulcanus it's full of steam
Re: Friday Facts #389 - Train control improvements
This is completely nuts and I can´t even express how fakking awesome this all reads. I have run megabases with LTN with friends for years and this sounds so much better.
Modded Multiplayer Mega Bases Only!
Re: Friday Facts #389 - Train control improvements
Well! this is now my favorite QoL update!
Both train groups and interrupts will be a huge improvement for large train set-ups.
Gracias!
Both train groups and interrupts will be a huge improvement for large train set-ups.
Gracias!
Re: Friday Facts #389 - Train control improvements
Very cool stuff. I don't do crazy things with trains, but these changes are going to simplify the factory quite a bit. Can't wait to see what else is in store!
Re: Friday Facts #389 - Train control improvements
I didn’t understand a little, if I add an interruption, then it is automatically applied to all trains or I can add it to one train, and then how, for example, with an existing station, select from the list?So we made it that interrupts are shared globally (identified by their name), and when you edit an interrupt it changes for all the trains with that interrupt. This made it much more convenient and less error prone.
although it seems to me that it’s the latter, otherwise it would be strange.
Also, I would like the ability to copy stations in lists, now when I rarely set up trains but need to copy a station either to the same train (but with a different station under the same conditions) or to another train but with a different schedule, I wonder if it is possible how to do this?
Re: Friday Facts #389 - Train control improvements
These new train systems sound GLORIOUS. I remember I wanted a train to transport artillery shells to various outposts and had to rig up each station to disable or enable based on if it had shells, plus have the train come back to resupply after each stop so it doesn't visit stations while not carrying anything. This would make such a thing SO much simpler, and being able to have trains carry multiple times of cargo and auto-reroute to different stations opens up worlds of possibilities.
A couple questions from previous FFF that crossed my mind - recycling machines are going to be a thing. How do they handle items with fluid components, like electric engines or blue circuits? I'm assuming the fluid is just lost to the aether? Also in regards to the quality mechanic, I recall that components can have quality, but can fluids as well?
A couple questions from previous FFF that crossed my mind - recycling machines are going to be a thing. How do they handle items with fluid components, like electric engines or blue circuits? I'm assuming the fluid is just lost to the aether? Also in regards to the quality mechanic, I recall that components can have quality, but can fluids as well?
Re: Friday Facts #389 - Train control improvements
With the new interrupts i can imagine this will be possible with some station circuit magic and a global train dispatcher.Justderpingalong wrote: ↑Fri Dec 15, 2023 1:40 pm Oh my god... this one actually had me in tears for a bit. It's so beautiful. You've taken LTN and integrated it better than I could've ever imagined it. The channels are groups, the interrupts are requests/provides... I'm having an INCREDIBLY hard time trying to imagine what more you're going to add to make trains even better. Apart from being able to somehow automatically add trains to the network... I just can't see it.
I do want to like, propose a scenario however and all I request is a simple 'yes' or 'no' in terms of how feasable it is.
Right now, LTN will create a request for a train when a requester station's demand is big enough to warrant a train (basically, the amount is below the 'threshhold'. This can be simulated in factorio via simply setting the station limit or even enabling/disabling stations based on demand. Equally, provider stations only turn on if they have enough cargo to load a train provided u set a threshhold.
In an ideal world, I'd like a train with only a depot stop. This train will leave the depot if a request station and a provide station of matching types are active. What I DON'T want to happen is that a train will go to a provide station, load up with cargo, only to realize that it cannot drop off it's cargo anywhere. This could cause a deadlock in the sense that all of my trains end up filling themselves with cargo they cannot drop off, sitting idle in my depot whilst my factory dies.
So I guess my question boils down to: Can I somehow make sure that when a train goes to pick up an item, it will be able to drop this item off somewhere?
Re: Friday Facts #389 - Train control improvements
I think new interrupts are not added to all trains automatically. But When you add an interrupt, if another interrupt with the same name already exists on another train, they will merge with each other.Dial-up wrote: ↑Fri Dec 15, 2023 2:30 pmI didn’t understand a little, if I add an interruption, then it is automatically applied to all trains or I can add it to one train, and then how, for example, with an existing station, select from the list?So we made it that interrupts are shared globally (identified by their name), and when you edit an interrupt it changes for all the trains with that interrupt. This made it much more convenient and less error prone.
although it seems to me that it’s the latter, otherwise it would be strange.
Also, I would like the ability to copy stations in lists, now when I rarely set up trains but need to copy a station either to the same train (but with a different station under the same conditions) or to another train but with a different schedule, I wonder if it is possible how to do this?