Friday Facts #395 - Generic interrupts and Train stop priority

Regular reports on Factorio development.
Post Reply
xlomkn
Burner Inserter
Burner Inserter
Posts: 18
Joined: Wed Dec 14, 2016 8:17 pm
Contact:

Re: Friday Facts #395 - Generic interrupts and Train stop priority

Post by xlomkn »

Zeroji wrote: ↑
Fri Jan 26, 2024 2:00 pm
Regarding the generic interrupts, I'm not sure I love the showcased implementation, often my trains will be called "[iron-icon] iron drop-off" to have the fanciness of the icon, but the readability / searchability of text. Would it be possible to implement a basic wildcard, for example "[any-item] *drop-off" would match anything starting with the generic interrupt's item and ending with "drop-off"? I don't know if that would hurt performance, probably not for <1000 unique train stop names.
I really upvote that !
I name my stations like "Iron Mine 1". I could live with "[item:iron-ore] Mine 1" but specifying an unique name is helpfull for me to locate the outpost, add it in my personnal train schedule and so on. I like the genericity a common name gives for ressources trains schedules but I would like to have both, like in LTN where names are not taken into account to dispatch trains. Having some kind of wildcard would do the job for me.

Svip
Long Handed Inserter
Long Handed Inserter
Posts: 69
Joined: Sun Apr 29, 2018 6:19 am
Contact:

Re: Friday Facts #395 - Generic interrupts and Train stop priority

Post by Svip »

xlomkn wrote: ↑
Tue Jan 30, 2024 9:54 am
Zeroji wrote: ↑
Fri Jan 26, 2024 2:00 pm
Regarding the generic interrupts, I'm not sure I love the showcased implementation, often my trains will be called "[iron-icon] iron drop-off" to have the fanciness of the icon, but the readability / searchability of text. Would it be possible to implement a basic wildcard, for example "[any-item] *drop-off" would match anything starting with the generic interrupt's item and ending with "drop-off"? I don't know if that would hurt performance, probably not for <1000 unique train stop names.
I really upvote that !
I name my stations like "Iron Mine 1". I could live with "[item:iron-ore] Mine 1" but specifying an unique name is helpfull for me to locate the outpost, add it in my personnal train schedule and so on. I like the genericity a common name gives for ressources trains schedules but I would like to have both, like in LTN where names are not taken into account to dispatch trains. Having some kind of wildcard would do the job for me.
Honestly, I feel like the station name thing is a bit hacky, and it's now starting to show its limits. Others have suggested elsewhere the ability to grant stations "tags", which would be a better solution (or at least a nice addition), so instead of trains going to a station name, they go to a station with tag A. (Preferably, you'd still keep the old system, since for most purposes, names are just fine, but tags for when things start to scale.)

EDIT: Thinking further about these tags. Initially, I thought of tags as alternative names (or bynames) for the station, but perhaps instead they should just be signals. So if you had an iron mine, you could add a tag with the iron ore signal. You could add as many tags as you'd please. The reason for using signals would be to allow the user to control the tags with circuits. But wait, you say, if they are just signals, how can I tell my tags apart from provider and requester stations? You'd use the value. You could set your interrupt to go to station with tag with "<generic-item>" signal where value = 1.

xlomkn
Burner Inserter
Burner Inserter
Posts: 18
Joined: Wed Dec 14, 2016 8:17 pm
Contact:

Re: Friday Facts #395 - Generic interrupts and Train stop priority

Post by xlomkn »

Svip wrote: ↑
Tue Jan 30, 2024 10:09 am
xlomkn wrote: ↑
Tue Jan 30, 2024 9:54 am
Zeroji wrote: ↑
Fri Jan 26, 2024 2:00 pm
Regarding the generic interrupts, I'm not sure I love the showcased implementation, often my trains will be called "[iron-icon] iron drop-off" to have the fanciness of the icon, but the readability / searchability of text. Would it be possible to implement a basic wildcard, for example "[any-item] *drop-off" would match anything starting with the generic interrupt's item and ending with "drop-off"? I don't know if that would hurt performance, probably not for <1000 unique train stop names.
I really upvote that !
I name my stations like "Iron Mine 1". I could live with "[item:iron-ore] Mine 1" but specifying an unique name is helpfull for me to locate the outpost, add it in my personnal train schedule and so on. I like the genericity a common name gives for ressources trains schedules but I would like to have both, like in LTN where names are not taken into account to dispatch trains. Having some kind of wildcard would do the job for me.
Honestly, I feel like the station name thing is a bit hacky, and it's now starting to show its limits. Others have suggested elsewhere the ability to grant stations "tags", which would be a better solution (or at least a nice addition), so instead of trains going to a station name, they go to a station with tag A. (Preferably, you'd still keep the old system, since for most purposes, names are just fine, but tags for when things start to scale.)

EDIT: Thinking further about these tags. Initially, I thought of tags as alternative names (or bynames) for the station, but perhaps instead they should just be signals. So if you had an iron mine, you could add a tag with the iron ore signal. You could add as many tags as you'd please. The reason for using signals would be to allow the user to control the tags with circuits. But wait, you say, if they are just signals, how can I tell my tags apart from provider and requester stations? You'd use the value. You could set your interrupt to go to station with tag with "<generic-item>" signal where value = 1.
I agree, I also feel station name exploit is hacky. At least I would like to have a wildcard like feature, but a better solution is... better :roll:
Tags (or station signals) open much more possibilities.
Like combinators that are able to choose from which (red or green) wire to read from, station could choose from which wire it should read signals to use as tags and which to send to train.

Svip
Long Handed Inserter
Long Handed Inserter
Posts: 69
Joined: Sun Apr 29, 2018 6:19 am
Contact:

Re: Friday Facts #395 - Generic interrupts and Train stop priority

Post by Svip »

xlomkn wrote: ↑
Tue Jan 30, 2024 10:48 am
Like combinators that are able to choose from which (red or green) wire to read from, station could choose from which wire it should read signals to use as tags and which to send to train.
Personally I would prefer two areas for connectors on train stations, one meant for trains and one meant for the station. You can send signals to the train but also to the station through the same wires, and that's a little fiddly. Combinators has two areas for connectors (input and output), and it's 1 Γ— 2, train stations are 2 Γ— 2, some slightly modification of graphics (and code) would allow connections to either the train "combinator" or the station "combinator". Kind of sort of like how LTN does it.

factoriouzr
Filter Inserter
Filter Inserter
Posts: 660
Joined: Sat Jun 06, 2015 2:23 am
Contact:

Re: Friday Facts #395 - Generic interrupts and Train stop priority

Post by factoriouzr »

That's great that you can replace the icon in rich text but what if I use the name of the resourse such as "Iron Depot", "Copper Depot" instead of the icons.

Can we have support for replacing any text in the stop names instead of just icons? So you can do "[item] Depot" and replace "[item]" with "Iron" or "copper" or "gear".

Qon
Smart Inserter
Smart Inserter
Posts: 2118
Joined: Thu Mar 17, 2016 6:27 am
Contact:

Re: Friday Facts #395 - Generic interrupts and Train stop priority

Post by Qon »

factoriouzr wrote: ↑
Tue Jan 30, 2024 3:17 pm
That's great that you can replace the icon in rich text but what if I use the name of the resourse such as "Iron Depot", "Copper Depot" instead of the icons.

Can we have support for replacing any text in the stop names instead of just icons? So you can do "[item] Depot" and replace "[item]" with "Iron" or "copper" or "gear".
You want the PE Stringy train stops Redux mod implemented in vanilla? I would love that as well, but it's not going to happen. It is too hardcore for most players.

kwyntes
Burner Inserter
Burner Inserter
Posts: 6
Joined: Mon Feb 06, 2023 9:46 am
Contact:

Re: Friday Facts #395 - Generic interrupts and Train stop priority

Post by kwyntes »

Fiorra wrote: ↑
Fri Jan 26, 2024 5:13 pm
I'm not yet convinced that the new cool interrupt features allow us to completely control trains with circuits. The interrupts and the generic signals are very cool, but with generic signals only being able to take the signal type from inventory and not from combinators we can't tell trains where to go.
We know that interrupts can read signals from the station the interrupted train is parked at, and this FFF mentions an "any signal" signal for the condition. You can totally make a train go to station "[A]" by sending the [A] signal to its train stop. If you run out of signals, you can start naming your stations "[A] 1", "[ B] 1", "[A] 2", etc, with the downside that you'll have to duplicate the interrupt for any number you use (unless they add a replacement for the signal's value).
[/quote]

You're missing the point. If you start naming all your stations differently, you're just moving the problem. Now you're stuck with having to name every station differently and you can't generalise the station blueprint anymore.

kwyntes
Burner Inserter
Burner Inserter
Posts: 6
Joined: Mon Feb 06, 2023 9:46 am
Contact:

Re: Friday Facts #395 - Generic interrupts and Train stop priority

Post by kwyntes »

MBkufel wrote: ↑
Fri Jan 26, 2024 6:39 pm
Priority setting via circuts will finally allow balanced distribution of materials. I love it
From the screenshots it looks like you can't set the priority through signals though...

User avatar
boskid
Factorio Staff
Factorio Staff
Posts: 2250
Joined: Thu Dec 14, 2017 6:56 pm
Contact:

Re: Friday Facts #395 - Generic interrupts and Train stop priority

Post by boskid »

TrainStopCircuitControlGui was shown couple of times (https://www.factorio.com/blog/post/fff-384) but the priority setting was hidden because it would obviously leak that train stop priorities were added. As this FFF mentioned, there is a way to set a priority by circuit network.
110940.png
110940.png (40.38 KiB) Viewed 1313 times

ModernMythos
Manual Inserter
Manual Inserter
Posts: 3
Joined: Thu Nov 21, 2019 7:43 am
Contact:

Re: Friday Facts #395 - Generic interrupts and Train stop priority

Post by ModernMythos »

My last attempt at a train-supplied mega-base was a mostly functional 60UPS, 2.5k science/per minute base, but the trains would sometimes stop in the path for seemingly no reason. Hopefully, the new logic for 2.0 trains will alleviate this because I ran out of ideas for how to fix it. I controlled the train network by reading the quantity of items in chests at dropoff stops and that value would determine how many trains were allowed at the stop. So I think that these trains must have been routed when the number of trains reduced at the destination stop and they would simply stop in place blocking traffic. It was the most elegant solution for train routing that I had come up with yet, but I haven't found a robust solution to date. The proposed changes should fix this, I am aiming for a train supplied 5k+ mega-base. I think this is very doable but haven't had resounding success yet.

Has anybody here had great success with a train-supplied mega-base? My biggest was 30k+ per minute and it was an unmitigated disaster complete with 150 train traffic jams and UPS dips below 10.

Trific
Fast Inserter
Fast Inserter
Posts: 147
Joined: Thu Dec 31, 2020 7:57 pm
Contact:

Re: Friday Facts #395 - Generic interrupts and Train stop priority

Post by Trific »

Lowering the train limit (even to 0) doesn't stop trains that were already en route from going to the station. My setup does that all the time. If the train stops with "No path" flashing, then my guess is the stations is getting disabled, not just the train limit being lowered.


Koub
Global Moderator
Global Moderator
Posts: 7204
Joined: Fri May 30, 2014 8:54 am
Contact:

Re: Friday Facts #395 - Generic interrupts and Train stop priority

Post by Koub »

futurmagnussen wrote: ↑
Wed Jan 31, 2024 8:14 am
I'm Lost
You're here :mrgreen:.

More seriously, I'm sure it'll all make sense to you once you'll get your hands on the actual feature yourself.
Koub - Please consider English is not my native language.

adam_bise
Filter Inserter
Filter Inserter
Posts: 360
Joined: Fri Jun 08, 2018 10:42 pm
Contact:

Re: Friday Facts #395 - Generic interrupts and Train stop priority

Post by adam_bise »

Man this is so awesome! Love it!

crast_b
Manual Inserter
Manual Inserter
Posts: 2
Joined: Wed Jan 17, 2024 5:44 am
Contact:

Re: Friday Facts #395 - Generic interrupts and Train stop priority

Post by crast_b »

In my factory system, trains are created for each demand, trip between two types of stations, so I don't think this update will have a direct impact on me.
However, I would like to suggest two points.


1: A train ghost set signals to red.

There is a risk that an unexpected connection or overwriting may occur if another train is passing at the point where the train ghost is placed at the same time as the train is being placed.
In my factory system, I use grid factory BPs where trains are packaged, additional space is required for separate tracks for train waiting. It's messy, but it worked.
However, with this update, the only way to place Train Ghosts together is to line them up horizontally. Placing trains in the limited spare space of a grid factory becomes difficult.
If a train ghost set signals to red, the risk is banished.


2: Each station can set a function icon in addition to the station name that can be freely written.

There's an argument about skipping the station. But, it's nonsense. because, station priority and same name station will be able to do skipping station with setting the lowest priority same name station. stations will need a little more space, but the design of the railway network itself remains unchanged.

The problem is that players need to master the system of the same name station. It is a certain constraint that the name of the station must be linked to the function of the station in terms of distribution.
If so, it should be possible to set the station's function by specifying an icon, independent of the station name. It should also be possible to set train schedules based on station function icons rather than station names.

It would be interesting to see that the amount of icons that can be set increases depending on the quality of the station.... Or that function icons can be controlled by circuits....

mrvn
Smart Inserter
Smart Inserter
Posts: 5709
Joined: Mon Sep 05, 2016 9:10 am
Contact:

Re: Friday Facts #395 - Generic interrupts and Train stop priority

Post by mrvn »

Etherblood wrote: ↑
Fri Jan 26, 2024 12:54 pm
Disabled train stops not being skipped is very nice, I previously had to add train stations with train limit 0 to get the same behaviour.
Also no need for the automatic trains mod anymore!
It's horrible. Where in 1.1 we have a choice between skipping a train stop and waiting for a slot to open that feature has now gone. This breaks peoples play style for no good reason.

Could a negative limit mean skipping the stop or something? Or does one have to covert all schedules with skips to purely interrupt based?

FuryoftheStars
Smart Inserter
Smart Inserter
Posts: 2551
Joined: Tue Apr 25, 2017 2:01 pm
Contact:

Re: Friday Facts #395 - Generic interrupts and Train stop priority

Post by FuryoftheStars »

mrvn wrote: ↑
Mon Feb 26, 2024 8:36 pm
Could a negative limit mean skipping the stop or something? Or does one have to covert all schedules with skips to purely interrupt based?
I think they want us to go the interrupt route. I guess we'll have to see what those conditions are to decide.
My Mods: Classic Factorio Basic Oil Processing | Sulfur Production from Oils | Wood to Oil Processing | Infinite Resources - Normal Yield | Tree Saplings (Redux) | Alien Biomes Tweaked | Restrictions on Artificial Tiles

User avatar
Seraphendipity
Burner Inserter
Burner Inserter
Posts: 5
Joined: Sat Jun 08, 2019 5:26 pm
Contact:

Re: Friday Facts #395 - Generic interrupts and Train stop priority

Post by Seraphendipity »

The 'No path' icon flashes to let you know that something is wrong. Destination full is just a solid icon shown in alt-mode. These should make it easier to tell at a glance what a train is up to, without having to do the mental pause to verify there is no flying text notification coming soon.
Problem being, it's still a Flash of ON/OFF, still requiring a mental pause (if shorter one), and a fair bit distracting (even if intentionally so). If I may suggest as small but meaningful changes:
  • Flashing Icons (No Path, No Power, etc.) work like Missing Materials Flash (low contrast > high contrast, rather than invisible > visible).
  • Options to reduce or turn off the Flashing Nature of all Icons (No Path, No Power, No Materials, possibly Entities taking Damage, etc.)
  • Option reduce the size to "upper-right corner" of an entity (moreover for Assemblers).
The ideal solution IMO is the growing use of Status Lights on Objects, being such a great tie-in of in-universe, practical, unobtrusive, but still discernible with a way to translate a lot of vivid information with colors and patterns (blinking, fading, etc.) Second to that, UI icons that are of similar nature -- the main problem being they are annoying at the moment, especially when setting up factories that do not have power yet or depowered via Power Switches or mass blueprinting. The constant flash interrupts good focus.

mrvn
Smart Inserter
Smart Inserter
Posts: 5709
Joined: Mon Sep 05, 2016 9:10 am
Contact:

Re: Friday Facts #395 - Generic interrupts and Train stop priority

Post by mrvn »

Seraphendipity wrote: ↑
Sat Mar 16, 2024 7:34 pm
The 'No path' icon flashes to let you know that something is wrong. Destination full is just a solid icon shown in alt-mode. These should make it easier to tell at a glance what a train is up to, without having to do the mental pause to verify there is no flying text notification coming soon.
Problem being, it's still a Flash of ON/OFF, still requiring a mental pause (if shorter one), and a fair bit distracting (even if intentionally so). If I may suggest as small but meaningful changes:
  • Flashing Icons (No Path, No Power, etc.) work like Missing Materials Flash (low contrast > high contrast, rather than invisible > visible).
  • Options to reduce or turn off the Flashing Nature of all Icons (No Path, No Power, No Materials, possibly Entities taking Damage, etc.)
  • Option reduce the size to "upper-right corner" of an entity (moreover for Assemblers).
The ideal solution IMO is the growing use of Status Lights on Objects, being such a great tie-in of in-universe, practical, unobtrusive, but still discernible with a way to translate a lot of vivid information with colors and patterns (blinking, fading, etc.) Second to that, UI icons that are of similar nature -- the main problem being they are annoying at the moment, especially when setting up factories that do not have power yet or depowered via Power Switches or mass blueprinting. The constant flash interrupts good focus.
Some way to say that "No Path" or "No Power" is a normal operations mode of the setup would be useful. This could even be automatic I think.

For example: An assembler on a power network with power switch doesn't need to blink "No Power". A far less intrusive power indicator would be preferable for those cases. An assembler without a power pole on the other hand clearly is wrong and should warn loudly.

Similar a train in the middle of the rails with no path is critical. SCREAM. But a train at a station that has no station with space is probably normal. Indicate it quietly (no Path at the station due to disabled stations is going away I believe so we will be spared that in the future).

Post Reply

Return to β€œNews”