Page 2 of 8

Re: Friday Facts #389 - Train control improvements

Posted: Fri Dec 15, 2023 1:05 pm
by Impatient
Respect!

Re: Friday Facts #389 - Train control improvements

Posted: Fri Dec 15, 2023 1:08 pm
by roy7
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

Posted: Fri Dec 15, 2023 1:15 pm
by danbopes
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.
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.

Re: Friday Facts #389 - Train control improvements

Posted: Fri Dec 15, 2023 1:18 pm
by danbopes
Kallinger wrote: Fri Dec 15, 2023 12:15 pm IMO this makes LTN and Cybersyn almost irrelevant. Would only like to change priorities of stations, maybe there is a way to do this as well i just have not realized yet.
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

Posted: Fri Dec 15, 2023 1:25 pm
by svalorzen
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.

Re: Friday Facts #389 - Train control improvements

Posted: Fri Dec 15, 2023 1:27 pm
by toprakkoyun
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 :D :D

Re: Friday Facts #389 - Train control improvements

Posted: Fri Dec 15, 2023 1:36 pm
by Terrahertz
mmmPI wrote: Fri Dec 15, 2023 12:41 pm Curious to see what would be on that other planet that can impact even trains, meteorites ? Alien invasion hijacking trains ?
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.

Re: Friday Facts #389 - Train control improvements

Posted: Fri Dec 15, 2023 1:37 pm
by Hares
I have a very dumb question. What is the limit for the NUMBER of train stops and/or interrupts in the train schedule?

Re: Friday Facts #389 - Train control improvements

Posted: Fri Dec 15, 2023 1:40 pm
by Justderpingalong
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

Posted: Fri Dec 15, 2023 1:50 pm
by nullvoid
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?)

Re: Friday Facts #389 - Train control improvements

Posted: Fri Dec 15, 2023 1:53 pm
by aka13
Very nice, I have been suspecting that since the closure of the Stop-Disabling behaviours. I appreciate your efforts very much.

Re: Friday Facts #389 - Train control improvements

Posted: Fri Dec 15, 2023 2:00 pm
by Amarula
nullvoid wrote: Fri Dec 15, 2023 1:50 pm Greenspunth's 10th Rule
Ah Greenspun's 10th Rule! https://en.wikipedia.org/wiki/Greenspun%27s_tenth_rule

Re: Friday Facts #389 - Train control improvements

Posted: Fri Dec 15, 2023 2:04 pm
by mmmPI
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.
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.

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

Posted: Fri Dec 15, 2023 2:10 pm
by BlacKcuD
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.

Re: Friday Facts #389 - Train control improvements

Posted: Fri Dec 15, 2023 2:16 pm
by adam_bise
Well! this is now my favorite QoL update!

Both train groups and interrupts will be a huge improvement for large train set-ups.

Gracias!

Re: Friday Facts #389 - Train control improvements

Posted: Fri Dec 15, 2023 2:23 pm
by scarhoof
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

Posted: Fri Dec 15, 2023 2:30 pm
by Dial-up
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.
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?
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

Posted: Fri Dec 15, 2023 2:33 pm
by DrakeyC
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?

Re: Friday Facts #389 - Train control improvements

Posted: Fri Dec 15, 2023 2:34 pm
by ElderAxe
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?
With the new interrupts i can imagine this will be possible with some station circuit magic and a global train dispatcher.

Re: Friday Facts #389 - Train control improvements

Posted: Fri Dec 15, 2023 2:37 pm
by ElderAxe
Dial-up wrote: Fri Dec 15, 2023 2:30 pm
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.
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?
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?
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.