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: 243
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
Inserter
Inserter
Posts: 25
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
Inserter
Inserter
Posts: 25
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: 622
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: 12
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
Inserter
Inserter
Posts: 25
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: 622
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
Inserter
Inserter
Posts: 25
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: 12
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
Inserter
Inserter
Posts: 25
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: 1071
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 609 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
User avatar
raven2cz
Inserter
Inserter
Posts: 25
Joined: Thu Dec 05, 2024 8:50 am
Contact:

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

Post by raven2cz »

Tertius wrote: Thu Jan 09, 2025 7:22 pm
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?
...
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.
    ...
Thanks! I didn’t know some of the shortcuts, like "Rename all stations," which will definitely come in handy at some point. Of course, everything else is also great for users who are just starting with trains.
mmmPI
Smart Inserter
Smart Inserter
Posts: 3960
Joined: Mon Jun 20, 2016 6:10 pm
Contact:

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

Post by mmmPI »

raven2cz wrote: Wed Jan 08, 2025 8:31 am
mmmPI wrote: Wed Jan 08, 2025 7:15 am You can easily read train cargo using a train stop with "read train content". Also interrupts are allowed to triggered based on train content, which makes it another way to do.
Exactly, I found it there yesterday as well after those posts. This is the right approach. Let me once again highlight the basic principle of the problem. If something goes wrong—and believe me, in a mega-city, something will always go wrong—there absolutely must be safety protocols to get the train out of trouble. The state of the system should be carried by the train itself; if it does anything else, it's just distributing the state, and such a system will be unstable in the long term. That's why the information must come directly from the train, ideally evaluated onboard—i.e., interrupts. However, I can also imagine additional processing at the depot, such as safety measures or optimization procedures during unloading, where a new plan is implemented, or another safety mechanism is activated.

Interestingly, so far, I’ve only seen this approach in one example that was shared here. I simply haven’t seen it or discovered it in the others. But well, with Factorio, I always discover new things—often very well-hidden, though.

However, if any of you already have a good solution for error handling, I’d love to see it. It would certainly save a lot of work and development time.
I don't know, some players put speaker to ring when belts are contaminated, because they assume in mega base there will necessarily be some contamination, but they are a very tiny minority from what i can see on random multiplayer server. I haven't found myself needing to use any safety protocols beside the interrupt system.

If the system is unstable i think it's because it was poorly built but it's possible to make stable system in factorio quite easily :)
User avatar
raven2cz
Inserter
Inserter
Posts: 25
Joined: Thu Dec 05, 2024 8:50 am
Contact:

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

Post by raven2cz »

mmmPI wrote: Mon Jan 13, 2025 1:53 am
raven2cz wrote: Wed Jan 08, 2025 8:31 am
mmmPI wrote: Wed Jan 08, 2025 7:15 am You can easily read train cargo using a train stop with "read train content". Also interrupts are allowed to triggered based on train content, which makes it another way to do.
...
Interestingly, so far, I’ve only seen this approach in one example that was shared here. I simply haven’t seen it or discovered it in the others. But well, with Factorio, I always discover new things—often very well-hidden, though.

However, if any of you already have a good solution for error handling, I’d love to see it. It would certainly save a lot of work and development time.
I don't know, some players put speaker to ring when belts are contaminated, because they assume in mega base there will necessarily be some contamination, but they are a very tiny minority from what i can see on random multiplayer server. I haven't found myself needing to use any safety protocols beside the interrupt system.

If the system is unstable i think it's because it was poorly built but it's possible to make stable system in factorio quite easily :)
So, share it with us then! ;-) For now, I disagree with your opinion. As I said, there are plenty of systems with interrupts, but without proper error handling, it will fall apart. Most commonly, you'll notice a flaw in your system when you add another consumer (or two) and then increase, for instance, research to create higher consumption. That’s a pretty good stress test.

For me, Thomas Edison of efficiency and robustness so far is Hares.

Here’s my stress test of his system with 1-4-1 trains:

https://youtu.be/fF3XrbTKKNA
mmmPI
Smart Inserter
Smart Inserter
Posts: 3960
Joined: Mon Jun 20, 2016 6:10 pm
Contact:

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

Post by mmmPI »

raven2cz wrote: Mon Jan 13, 2025 6:18 am So, share it with us then! ;-) For now, I disagree with your opinion. As I said, there are plenty of systems with interrupts, but without proper error handling, it will fall apart.
I understand you think it's impossible to make reliable system using interrupts without error handling despite those shown to you already ?
User avatar
raven2cz
Inserter
Inserter
Posts: 25
Joined: Thu Dec 05, 2024 8:50 am
Contact:

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

Post by raven2cz »

mmmPI wrote: Sat Jan 18, 2025 8:34 pm
raven2cz wrote: Mon Jan 13, 2025 6:18 am So, share it with us then! ;-) For now, I disagree with your opinion. As I said, there are plenty of systems with interrupts, but without proper error handling, it will fall apart.
I understand you think it's impossible to make reliable system using interrupts without error handling despite those shown to you already ?
I would definitely appreciate an example of your system. This topic is meant to address the solution to this issue for pull systems based on the use of new interrupts.

So far, I’m building on Hare’s solution. After stress testing, I’ve applied it to the import of main resources for 1-4-1. I haven’t replaced internal communication yet. Error handling is working correctly. It has been functioning for several days now.
mmmPI
Smart Inserter
Smart Inserter
Posts: 3960
Joined: Mon Jun 20, 2016 6:10 pm
Contact:

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

Post by mmmPI »

raven2cz wrote: Mon Jan 06, 2025 5:50 pm From my perspective, it’s a system without feedback, and such a system will never function properly.
I disagree with this from your original post, as i said it's not the case that such system lack feedback or can't function properly.

And i think it's fairly obvious by now that you prooved it :
raven2cz wrote: Sun Jan 19, 2025 5:48 am So far, I’m building on Hare’s solution. After stress testing, I’ve applied it to the import of main resources for 1-4-1. I haven’t replaced internal communication yet. Error handling is working correctly. It has been functioning for several days now.
I don't feel like i need to show any of my system to disproove a wrong claim, as i said if feedback is required on the content of the wagon it's possible to use interrupts or read train content. I think it would be more suited to gameplay help or "show creation" otherwise if you want examples on how to use that.
Tertius
Smart Inserter
Smart Inserter
Posts: 1071
Joined: Fri Mar 19, 2021 5:58 pm
Contact:

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

Post by Tertius »

mmmPI wrote: Sun Jan 19, 2025 1:05 pm
raven2cz wrote: Mon Jan 06, 2025 5:50 pm From my perspective, it’s a system without feedback, and such a system will never function properly.
I disagree with this from your original post, as i said it's not the case that such system lack feedback or can't function properly.
I agree with that. It's not clear why you (@raven2cz) insist on implementing a train concept that doesn't work out in the end. The concepts that have been shown, for example by me, simply don't have the flaws you claim they have. I don't understand what you mean with these flaws, because I don't encounter them. The system you took over from Hares is kind of a toy (sorry Hares), because it's inherent low throughput and big rail footprint. It isn't able to handle high throughput with single stations. If you are satisfied with that, you haven't really exhausted the train system. It's much more capable than that. Keep in mind: the one single important goal for trains is throughput.

The system I outlined with the concept the game engine directly supports is:
  • simple
  • efficient
  • maximum throughput
  • error resistant
  • scalable
  • easy to manage
Let me explain (again), why it is like this:
It's simple, because it works without circuits.

It's efficient, because it has a minimum amount of buffering (buffer chests just needed for unloading stations), uses all available space (all stations are occupied with a train all the time, so no space wasted) and has a very low latency, since stations are empty only for a few seconds until they continue to load or unload a train. Instead of keeping a loading station empty until the buffer chests contain enough to fill a train and then call a train, you can just call the train immediately and load the train directly. You save the transfer time from buffer to train, and you save the space where the empty train has to waits before it is allowed to proceed.

It's maximum throughput, because full trains are waiting in front of unloading stations all the time, so an unloading station that becomes empty only has a few seconds (5-10) until the next train arrives. You're able to continuously unload with blue, even with green belts and never see the station run empty.

It's error resistant, because trains that somehow got mixed content isn't being sent to a loading station but instead to all the unloading stations that unloads the content from that train. Trains with undeliverable content end up in the depot, where you see it and can take manual action. You can even automate an action by emptying the train into active provider chests and let the logistic network of the base consume what it got. Only recommended for small leftover cargo.

It's scalable, because if the ever growing factory needs more material, and there are not enough loading stations any more to satisfy demand, you see this with the waiting areas in front of the unloading stations. If there are no trains of a certain material in the waiting area, there is a lack of that material and you need to build more loading stations. With every loading station, you also add a certain amount of additional trains.

It's easy to manage, because you set it up once, then just occasionally add a station and trains. All the stations are built independently from each other, no circuit wires. The only communication between stations is the train limit and the priority.

If an implementation isn't like I wrote, it isn't implemented properly and you need to improve it. Interrupts can be tricky.
User avatar
raven2cz
Inserter
Inserter
Posts: 25
Joined: Thu Dec 05, 2024 8:50 am
Contact:

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

Post by raven2cz »

mmmPI wrote: Sun Jan 19, 2025 1:05 pm
raven2cz wrote: Mon Jan 06, 2025 5:50 pm From my perspective, it’s a system without feedback, and such a system will never function properly.
I disagree with this from your original post, as i said it's not the case that such system lack feedback or can't function properly.

And i think it's fairly obvious by now that you prooved it :
raven2cz wrote: Sun Jan 19, 2025 5:48 am So far, I’m building on Hare’s solution. After stress testing, I’ve applied it to the import of main resources for 1-4-1. I haven’t replaced internal communication yet. Error handling is working correctly. It has been functioning for several days now.
I don't feel like i need to show any of my system to disproove a wrong claim, as i said if feedback is required on the content of the wagon it's possible to use interrupts or read train content. I think it would be more suited to gameplay help or "show creation" otherwise if you want examples on how to use that.
Hares's system has just proven that feedback is necessary, which he incorporated into the system. Thanks to this, the system works in test cases where other tested systems failed.

I followed a very straightforward approach. I had a range of systems available that I tested to see if I could apply them. Some even passed the initial tests but eventually all of them collapsed! That’s why I investigated further, and that’s why I created this issue.

Hares’s system took a different approach, utilizing the Symbol interrupt and introducing train control. However, there’s more to it that addresses the feedback problem. In other words, it confirmed exactly the issue I was pointing out and what the other systems weren’t addressing.

There’s no point in endlessly debating this here. If you don’t have any issues, you’re probably doing it correctly.

For instance, just two days ago, a new system from Konage was released:
Space Age Konage's LTN rail system
It also claims the system is 99% flawless. We’ll see once I put it through stress tests.
User avatar
raven2cz
Inserter
Inserter
Posts: 25
Joined: Thu Dec 05, 2024 8:50 am
Contact:

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

Post by raven2cz »

Tertius wrote: Sun Jan 19, 2025 2:27 pm
mmmPI wrote: Sun Jan 19, 2025 1:05 pm
raven2cz wrote: Mon Jan 06, 2025 5:50 pm From my perspective, it’s a system without feedback, and such a system will never function properly.
I disagree with this from your original post, as i said it's not the case that such system lack feedback or can't function properly.
...
The system I outlined with the concept the game engine directly supports is:
  • simple
  • efficient
  • maximum throughput
  • error resistant
  • scalable
  • easy to manage
...
Yeah, of course. We’re talking about a push system, right? That’s basically the foundation and has been there from the start, with priority and train limits being added over time. It’s a good system and has exactly all the properties you’re describing. For example, I use it on Fulgora, but on Gleba, I’m replacing it with a pull system now. Every system has its pros and cons, and I think I’ve already mentioned the disadvantages of the push system here as well.

Anyway, this issue is purely about Item and Symbol interrupts. The worst one, by the way, is the Item interrupt. But I’m honestly really drained from this topic now. I’ll occasionally use those ready-made tests to evaluate systems, and if anyone’s interested, I’ll point out the flaws I find, so nonsensical systems don’t get published unnecessarily.

This really does start to feel a bit like the small Linux distributions, where a user gets an idea and creates their own distro. Ideally, people would collaborate in one place and create a robust framework that would produce a quality pull system. But that’s more of a utopia because it would require knowing where the work is happening and sharing a common project.
Post Reply

Return to “Ideas and Suggestions”