Train Maintenance Orders

Post your ideas and suggestions how to improve the game.

Moderator: ickputzdirwech

Post Reply
MagicKyrano
Inserter
Inserter
Posts: 23
Joined: Sun Jul 23, 2017 3:13 pm
Contact:

Train Maintenance Orders

Post by MagicKyrano »

Summary

Trains can have maintenance orders.

Additional resource links

Friday Facts #212 - The GUI update (Part 1): http://steamcommunity.com/games/427520/ ... 3375443535 (Particularly the new Train GUI)

Explanation

How the train scheduling works now, is that each train has a set of stations and wait conditions. The working order is simple: Go to station #1 (if available), wait for the conditions to be fulfilled, then go to station #2, .... , until all stations have been visited, then go to station #1 again. It works, but things like fueling / repairing and other "maintenance" orders have to be inserted in almost any station.

What if there was a separate tab, where you could put maintenance orders for trains, besides the current train schedules?

Request / Proposal

Since the work for a new train GUI is already underway, I'll use the proposed new train GUI (Friday Facts #212 - The GUI update (Part 1)) to illustrate the proposal.

For clarification, since this GUI is not final, I'll add the disclaimers to this new GUI:
Disclaimers:

Everything you see are mockups made by Albert and are not from the game, but we will try to make it look almost identical in game.
The style (colors and look) is not final. This is the 3rd iteration and Albert is still experimenting with making everything look nice.
The purpose of these mockups are mostly to define the layout and interaction.
Image

This is the proposed new Train GUI. For ease of reading, I'll refer to it simply as Train GUI from now on.

As you can see, there is a tab for entering fuel and a tab for entering train stations and wait conditions. What I propose is that there is a 3rd tab, containing orders, stations and conditions pretty similar to the Train Schedule tab, named the Maintenance Tab for now. In here are orders every train evaluates just before going to the next train station in the schedule.

The idea of the maintenance tab is that orders besides the normal train schedule can be put in there. Each item in the list is constructed of:
  • Condition. What condition has to be correct for a train
  • Station. Which station to go to when the condition is correct
  • Wait Condition. When should the train evaluate the next station to go to.
An example tells best: Suppose you have a condition "When fuel (Rocket Fuel)< 10", that checks if there is enough Rocket Fuel in the Fuel cargo of the train. Now you could add an order in the Maintenance tab for when Rocket Fuel in the train is too low, and make it go to the station "Refuel" for 30 seconds. This order is completely separate from the normal train schedule, and when executed the train will only go refueling at that station when there is less than 10 Rocket Fuel available for the train.

Some more Maintenance Conditions that could be helpful to have:
  • No more active stations in the schedule. (helps prevent trains just standing still on the tracks when all their stations are disabled).
  • Train or cargo is damaged. (send to repair station).
  • Multiple /mixed items in cargo. (if resources are mixed by accident in a one-resource-only train, put it aside).
These Maintenance will be checked once per new train stop. So, just before the train is scheduled to stop at the next station in the train schedule, the Maintenance orders are checked once. If a maintenance order is followed, that train will first go to the station that maintenance order has given, and after that maintenance order had it's Wait Condition fulfilled, would it return to the normal train schedule again.

Advantages

With this Maintenance mode it is possible to give out-of-schedule commands, so you don't have to stop at refueling- and repair stations every round. It's also friendly in use, since if you don't use the Maintenance tab then normal train schedules are in effect. It's easy to expand with mods, if they can hook their own Maintenance commands to the system. it's light on FPS since the maintenance checks are done once per train only when leaving a station.

User avatar
Impatient
Filter Inserter
Filter Inserter
Posts: 880
Joined: Sun Mar 20, 2016 2:51 am
Contact:

Re: Train Maintenance Orders

Post by Impatient »

I like it.

Railroad Tycoon 3 could have used that system. Instead the trains stopped unnecessarily at a depot or water station whenever the oil or water was below half full. This was so annoying when trying to build efficient train lines, that i started to build depots and water towers off the main lines and the trains were only allowed to go to those tracks once they reached their destination station.

Factorio has a different approach, I know. Here the trains try to go to their destination, no matter what. Just saying to underline, that a secondary conditions tab can vastly increase the players options, when setting up schedules, without, as you mentioned, making complexity mandatory.

MagicKyrano
Inserter
Inserter
Posts: 23
Joined: Sun Jul 23, 2017 3:13 pm
Contact:

Re: Train Maintenance Orders

Post by MagicKyrano »

The intent is indeed being more flexible with giving commands to trains. And I have seen proposals that, for instance, let you program the train schedules just like a programming language, so something like this:

Code: Select all

10. Goto station Iron Ore Load
20. If Iron > 100 goto 40
30. Goto station Iron Ore Unload
40. Goto Station Iron Ore Load
But one of the reasons I like the proposed approach more, it that it's non-intrusive. Meaning, that if a player doesn't use this, the old system still stays the same. As long as the Maintenance tab is off or empty by default, it will not impact current games, and not change the way trains work for any player.

Engimage
Smart Inserter
Smart Inserter
Posts: 1067
Joined: Wed Jun 29, 2016 10:02 am
Contact:

Re: Train Maintenance Orders

Post by Engimage »

There is a topic that has a simple but yet very powerful way to implement this and also extend it pretty far beyond your idea
Train station skipping conditions
If implemented you might add such service station where you like in your scedule and train will visit it if particular conditions are met such as fuel low or whatever other reason you might want.

Post Reply

Return to “Ideas and Suggestions”