Page 1 of 1

Setting train orders to create dynamic train routing

Posted: Wed Feb 03, 2016 7:13 pm
by Freetambo
Lately, I've been using the Rail Logic System to create a system that dynamically routs trains. If my smelter needs Iron, a train is dispatched to get Iron Ore, and bring it to the smelter. All sorts of cargo are transported this way, by a fairly small number of trains: the same train that transports rocket fuel to my silo now, might transport iron ore 5 minutes later. I think this is awesome, and I presume more people do this/would like to do this when it's possible in the vanilla game (the mod isn't quite as user friendly as you'd like). My concern is that what I've read in the latest Friday Facts (FF) really doesn't allow me to make such a system. First, let me describe my current system, then I'll discuss what I see as problems with the proposed implementations in the FF. After that I'll briefly describe my solution: have circuit network writers interface directly with trains.

So, how do I currently use the Rail Logic System? The central element is a set of parallel tracks where my trains get fuel. Each of these have a station, and all of these stations share the same name: Central Depot. If there's nothing else to do, all lanes leading away from the Central Depot are blocked by "Rail Switches" (an entity from the Rail Logic System). So all trains have to wait. As soon as my smelters need iron, the switch controlling the "Iron Lane" opens, and a train goes through it. In this lane, I've placed a device - a "Train goto controller" (also from the mod) that sets the train's destination to my Iron Ore mine. So that's where the train will go. There's a combinator system in place that closes the rail switch for a minute or so after a train passes it to prevent all trains going to one place at the same time. Once the train arrives at the mine, and has been loaded with a decent amount of ore, it will get routed to smelter. As soon as the train is empty at the smelter, it returns to the depot. It's slightly more complex (for example there's multiple ore mines, and each cargo has its own lane that works like) but you get the gist of it.

Now here's the description of how the devs aim to implement train routing (from last weeks FF):
Trains. Many of you are looking forward to controlling trains using the circuit network. I don't want it to be overly complicated, so the be best idea so far(that I got from someone on the forum) is to have a circuit condition that "disables" the train station. If a train's next train stop is disabled this way, it will skip it and move to the next one. Additionally the train wait conditions can also use the circuit network. So this should offer good flexibility without complicating the GUI or making hard to understand gameplay mechanics.
First, let me just say that I totally agree with some of the objectives, especially keeping it simple. However, I would like to continue doing stuff as outlined above, and I can't figure it out. Here's my thoughts on recreating my system as described above, using the new mechanics: I guess that I would have all stations in each of the trains' order list. Additionally, I would always keep the central depot station "active". As long as all other stations are disabled, my trains go there, and presumably stay put once they arrive. That's cool. Now I activate the Iron Mine. How do I prevent all trains from going there? I'd also need to activate the smelter, so perhaps some trains will just go there... The proposed system might work if I my depot station is my unloading station. But that would mean I'd need separate trains for copper, iron, oil, and whatever else I transport. Even then I see some problems. So it doesn't seem attractive at all. Am I missing something here?

Now, I have thought of some ideas how to make this easier. A big thing that'd help would be having a dedicated circuit network signal for each station. If, by whatever means, I send such a signal to a train, that's where it'd go. A good way to send the signal to the train would be by putting a Circuit Network Connector Writer next to the rails. The Rail Switch from the Rail Logic System mod could similarly be replaced by placing Circuit Network Connector Writer next to a signal. Circuit Network Connector Readers could also be placed: from a train they'd return the order and cargo; from a signal it'd simply read its state: red or green.

Would this work?

Re: Setting train orders to create dynamic train routing

Posted: Sun Mar 20, 2016 5:14 pm
by ssilk
I reread this suggestion (due to creation of another).
This is a quite confusing one. But nonetheless interesting. It would be useful, to explain this (the last paragraph) a bit more.