Open originalfoo opened 5 years ago
Just to clarify, I have to block vehicles from entering level crossing if there is no space on the next segment to leave train tracks, am I right? If yes I think that would be nice to hide that sign in junction restriction since I should ignore all user setting in this special case?
There should be special default case for level crossings:
On level crossings vehicles must not enter if road blocked, even if Vehicles may enter blocked junctions setting (Policies & Restrictions tab) is enabled
However, user should still be able to manually override it for individual junctions via junction restrictions.
The reason for allowing manual override is to cope with multi-track stations which, if built close to perpendicular road, might have two or more tracks crossing the road. The result is that the road in middle is a very short segment, and the effect of preventing access if blocked is that traffic jams will quickly occur. So the user, in rare cases, needs ability to allow traffic to enter when blocked, but will have to deal with the consequences.
BTW, in cases where multiple rails cross a road in short space, I had this idea which was to essentially merge the level crossings in to a single "big" level crossing:
https://github.com/VictorPhilipp/Cities-Skylines-Traffic-Manager-President-Edition/issues/130
While quite an involved bit of coding (I assume?) it would be great for users of multi track stations. Currently those stations need placing away from any perpendicular roads so that tracks can be merged in to a single track for crossing the road, which is a PITA especially in mountainous maps.
I have hard time to reproduce this issue if crossing single train track segment (not multitrack yet). I can see in code that even if vehicle has reckless driver flag(vanilla Emergency2 - ambulances, police, firetruck on emergency) it must check for space available at the next segment 😕
Moreover it doesn't matter now if you enabled entering at blocked junction on level crossing - reckless drivers will ignore that setting and they'll still check for available space (it's bug, because every other vehicle type are following these user setting)
Screenshots to visualize this
Hrm, interesting.
I wonder if the Simulation accuracy setting (general tab in mod options) affects it? From vague memory, it controls how accurate the simulation is at junctions, amongst other things.
When I encountered the issue it could possibly have been ambulances getting stuck between two level crossings (issue with enter blocked junctions bug you mentioned?) and somehow blocking one of the crossings (which caused my rail network to traffic jam).
In the referenced issue though, https://github.com/VictorPhilipp/Cities-Skylines-Traffic-Manager-President-Edition/issues/218, @Krutonium screengrabs show that the trains were stopping even though there were no vehicles on the tracks...?
I forgot to mention that current tests are made without Timed traffic light set at level crossing.
With regards to https://github.com/VictorPhilipp/Cities-Skylines-Traffic-Manager-President-Edition/issues/218 it looks like it is, but currently train will stop only when vehicle is blocking train tracks.
I've been watching this for a while and one thing I can see is when two vehicles are trying to fit in one available space at lane while segment behind junction has less lanes than in front of the junction (lanes merging problem - occurs with other junction types too).
I will change Simulation accuracy to check if it'll change something
Wait, I think I know what happened!
There's actually 2 separate bugs in https://github.com/VictorPhilipp/Cities-Skylines-Traffic-Manager-President-Edition/issues/218
Just checking something, brb..
So, while the original bug was fixed by preventing reckless/emergency from entering blocked level crossings, that in turn created the bug I saw = vehicles can get stuck between two blocked crossings if they are close enough together. And it just so happened that when I spotted it, an ambulance was the culprit, but it could have been any vehicle type.
Make sense?
A vehicle got stuck between two level crossings, blocking the crossing behind it. And that was caused because the manually set "allow enter blocked junction" on my crossings were no longer working for emergency/reckless vehicles.
So to fix both issues:
Thank you for quick and such complex response 😃
I've just came up with an idea. Maybe we should give user ability to connect two or more level crossings nodes to make those act like one (to close all in group if one is closing). I think it would solve problem with stucking vehicles in between crossings
In addition to this feature would be cool to hide barriers at all crossings in between first and last selected node (It will involve some digging in code how level crossing are made)
What do you think?
Maybe we should give user ability to connect two or more level crossings nodes to make those act like one
Yesssss!!!!! This would be my dream solution!
I had asked LinuxFan similar, but he didn't want to do it: https://github.com/VictorPhilipp/Cities-Skylines-Traffic-Manager-President-Edition/issues/130
It can be automated too, because you can detect when a single road segment has level crossing at both ends. And with no middle barriers, the traffic in the middle can escape the 'wide crossing'. Would be perfect!!!
What a nightmare 🤣 🤣 🤣
I won't halt currently collected bug fixes and improvements to wait for finishing development of this feature. I will check if there is something less involving to fix to add to upcoming patch.
I think there was also another bug with level crossing lights: https://github.com/VictorPhilipp/Cities-Skylines-Traffic-Manager-President-Edition/issues/176
So probably worth having a specific milestone for level crossing improvements.
Nice suggestion, so I will create a new milestone, maybe more general - railroad related improvements.
Should I close #218 ?
Yup, it looks like that bug was fixed
Both trains m_flags2 has state Yielding... Good question is who has priority now??
Hmm, pseudo-random choice?
BTW, this lane flag might be useful: https://cslmodding.info/asset/network/#lane-flag-joinedjunction
On a road you could check that as a quick way of filtering out ineligible segments? There are other flags (see rest of that page linked above) that indicate presence of level crossing and a bunch of other useful stuff.
There's also situation where there might be multiple close-proximity level crossings along a train track, in which case would it make sense to merge those too?
Good idea with those joined junctions, I thought about that issue when I've read descriptions of flags.
With regards to yield state I will try to find why the train is getting this yield state when there are no blocked lane segments in front of him...
Ok, there must be bug in Vehicle Behavior class because when I've added Timed Traffic lights trains doesn't stop on green light and everything is working properly, besides those traffic lights stop trains now...
hey, I just realised, both trains have right of way if the barriers are down - it's not like they can change tracks at the level crossing junction, the tracks are still separate
See: https://github.com/VictorPhilipp/Cities-Skylines-Traffic-Manager-President-Edition/issues/218