The Train System Lacks Proper System Feedback – Leading to Ongoing Frustration

Post your ideas and suggestions how to improve the game.

Moderator: ickputzdirwech

computeraddict
Fast Inserter
Fast Inserter
Posts: 234
Joined: Sat Oct 07, 2023 6:44 am
Contact:

Re: The Train System Lacks Proper System Feedback – Leading to Ongoing Frustration

Post by computeraddict »

raven2cz wrote: Tue Jan 07, 2025 10:33 am If you do have a solution like the one you describe as "perfectly fine train systems," I would be glad to see its blueprint so that I can evaluate it. Thank you.
Item pickup stations, item drop-off stations, trains that run that as a dedicated route. If your only goal is a train system that never fails it's literally that easy.

Which is why I blasted you for not communicating your design goals, because anyone who has played with trains for an hour can build that basic, robust system. You still haven't said what metrics you're trying to optimize for that requires something different.
User avatar
raven2cz
Burner Inserter
Burner Inserter
Posts: 19
Joined: Thu Dec 05, 2024 8:50 am
Contact:

Re: The Train System Lacks Proper System Feedback – Leading to Ongoing Frustration

Post by raven2cz »

Hares wrote: Wed Jan 08, 2025 12:47 pm
raven2cz wrote: Wed Jan 08, 2025 5:49 am
I know I’m being annoying, but I consider the depot calculation to be the core of the entire system, and if I don’t know exactly how it works in your setup, the entire system I assemble for testing will be different.

I could take the approach of incorporating it from my own depot solution, but then the test will be different, and if the system fails, it won’t be a test of your system.

I don’t know if you’re aware, but the depot calculation is completely missing in that blueprint.
Of course you can't find any depot calculation in my BPs because there's none. The system works on the train stops on both ends being open -- that's why it has such complicated rulings in the main delivery interrupt.
  • Train sits on the depot with empty cargo
    ...
First of all, thank you very much for the thorough description of the whole system! It saves me a lot of time, as I won’t have to rely solely on reverse engineering.

However, you’ll have to go a bit slower with me sometimes—I’m a boomer after all… I still haven’t quite grasped the beginning of the system, i.e., the basic activation of the interrupt that ensures the correct resource to be handled gets loaded.

According to your algorithm’s description, the algorithm begins, as I expected, at "the depot with empty cargo," where it simply waits. However, from there, no further interrupt activation occurs. There must be some logic in the depot that determines where the train should go, but in the blueprint depot section, I only see a combinator with a random input defined.

This is exactly what I don’t understand—who or what ensures that the required signal for servicing gets sent to activate the interrupt.

For example, in the solution I use, information is sent via radar from the requester, where the result is already calculated regarding how many locomotives the requester can demand. The depot's combinator is then connected to the corresponding channel and cyclically switches between the available options. The first train picks it up, automatically removing it from the list, and the next one is offered for servicing.
User avatar
raven2cz
Burner Inserter
Burner Inserter
Posts: 19
Joined: Thu Dec 05, 2024 8:50 am
Contact:

Re: The Train System Lacks Proper System Feedback – Leading to Ongoing Frustration

Post by raven2cz »

computeraddict wrote: Wed Jan 08, 2025 3:21 pm
raven2cz wrote: Tue Jan 07, 2025 10:33 am If you do have a solution like the one you describe as "perfectly fine train systems," I would be glad to see its blueprint so that I can evaluate it. Thank you.
Item pickup stations, item drop-off stations, trains that run that as a dedicated route. If your only goal is a train system that never fails it's literally that easy.

Which is why I blasted you for not communicating your design goals, because anyone who has played with trains for an hour can build that basic, robust system. You still haven't said what metrics you're trying to optimize for that requires something different.
Can you generally explain how you handle disruptions in the train system? How do you recover from an undesired state in the system to return it to a stable state?

In my case, the description can be following

System: Pull system, not push. Efficient and resource-friendly with minimal delays for internal communication within a mega city, used for supplying sub-production centers and transporting intermediate products to the main bus. This is not about transporting goods from external storage to the mega city.

Requirement: In case of potential system failure, ensure proper handling of trains to prevent system blockage or train starvation, i.e., restoring the system state after a typical system error. Such errors can arise in various forms within a mega city. For example:
  • A cargo train is loaded with goods it cannot deliver, returns to the depot, and error handling is required.
  • A server error occurs, counters are miscalculated, and the game itself occasionally bugs out, requiring error state handling when cargo is delivered incorrectly.
  • A train is queued at a provider but is rescheduled and blocked by another train. However, the train already has a task assigned to it, which it cannot fulfill, and another train is not dispatched to the new location. The system assumes it will be serviced, resulting in a deadlock.
In general, the goal is to resolve error handling issues, mostly related to the cargo contents of trains. These trains are not empty, and the system state must be addressed.

Specific details vary depending on the system in use and whether interrupt items or symbols are utilized.
User avatar
Hares
Filter Inserter
Filter Inserter
Posts: 619
Joined: Sat Oct 22, 2022 8:05 pm
Contact:

Re: The Train System Lacks Proper System Feedback – Leading to Ongoing Frustration

Post by Hares »

raven2cz wrote: Wed Jan 08, 2025 4:51 pm [...]
This is getting out-of-topic.
Let's continue conversation in a different place. Feel free to DM me or contact me in Discord (username: ussxhares).
InUniverse
Burner Inserter
Burner Inserter
Posts: 8
Joined: Sun Dec 01, 2024 12:30 pm
Contact:

Re: The Train System Lacks Proper System Feedback – Leading to Ongoing Frustration

Post by InUniverse »

raven2cz wrote: Wed Jan 08, 2025 7:14 pm
  • A cargo train is loaded with goods it cannot deliver, returns to the depot, and error handling is required.
  • A server error occurs, counters are miscalculated, and the game itself occasionally bugs out, requiring error state handling when cargo is delivered incorrectly.
  • A train is queued at a provider but is rescheduled and blocked by another train. However, the train already has a task assigned to it, which it cannot fulfill, and another train is not dispatched to the new location. The system assumes it will be serviced, resulting in a deadlock.
For the system raven2cz was describing:
  • There are no depots involved. If there's nowhere for the cargo to go, the train will simply idle at the pickup station until a dropoff station opens up. Since that particular train can only carry that one type of item, this has no opportunity cost; this train would never be handling any other type of cargo anyways.
  • If you want to be really safe, you can ensure contaminants won't spread downstream by filtering the loading and unloading inserters/pumps, or the cargo wagon's inventory slots. But... since each train only ever handles one type of cargo, there's not really any way for things to get mixed up barring serious user error (i.e. misnaming a stop, misplaced inserter continuously contaminating output belt with junk)
  • There's just no way for something like this to happen if you're not doing something unnecessarily complicated with circuit networks; this system requires exactly zero circuit networks. You speak as if circuit networks are a necessity for any train system, but it is unclear to me why.
User avatar
raven2cz
Burner Inserter
Burner Inserter
Posts: 19
Joined: Thu Dec 05, 2024 8:50 am
Contact:

Re: The Train System Lacks Proper System Feedback – Leading to Ongoing Frustration

Post by raven2cz »

InUniverse wrote: Thu Jan 09, 2025 2:07 am
raven2cz wrote: Wed Jan 08, 2025 7:14 pm
  • A cargo train is loaded with goods it cannot deliver, returns to the depot, and error handling is required.
  • A server error occurs, counters are miscalculated, and the game itself occasionally bugs out, requiring error state handling when cargo is delivered incorrectly.
    ...
For the system raven2cz was describing:
  • There are no depots involved. If there's nowhere for the cargo to go, the train will simply idle at the pickup station until a dropoff station opens up. Since that particular train can only carry that one type of item, this has no opportunity cost; this train would never be handling any other type of cargo anyways.
  • If you want to be really safe, you can ensure contaminants won't spread downstream by filtering the loading and unloading inserters/pumps, or the cargo wagon's inventory slots. But... since each train only ever handles one type of cargo, there's not really any way for things to get mixed up barring serious user error (i.e. misnaming a stop, misplaced inserter continuously contaminating output belt with junk)
  • There's just no way for something like this to happen if you're not doing something unnecessarily complicated with circuit networks; this system requires exactly zero circuit networks. You speak as if circuit networks are a necessity for any train system, but it is unclear to me why.
Yes, but now imagine you start running out of something, or as I mentioned directly here, you begin developing legendary modules, and they start consuming more of certain resources. Now you need additional supplies. The system you’re describing is far from efficient. It’s not maintenance-free at all—you’ll have to reconfigure a lot in the trains, set up maybe 10 more trains, create new groups, or reduce the usage of others because they’ll start draining blue circuits, etc.

From a technical standpoint, if I’m being strict, you’ve just failed to meet the requirements. Earlier, I provided a description of the technical specifications, which are not fulfilled here.

Again, I’m urging attention to this issue that has been raised. It’s about utilizing the newly introduced interrupts in the game to make the system robust and usable for everyone. This is to prevent situations where the designer ends up like Edison with burned-out light bulbs. I argue that the seven systems already officially provided to people fail, which clearly shows that the original design is very risky and conceals many hidden issues that will surface within a few days, ultimately causing the whole system to break down. This is not just about my system—I’ve tested a wide range of systems in various situations.

Gradually, this issue has evolved, and it is now clear that the common problem with these systems is either the complete lack of security in the form of error handling or its improper configuration.

For example, Hares provided a clear definition of error state handling, which is exactly what this issue is about.

I would like people who are now starting to build new train systems and moving away from LTN and other train systems to understand this issue. Ideally, they would find the correct solution here and avoid spending as much time on it as Edison or I did.
User avatar
Hares
Filter Inserter
Filter Inserter
Posts: 619
Joined: Sat Oct 22, 2022 8:05 pm
Contact:

Re: The Train System Lacks Proper System Feedback – Leading to Ongoing Frustration

Post by Hares »

Speaking of LTN, I made a true LTN train (any items in, any items out, any quantities) for my Fulgora starport which didn't fit (literally) the main island, buuuut...
  1. It only supports one, and exactly one train
  2. It only supports one, and exactly one provider
  3. It only supports one, and exactly one requestor
  4. It utilizes at least one wire on the radar channel
For anybody played Space Exploration, this is the closest to how the most basic MIR (multi-item rockets) are working, except the requestor respects rocket capacity parameter. The system works on static schedule with the only interrupt being refuel, however. Unlike 1.1, you no longer need dedicated inserter to clean up the chests after train departure because of the powerful "Trash unrequested" flag on requester & buffer chests. Technical details:
  1. The requestor reads from the rocket silo which items are needed by the platform in orbit, and rounds them up to the nearest rocket capacity
  2. It then compares these numbers against the contents of the current island network, and sends the defficite to the radar
  3. When main island detects signal on that radar and it has at least some items of required kind within the network, the following events happen almost simulteniously:
    • The provider train stop opens, allowing for the train to depart from starport where it's parked in
    • The provider starts requesting items to the buffer chest
  4. When train arrives, items are re-requested to the requester chests near each wagon, and the train content is compared to the request from radar
    • Note: In my design, I store request from radar to a memory cell when the train is parked to remove fluctuations, but that's not required
  5. When the current request is satisfied, the train gets green signal and is free to move
  6. When the train is not satisfied by having its request time out, it can also depart too. This prevents complete stalemates if any of requested items is not fully satisfied within the network, allowing to train to deliver whatever is possible first, potentially for manual platform departure trigger.
The system worked without any changes for more than 200 hours without any incidents.
User avatar
raven2cz
Burner Inserter
Burner Inserter
Posts: 19
Joined: Thu Dec 05, 2024 8:50 am
Contact:

Re: The Train System Lacks Proper System Feedback – Leading to Ongoing Frustration

Post by raven2cz »

Hares wrote: Thu Jan 09, 2025 9:08 am Speaking of LTN, I made a true LTN train (any items in, any items out, any quantities) for my Fulgora starport which didn't fit (literally) the main island, buuuut...
  1. It only supports one, and exactly one train
  2. It only supports one, and exactly one provider
  3. It only supports one, and exactly one requestor
  4. It utilizes at least one wire on the radar channel
That's a very nice solution. The funny thing is, we were clearly solving the exact same problem. I didn’t want the whole island clogged up with batteries, and there wasn’t space for the development of rare batteries, so I started importing uranium for two small nuclear power plants. However, that required a well-organized supply management system.

Interestingly, the very first part of your scenario is exactly the same as mine: requesting items, checking the state of things on the planet, deducting the stock levels, and finally linking everything to the requester chests.

Additionally, just two days ago, I was working on optimizing balancing chests because on the western side of the island, quality control is already in place, and it’s necessary to have everything properly cached.

In the end, though, I didn’t use trains for further distribution. Instead, I upgraded my bots to level 14, which cost me about 512k research packs. Now the bots handle the distribution from that point onward.

Since we're discussing train systems here, my contribution doesn’t quite fit in. I just wanted to mention that the initial platform management and pull system setup is absolutely identical to yours.
InUniverse
Burner Inserter
Burner Inserter
Posts: 8
Joined: Sun Dec 01, 2024 12:30 pm
Contact:

Re: The Train System Lacks Proper System Feedback – Leading to Ongoing Frustration

Post by InUniverse »

raven2cz wrote: Thu Jan 09, 2025 4:48 am Yes, but now imagine you start running out of something, or as I mentioned directly here, you begin developing legendary modules, and they start consuming more of certain resources. Now you need additional supplies. The system you’re describing is far from efficient. It’s not maintenance-free at all—you’ll have to reconfigure a lot in the trains, set up maybe 10 more trains, create new groups, or reduce the usage of others because they’ll start draining blue circuits, etc.
????? No matter what, you have to set up more ore patches if you want more ore. You have to set up more production if you want more production. You have to add more trains if you want more item throughput on your train system. You have to expand your base if you want a bigger base. That isn't a problem a train system can possibly solve. Factory maintenance is the entire game.

EDIT:You don't need to reconfigure existing trains at all. You just add new pickup and dropoff stations for an item type wherever applicable, and add the appropriate amount of trains to populate each new pickup station.
User avatar
raven2cz
Burner Inserter
Burner Inserter
Posts: 19
Joined: Thu Dec 05, 2024 8:50 am
Contact:

Re: The Train System Lacks Proper System Feedback – Leading to Ongoing Frustration

Post by raven2cz »

InUniverse wrote: Thu Jan 09, 2025 12:12 pm
raven2cz wrote: Thu Jan 09, 2025 4:48 am EDIT:You don't need to reconfigure existing trains at all. You just add new pickup and dropoff stations for an item type wherever applicable, and add the appropriate amount of trains to populate each new pickup station.
Do you mean without interrupts or with them? So, should the train be set manually, or should there be a template where you insert the train and simply select the specific type for servicing?
Tertius
Smart Inserter
Smart Inserter
Posts: 1045
Joined: Fri Mar 19, 2021 5:58 pm
Contact:

Re: The Train System Lacks Proper System Feedback – Leading to Ongoing Frustration

Post by Tertius »

raven2cz wrote: Thu Jan 09, 2025 12:54 pm Do you mean without interrupts or with them? So, should the train be set manually, or should there be a template where you insert the train and simply select the specific type for servicing?
There are train groups. You can organize all your trains in groups. If you edit a schedule (or an interrupt setup), the changes go to every train in its group:
01-09-2025, 20-11-47.png
01-09-2025, 20-11-47.png (70.57 KiB) Viewed 38 times
While we're talking about it, there are more QoL features not directly visible:
  • Global rename. Rename all stations with the same name to a different name: press CTRL-ENTER or CTRL-CLICK to submit after editing the name of one station. Great and essential for standardizing and unifying names. Works with train groups and logistics groups as well.
  • Copy+Paste trains instead of manual creating. Choose a random train of your desired group and press CTRL-C, then select the area with SHIFT-drag. The blueprint dialog will open. Deactivate all filters, then activate "Trains" and optionally Vehicle fuel. Create blueprint, and you have a train blueprint in hand you can directly put on any rail. If there is roboport coverage with locomotives, wagons and fuel, it gets built automatically and will start in automatic mode as soon as every part is built. Not required to edit anything. The copy is 100%.
  • Instead of selecting a train group in the menu, you can copy a train configuration from one train to another train with SHIFT-RIGHTCLICK + SHIFT-LEFTCLICK similar to copying settings across machines.
  • an overview of all train groups are in Train Overview (hotkey O) > Groups
Post Reply

Return to “Ideas and Suggestions”