Page 1 of 1

VTN by PMAP

Posted: Tue Feb 06, 2024 5:17 pm
by PMAP
Introduction
Hello everyone and thanks to Google Translator.

The developers are busy improving trains and stations (Train 2.0), and while we wait, I decided to share my implementation of a logistics train network system in vanilla.

System: Vanilla Train Network
Goal: The system simplifies the setup of trains and stations, as well as further interaction with them.
Author: PMAP
Version: 1.01
Book of blueprints
  • Posted on the website https://factorioprints.com/view/-NpzR-KqhdlJUYW2BcH7
  • Contains the system itself in the form of a constructor.
  • Additionally contains a simple railway as an example of organizing a global network and connecting stations to it (the test scenario is built on it).
Test scenario
  • You can see this system in action by downloading the test scenario. Unpack it into your scenarios folder. There you can see the station settings and try something out.
  • Using the console command "/c game.player.create_character()" you can display the character.
  • Using the console command "/c game.speed=X" you can speed up the game, 1 - normal speed, 2 - x2, 3 - x3 and so on.
Megabase
  • In addition to the test scenario, you can look at the operation of VTN in a megabase.
The benefits of this system
  • No mods required, built on the vanilla game.
  • Can be used at the beginning of the game, you only need trains, stations and combinators.
  • Unified for any train length.
  • Completely eliminates the need for the player to set up train schedules.
  • Any station can work with several resources.
  • The logic of each station is self-sufficient, there is no need to deploy anything else (such as a smart depot, central server, etc.).
  • There is no need to come up with names for the requester (unloading) stations, they are all the same.
  • Convenience in understanding the work (very close to drone chests - requests and provides).
  • Allows you to completely copy any production with stations and trains, without needing to change anything.
  • You can use any train in the system, at any time, for your own purposes, and then send it to a provider or refueling station (via a schedule), and this will not interfere with the system in any way.
Disadvantages of this system
  • Near each station there is a “pack” of combinators intertwined with all kinds of wires, it doesn’t look “very good” and can “hurt the eye.” But this is at first, and over time you get used to it.
  • Setting up a station without the help of drones is labor-intensive.
  • The need to combine all stations into one network (red and green wires).
Details
Global and local networks
System shutdown
Refueling station
Regular provider station
Specialized provider station
Regular requester station
Specialized requester station
Player Requester Station Section
Recommendations
Repath of train destination
How to place a provider station
How to place a requester station
Conclusion
I hope this system is useful to someone.
Leave your questions here, I will try to answer them.

Re: VTN by PMAP

Posted: Wed Aug 14, 2024 6:47 pm
by DarkShadow44
Can you put a high level explanation how how this whole thing works?

Re: VTN by PMAP

Posted: Mon Sep 16, 2024 3:33 am
by PMAP
DarkShadow44 wrote:
Wed Aug 14, 2024 6:47 pm
Can you put a high level explanation how how this whole thing works?
I don't want to describe each combinator. But I will describe the algorithm embedded in them, maybe it will help.

Let's skip some preliminary moments and imagine that all supply stations are ready to send their trains, and some request station suddenly needs resource Z.

1. The request station informs the global network about its lack of resource Z.
2. The supply station of resource Z reacts to this and declares its desire to send a train.
3. All other stations in the system fall silent, the communication channel is blocked.
4. Several applicants may apply at the same time.
5. In this case, the supply stations start a game of more/less for elimination based on train identifiers and priorities.
6. The winner is the one with the smallest number.
7. As soon as the winner is determined, he begins to ask the stations requesting resource Z to open, in turn, from the most to the least priority.
8. Any opened station reports this, and at the same moment the train departs, and the game itself chooses which one it will go to.
9. The station that sent the train calms down and unblocks the communication channel.

All these processes occur in several game ticks, and the opening of the station and the start of the train generally in one game tick.