Cyclone Posted January 21, 2023 Posted January 21, 2023 (edited) Before I begin, I want to note that there have been bans since I submitted this post for approval against players for "blocking the line". What I'm about to go into is a literally foolproof method of AI operation that ensures the AI literally cannot block the line even if a player tries to send a train. This involves only using one platform and leaving the other for southbound traffic, and if there's a train at that platform, do not accept any additional southbound traffic. It's that simple to keep this area from plugging it up. Until this is implemented, this block will continue to occur, and the player is not to blame. There should be no bans for bad programming. It's that simple. Let me be absolutely frank. The way the AI in the system operates, an attempt will always be made to get trains onto any platform that is available. Even if it's not logical or could block up traffic. It has happened at Katowice with westbound traffic at all eight platforms and nowhere for eastbound traffic to go. And it also happens at Sosnowiec on Line 660. NOTE: In the following, "Platform 1" refers to a stop on the island platform at Track 1, and "Platform 2" refers to a stop at the island platform on Track 2; in the UK, this is exactly how the platform and tracks are designated. Right now, the AI at the station puts a train correctly through the right side (platform 1) of the island platform when the station is empty. This is correct behaviour. It should then ask for clearance for the train before accepting any other trains off of the single track. Let's assume SG does not respond. The next train coming in will be put into the left platform (platform 2), and we have no tracks for traffic from SG at this point. I'm not going to explore this situation specifically, but one slightly different. Sometimes, a train will be received to Platform 1 but the AI will not offer it to SG. For instance, 42915 (I'm making up the numbers) arrives, but 24157 is hot behind in the single lane. SP will not offer 42915, but instead wait for 24157 to arrive at Platform 2 and then offer that to SG instead. If the player tries to send a train at the wrong moment, with no trains offered in time, this creates gridlock and closes Line 660. The only fix is to sub signal a human driver back into the section leading to Katowice Zawodzie and then ask SP to take over the red arrow with its traffic, and thus block up Line 2 - which has express trains, way higher priority than anything SP has - blocked up while the problem is being solved. NOTE: There is roughly a one or two minute window where the second train is coming and the AI says more important traffic is coming, but a player can still send a train to Platform 2. If timed correctly, the train in Platform 1 is forced to be offered to SG instead - which it should be anyway. The AI needs to be changed as such: 1. A train enter Platform 1 (correct) and is IMMEDIATELY offered to SG 2. Platform 2 is not used at all by the SP AI (a human still can in the future with proper communication so as to not block up the line) 3. A second train is stopped at the single line entrance to the station and held there until the train on Platform 1 is received 4. Should a player try sending a train, Platform 2 stays open and one train can thus be cleared safely 5. Should a player try to send a second train while Platform 2 is occupied, the AI should specifically be checking the area around Platform 2 (NOT the single line) 6. Reactions should apply to both phone and computer attempts to send the second train: 6a. If a phone call is made, say the line is blocked by an occupied train (Platform 2), don't say anything about the incoming train; continue to do this until the player clues in that a train needs to be accepted to prevent gridlock 6b. If a computer attempt is made to bypass the phone and change the arrow, the AI already knows Platform 2 is occupied and ignores the request to set the junction like any reasonable human dispatcher would 7. Once the Platform 1 train is accepted, any holding train is moved to Platform 1; if the line to Dandowka is clear, the Platform 2 train proceeds, but if not, the next train also needs to be accepted by SG in an attempt to clear the single line or Platform 2 will remain unavailable This keeps the critical Line 660 clear and prevents total gridlock from occurring. The only problem at this point is that a path can be cancelled and the dispatch arrow is not recoverable. This is why we need a human; substitute signals bypass this problem. We also need a special operation to reset an arrow to a grey status. Other than that, 90% of SG problems are solved by the above AI logic steps. As a final note, a SG dispatcher can use a substitute signal to force one or more trains (it can happen!) onto 660. This is, done improperly, a possible attempt to thwart the game and can be seen as a player intentionally plugging the line. A developer once commented on Discord that it's currently our own fault for plugging up the line even though the AI does not behave correctly. This creates negative PR for your company and your game. Be careful what you say to players! I urge this kind of behaviour on all single line branch lines now and in the future and am available to provide information on the developer end if requested. Edited January 21, 2023 by Cyclone Introductory Comment Regarding Recent Server Bans 1
Cyclone Posted January 21, 2023 Author Posted January 21, 2023 (edited) Evidence of why the current AI doesn't work. Two trains on the right both got routed in, westbound. With my steps, the second train would stay at the single line entrance and the other platform would be clear, letting the train on 660 enter. Edited January 22, 2023 by Cyclone
Cyclone Posted January 26, 2023 Author Posted January 26, 2023 (edited) Finally out of approval purgatory. And now I'm learning that apparently the problem has been the AI assuming there are no station tracks on each station after Kazimierz did the exact same thing from DGW. Funny that players were blamed initially. Going to put out another suggestion within a suggestion. Stop blaming us for broken things. In fact, given this is early access, we SHOULD be trying to break things so the final build can be as good as it can be. The fact that we're finding these things is a huge benefit for the final build. Don't blame players for problems in how the AI operates, and be appreciative when we locate these errors so they can be corrected. In fact, don't blame players at all in public comments until it's fully investigated. Players tend to know what they're talking about; they're the ones playing it. It seems this will be fixed and we can finally move forward, but I will still say that finishing the loop around to DGZ at the end of a month is probably a good way to go as DGZ itself doesn't have any AI problems, with only the occasional train not moving at a green causing issues resolved by a player hopping in and moving it. Additionally, finishing this loop now also gives a chance to test traffic from Mystowice in the event we loop around via Line 156 to get back to Line 62; we just need two more interlockings on the way to unlocking Mystowice according to the map, and one new station in Jaworzno Sczcakowa, and maybe more junction interlockings along the path that can stay AI for now.. Edited January 26, 2023 by Cyclone 1
Recommended Posts