Minimalist Vanilla Programmable Train
- Goto.gif (10.39 MiB) Viewed 8830 times
1) Goals / Philosophy
Why
1) The system must be simple to build, to understand, to debug, to modify.
2) It should use a train with one particular schedule/no particular schedule and allow to control its routing without changing that train schedule from the GUI.
3) It was made like a puzzle/logic-contraption/toy to build more things upon.
Disclaimer : What is a programmable train routing ? what do you call dynamic schedule ? conditionnal routing ? Those terms i'm sure have very precise definitions, so precise that they may not totally overlap in everyone's mind and create misunderstanding and sadly conflicts. I'm not really knowledgeable on those things so please excuse my imprecise wording, and help me learn the more appropriate terms in case.
2) It should use a train with one particular schedule/no particular schedule and allow to control its routing without changing that train schedule from the GUI.
3) It was made like a puzzle/logic-contraption/toy to build more things upon.
Disclaimer : What is a programmable train routing ? what do you call dynamic schedule ? conditionnal routing ? Those terms i'm sure have very precise definitions, so precise that they may not totally overlap in everyone's mind and create misunderstanding and sadly conflicts. I'm not really knowledgeable on those things so please excuse my imprecise wording, and help me learn the more appropriate terms in case.
- zoomout2.png (1.16 MiB) Viewed 8830 times
2) Usage
What
Here the design is centered around only 1 train.
This train evolve in a matrix of different cell.
When arriving in a cell, the train is told to go in another cell.
When arriving in a cell, the train is told to go in another cell.
When arriving in a cell, the train is told to go in another cell.
You see the pattern here.
Each cell has a name, which is a number, Cell 1 Cell 2 Cell 3 Cell 4 .... Cell 314 ... Cell 4608 and so on.
Each cell has a destination, which is the name of another cell, which is a number, 1 2 3 4 ... 314.... 4608 and so on.
You can change the name of a cell by changing the N signal in that cell. Cell 1 has N=1 ; Cell 2 has N=2 ; Cell 3 has N=3.
You can change the destination by adding or removing copper plate in that cell. 1 copper plate means the train will go to cell 1, 2 copper plate means the train will go to cell 2, 314 copper plate means the train will go to cell 314.
[1] [4] [8] [5] [6] [3] [16] [9] [14] [2] [15] [7] [12] [11] [10] [13]
This train evolve in a matrix of different cell.
When arriving in a cell, the train is told to go in another cell.
When arriving in a cell, the train is told to go in another cell.
When arriving in a cell, the train is told to go in another cell.
You see the pattern here.
Each cell has a name, which is a number, Cell 1 Cell 2 Cell 3 Cell 4 .... Cell 314 ... Cell 4608 and so on.
Each cell has a destination, which is the name of another cell, which is a number, 1 2 3 4 ... 314.... 4608 and so on.
You can change the name of a cell by changing the N signal in that cell. Cell 1 has N=1 ; Cell 2 has N=2 ; Cell 3 has N=3.
You can change the destination by adding or removing copper plate in that cell. 1 copper plate means the train will go to cell 1, 2 copper plate means the train will go to cell 2, 314 copper plate means the train will go to cell 314.
[1] [4] [8] [5] [6] [3] [16] [9] [14] [2] [15] [7] [12] [11] [10] [13]
Code: Select all
[1] Goto [4]
[2] Goto [15]
[3] Goto [16]
[4] Goto [8]
[5] Goto [6]
[6] Goto [3]
[7] Goto [12]
[8] Goto [5]
[9] Goto [14]
[10] Goto [13]
[11] Goto [10]
[12] Goto [11]
[13] Goto [1]
[14] Goto [2]
[15] Goto [7]
[16] Goto [9]
3)Schedule
Pic
haha this one is easy.
- schedule.png (17.53 KiB) Viewed 8830 times
4)Technical
Grid of cell used
This is one cell, in the savefile it is the cell number 7. The station corresponding to the Cell7 is the one located in the upper part of the screenshot.
the routing logic is explained later this is a more general explanation about the grid itself. It is important to notice that what define a cell is just the station.. The grid system is a way to allow a train to reach any destination from any cell. It is used for simplicity and aesthetic. This means any "destination" and even "no destination" are valid parameter for any cell. The logic hasn't been tested/planned for cases where the train cannot reach its destination. When the train has no destination it stays at the last cell it was ordered to go and wait there for a destination or a cell with no name. Cell with no name act as receiver for "no destination" if they exist.
This is because train stops are enable/disabled to route the train. The rail layout configuration eliminate all risk of train getting stuck with all possible schedule in the savefile. Another rail layout configuration is possible, but require either 1) the same property or 2) a limited range of possible schedule that only include schedule that wouldn't stuck the train on a dead end.
Another requirement for the logic to function that is fulfilled by the grid : All Cell must be connected by a wire.
Side note : wire connection is required for the version i made; the wireless version i attempted either 1) scale in footprint depending on total number of different Cell named the same. 2) require increasing amount of time to do the routing depending on total number of different Cell named the same and they are not minimalist at all.
- Cell7.png (1.35 MiB) Viewed 8830 times
the routing logic is explained later this is a more general explanation about the grid itself. It is important to notice that what define a cell is just the station.. The grid system is a way to allow a train to reach any destination from any cell. It is used for simplicity and aesthetic. This means any "destination" and even "no destination" are valid parameter for any cell. The logic hasn't been tested/planned for cases where the train cannot reach its destination. When the train has no destination it stays at the last cell it was ordered to go and wait there for a destination or a cell with no name. Cell with no name act as receiver for "no destination" if they exist.
This is because train stops are enable/disabled to route the train. The rail layout configuration eliminate all risk of train getting stuck with all possible schedule in the savefile. Another rail layout configuration is possible, but require either 1) the same property or 2) a limited range of possible schedule that only include schedule that wouldn't stuck the train on a dead end.
Another requirement for the logic to function that is fulfilled by the grid : All Cell must be connected by a wire.
Side note : wire connection is required for the version i made; the wireless version i attempted either 1) scale in footprint depending on total number of different Cell named the same. 2) require increasing amount of time to do the routing depending on total number of different Cell named the same and they are not minimalist at all.
Station. The centerpoint
That should be a big enough picture to read the little texts when zooming on it in a another tab.
Sorry no HD but i re-draw the wire to make sure they were visible
The constant combinator is the name/number/adress of the station. N=7 for the Cell 7.
The steel chest holding copper plate is the next destination/target. For the Cell 7, the next destination in the example is Cell 12, so the steel chest contain 12 copper plate.
The decider combinator E has 2 inputs, the green wire AND the red wire. It is used to prevent the destination of all station to be sent at all time. Instead, the amount of copper plate in the steel chest is only forwarded to the network when a fish is detected on the red wire.
Inserter A,the belts B and inserter C act as memory cell.
This is because the "station 0" is set to read "read stopped train". ( it output a signal T triggering the inserter) and because the "station 0" is set to "send to train" ( it output a fish signal to the train triggering its schedule condition when the inserter A has grabbed the fish.)
From this point a fish is detected on the red wire since the inserter read its content and the belts too.
This means the number of copper plate in the steel chest is getting through the decider combinator and onto the network, but only the content of this particular chest.
Every "station 0" is connected to its own constant combinator outputing N via red wire. And now receive a number of copper plate that can activate the condition of the station itself.
For the case of cell 7, the situation would be that all 16 "station 0" receive now "12 copper plate".
The station with number N=12 will activate.
The train will go to this station.
When arriving at "station 0" of Cell 12, the train will start to output a signal T. That will trigger the inserter C from Cell 7 This means the "destination 12" with signal [12 copper plate] is now longer present in the network's green wire. The old destination reached, it is reset.
The inserter A of cell 12 will try to grab its own fish at the same time as inserter C of cell 7 puts the fish back. both being triggered by the train arriving at the "station 0" of the cell 12.
- logic3.png (1.31 MiB) Viewed 8830 times
Sorry no HD but i re-draw the wire to make sure they were visible
4.1 What is there
This is the same station but one has annotations. Let's start by the easiest : The "station 1" has no wire and no condition, no nothing. It is where trains wait for the next destination to be known. It is used to prevent trains from parking at "station 0" for the logic to function.The constant combinator is the name/number/adress of the station. N=7 for the Cell 7.
The steel chest holding copper plate is the next destination/target. For the Cell 7, the next destination in the example is Cell 12, so the steel chest contain 12 copper plate.
The decider combinator E has 2 inputs, the green wire AND the red wire. It is used to prevent the destination of all station to be sent at all time. Instead, the amount of copper plate in the steel chest is only forwarded to the network when a fish is detected on the red wire.
Inserter A,the belts B and inserter C act as memory cell.
4.2 How it's used
When a train arrive at a "station 0", Inserter A grabs a fish, and force the train to go to the "station 1" before inserter C has time to put the fish back on the left side.This is because the "station 0" is set to read "read stopped train". ( it output a signal T triggering the inserter) and because the "station 0" is set to "send to train" ( it output a fish signal to the train triggering its schedule condition when the inserter A has grabbed the fish.)
From this point a fish is detected on the red wire since the inserter read its content and the belts too.
This means the number of copper plate in the steel chest is getting through the decider combinator and onto the network, but only the content of this particular chest.
Every "station 0" is connected to its own constant combinator outputing N via red wire. And now receive a number of copper plate that can activate the condition of the station itself.
For the case of cell 7, the situation would be that all 16 "station 0" receive now "12 copper plate".
The station with number N=12 will activate.
The train will go to this station.
When arriving at "station 0" of Cell 12, the train will start to output a signal T. That will trigger the inserter C from Cell 7 This means the "destination 12" with signal [12 copper plate] is now longer present in the network's green wire. The old destination reached, it is reset.
The inserter A of cell 12 will try to grab its own fish at the same time as inserter C of cell 7 puts the fish back. both being triggered by the train arriving at the "station 0" of the cell 12.
5) End notes
blabla
I didn't even try to replace the memory cell by a single combinator because it's more complicated and I like having the fish as a visual feedback for debugging. But it would be easier to blueprint if you didn't have to put a fish in each cell. Plus fish would appreciate i guess
I used a steel chest with copper plate for the destination because it's easier to configure than sliding a constant combinator imo and you have a visual feedback when you forgot to set it up.
One way to implement this system that i'm playing with at the moment is having all cell redirect to cell 1. And then have Cell 1 ouput a different number of copper plate depending on the situation: low iron=> 12 copper plate, name the iron oupost N=12. low copper => 17 copper plate, name the copper outpost N= 17, low steel => 25 copper plate, name the steel factory N= 25.This makes a train go fetch the needed ressources based on what it reads in the unloading buffer area. Of course in this case it's easier to use combinators to output the number of copper plate and not using real copper plate in a steel chest .
I have written down the name of each cell in concrete on the floor which is only for demonstration purposes. It may be a bit error-inducing as one way to use that system is to change dynamically the adress of a cell. I haven't played with those yet but it's on my list of future experiment.
I didn't used any chain/rail signal. Those can be used to add another layer of logic. For example in my experiment with a train that goes fetch missing ressources, i used a rail signal just after the "station 1" of the main unloading cell and turn it red to prevent the train to gather more material when the content of the previous trip was unloaded but not yet sorted.
This system/method can be used in a puzzle/editor environment to make programs that are visually operating. But it can also be included in an another train network if it doesn't interfere with the logic. You can make a "cell" at different outpost by pasting the blueprint and setting up the adresses/destination. And then use 1 train amongst all the trains to have a special schedule dedicated to operate this particular system, the rails can be shared no problem. You just need to be careful with the signals T and the signal [copper plate] that are transmitted along the whole network of green wire.
You can't output 2 destination at the same time for 1 train, it would sum up the number of copper plate and give a wrong destination.
I don't think you can use 2 or more trains without big adaptation/totally different approach, the main obstacle in vanilla factorio being that two trains could potentially swap their destination if the train stations are named the same and both station are closer to the other train than the one who has the station has original planned destination.
On the save file you have 2 version of the grid. The one used for the GIF and explanation pictures. And one grid that is configured so that all cell redirect to Cell 1. And Cell 1 has no destination. You can place copper plate in the different chests starting with the chest in cell 1 and see the train react. I don't think there is a time where adding/removing copper plate would break the system in a way that cannot be solved by adding or removing copper plate.
If you get the train stuck by placing a number of copper plate that doesn't correspond to a Cell after the train started moving toward a valid destination. Then the train should go and wait at the closest "station 1" from where it was located when the destination became invalid, which is a random cell. You then need to look at the fish in the different cell. The only missing fish is the Cell that sent the train to the non-valid destination.
In this case you can read the value on the green wire. Either you will have a number of copper plate that is not the adress of a cell (emited from the cell with the missing fish). Or you will read nothing if there was no copper plate in the cell with the missing fish.
I haven't found any cause of failure appart from missing fuel, which is why you have so many infinity chest fuel on the map added to each station.
Edit : added blueprint
I used a steel chest with copper plate for the destination because it's easier to configure than sliding a constant combinator imo and you have a visual feedback when you forgot to set it up.
One way to implement this system that i'm playing with at the moment is having all cell redirect to cell 1. And then have Cell 1 ouput a different number of copper plate depending on the situation: low iron=> 12 copper plate, name the iron oupost N=12. low copper => 17 copper plate, name the copper outpost N= 17, low steel => 25 copper plate, name the steel factory N= 25.This makes a train go fetch the needed ressources based on what it reads in the unloading buffer area. Of course in this case it's easier to use combinators to output the number of copper plate and not using real copper plate in a steel chest .
I have written down the name of each cell in concrete on the floor which is only for demonstration purposes. It may be a bit error-inducing as one way to use that system is to change dynamically the adress of a cell. I haven't played with those yet but it's on my list of future experiment.
I didn't used any chain/rail signal. Those can be used to add another layer of logic. For example in my experiment with a train that goes fetch missing ressources, i used a rail signal just after the "station 1" of the main unloading cell and turn it red to prevent the train to gather more material when the content of the previous trip was unloaded but not yet sorted.
This system/method can be used in a puzzle/editor environment to make programs that are visually operating. But it can also be included in an another train network if it doesn't interfere with the logic. You can make a "cell" at different outpost by pasting the blueprint and setting up the adresses/destination. And then use 1 train amongst all the trains to have a special schedule dedicated to operate this particular system, the rails can be shared no problem. You just need to be careful with the signals T and the signal [copper plate] that are transmitted along the whole network of green wire.
You can't output 2 destination at the same time for 1 train, it would sum up the number of copper plate and give a wrong destination.
I don't think you can use 2 or more trains without big adaptation/totally different approach, the main obstacle in vanilla factorio being that two trains could potentially swap their destination if the train stations are named the same and both station are closer to the other train than the one who has the station has original planned destination.
On the save file you have 2 version of the grid. The one used for the GIF and explanation pictures. And one grid that is configured so that all cell redirect to Cell 1. And Cell 1 has no destination. You can place copper plate in the different chests starting with the chest in cell 1 and see the train react. I don't think there is a time where adding/removing copper plate would break the system in a way that cannot be solved by adding or removing copper plate.
If you get the train stuck by placing a number of copper plate that doesn't correspond to a Cell after the train started moving toward a valid destination. Then the train should go and wait at the closest "station 1" from where it was located when the destination became invalid, which is a random cell. You then need to look at the fish in the different cell. The only missing fish is the Cell that sent the train to the non-valid destination.
In this case you can read the value on the green wire. Either you will have a number of copper plate that is not the adress of a cell (emited from the cell with the missing fish). Or you will read nothing if there was no copper plate in the cell with the missing fish.
I haven't found any cause of failure appart from missing fuel, which is why you have so many infinity chest fuel on the map added to each station.
Edit : added blueprint
- Minimalist Vanilla Programmable Train.zip
- (4.23 MiB) Downloaded 365 times
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