Easier / more options for train stops for quality or mixed chests

Post your ideas and suggestions how to improve the game.

Moderator: ickputzdirwech

Milichip
Inserter
Inserter
Posts: 49
Joined: Thu Jan 30, 2025 11:51 pm
Contact:

Easier / more options for train stops for quality or mixed chests

Post by Milichip »

Tl;dr
The simplest solution I can think of is to make train stops be able to have multiple names.
Additionally, allow signals to control enabling/disabling names on each stop.
factorio_4AuT3OHYbV.png
factorio_4AuT3OHYbV.png (134.37 KiB) Viewed 1005 times
Why?
Because train stops heavily discourage doing anything other than "1 stop = 1 item", as explained below.

Currently, train stops require this sort of setup to request multiple items to one stop:
With stops that "redirect" to another stop:
factorio_EgMInlkbnt.png
factorio_EgMInlkbnt.png (5.92 KiB) Viewed 1005 times
or with interrupts:
factorio_0WsW61ipAw.png
factorio_0WsW61ipAw.png (52.85 KiB) Viewed 1005 times
or with circuit signals, which requires adding combinators to every stop and "hardcoding" each stop to specify which resources it provides go to which other stops.

Put plainly, it is a pain, and a big one. Not only is it extremely hard to get into as there are a lot of behaviors to learn, but additionally every system comes with a ton of downsides for handling quality. I imagine most players would have quit before going through as much unsatisfying trial and error as I have to even discover these methods.
The first approach where I "redirect" to another stop feels like the simplest one by far, and yet it makes using the "limit train" features impossible to use.
Additionally, making a "pull" system is incredibly tedious and restrictive, because when a train is at the stop you must disable all the "redirect" stops to prevent another train arriving to pick up 2 cargos of the same resource.

Why propose multiple names as a solution? Because it is easy to understand for both new and existing players, it is easy to use yet can be used for much more complex things with the circuit option, and it supports the "train limit" feature on stops where multiple trains carrying different resources could be queued for the same stop. The downside? The "train stop priority" could only be set for all names: it would not be possible to set a different priority on each name - although in some instances this can be a positive for the player.

Why propose enabling/disabling names as a solution? To maintain the ability for a stop to communicate to trains if it wants to receive a particular item, which is crucial for "pull" systems.
What
Allow "aliases" on train stops, allowing them to have multiple names.
If a train wishes to go to a stop with a particular name, all stops with that name will be candidates.

When the option "Enable/disable names" is turned on, any names that contain an icon will become disabled if the train stop is not receiving that icon as a signal from the circuit network.
For example, if the train stop has 2 aliases/names, " :any-quality: Receive " and " :danger: Receive ", and it is only receiving the :any-quality: signal from the circuit network, then only the " :any-quality: Receive " name will be enabled, while the " :danger: Receive " name will be disabled. Disabled names act the same as disabled stops, but only for that name.
If a stop name has multiple icons in it, then with this option it will be enabled if ANY of the icons appear in the circuit signal.
If a stop name has no icons in it, then it will always be enabled, even with the option.

5 aliases per stop would be needed at a minimum, but hopefully you allow many more (100 or more) for things like malls.

As a bonus (although I do not need this), you could add an option that dynamically changes train stop names via the circuit wildcard. With this option on, you would be restricted to one train stop name, but it would contain the wildcard icon in the name. The train stop would create one name for each signal it receives from the circuit network. (you don't necessarily need the "one name" restriction, perhaps you can just cull names when they reach a maximum amount like with inserter filters)
For example, if the option was on and the train stop name is "{Wildcard} Send", and the stop received 2 signals, {A} and {B}, then the train stop would have 2 names, "{A} Send" and "{B} Send".
Milichip
Inserter
Inserter
Posts: 49
Joined: Thu Jan 30, 2025 11:51 pm
Contact:

Re: Easier / more options for train stops for quality or mixed chests

Post by Milichip »

Sure, but just to clarify though, that is only a tiny part of my suggestion which I mentioned I don't really care about nor need.
mrvn
Smart Inserter
Smart Inserter
Posts: 6002
Joined: Mon Sep 05, 2016 9:10 am
Contact:

Re: Easier / more options for train stops for quality or mixed chests

Post by mrvn »

Train stops should allow the cargo/fluid/signal wildcards to be used with a new Circuit Connection section "Set Station Name" added.

When "Set Station Name" is set the wildcard is replaced by the first (cargo/fluid/any) signal send to the train stop.

When "Each Signal" is set then the train stop has a name for every signal. So if the signals are "iron ore" and "copper ore" the above train stop would be "Load iron ore" and "Load copper ore" for the purpose of interrupt targets.

When "Read Station Name" is set then (when a train arrives) the signal used for the interrupt target is output onto the circuit connections. So if an interrupt triggered for "iron ore" and the target for the interrupt was "Load iron ore" then when the train arrives the "iron ore" signal is output by the station.

The last option is crucial I think because otherwise how is the station supposed to know what to load?
Attachments
train-stop.png
train-stop.png (470.38 KiB) Viewed 57 times
Post Reply

Return to “Ideas and Suggestions”