-
Notifications
You must be signed in to change notification settings - Fork 85
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
shortcut to fix traffic rules where minor road joins a main avenue #541
Comments
Ok, that will be the hardest of all you've posted. |
@krzychu124 We don't need algorithm to detect road median. if the user uses ctrl-click, then we assume that there is. |
@krzychu124 even if there is no junction median it still does not mean people wouldn't want to ban left turn. |
I've had to read again description to got the point. Please format it using markdown |
I wrote the code that works in basic circumstances. My UI is a bit more whack than #77 so that might need some fixing. My current code can handle some simple and moderately complicated cases: but it fails when it is very complex. I will work on that. The junction to the right does not ban turning into the small road because it is straight. I don't think I can do anything to fix that unless if I use lane connector tool which I think is too complicated for the scope and objective of this issue. also the small road should not have a right turn arrow but rather a forward arrow. That also introduces a problem that I cannot fix without the use of lane connector and that problem is if there is another minor road on the other side of the road, cars can go to it crossing the main road. The problems of the junction to the left are obvious. I am wondering should I even handle such a case where the main avenue has a right angle? |
@krzychu124 @aubergine10 Give me some ideas. any more complicated cases you can think of. I can think of this one and I am not sure what should happen. |
I always can exclude cases where it gets too complicated or nonsensical. I already have decided to exclude one way main road (that is if any of the biggest roads are one way, I return without doing anything). |
I did some more thinking and changed my opinion:
|
Would be cool if we could hide the crossing decal/prop too, although not sure if it's possible.
I agree with this in principle, essentially we're offloading "median detection" work to the end-user. However, on a long road with lots of junctions, it could quickly become tedious to click each junction in turn. That being said, auto-median detection is something that could be investigated as separate task at some point in the future. |
What if instead of doing it based on user click, we just make vanilla 'Priority Routes' more intelligent? Currently, with vanilla functionality, if you set a route to be priority route the result is that side roads get "Stop" signs on them, which is often very annoying and bad for traffic flow. TM:PE could do something much better; just as we have "highway rules" stuff in mod options, we could have "priority route rules" stuff that gets applied to any priority route? We could treat a priority route as if a user has Ctrl+Clicked all the junctions along it, but allow user to override any setting at any junction as usual. If road names are displayed (vanilla game setting), user can quickly get to the relevant info view by clicking the road name. From that info view they can draw the routes, and any they mark as "Priority road" (or whatever the vanilla option is called) will get updated with enhanced TM:PE goodness. |
I am trying to decide which options to include:
There is a trade off between usability and complexity. This is a bit in contradiction to what I said here in the comment above. EDIT: I wonder if a state machine could be utilized in a meaningful and useful way. |
Progress report: I handle all these cases:
Priority road:
EDIT: Note: the difference between a roundabout and priority road is sometimes a gray area. The half roundabout code for example is handled by my priority road class. PS: As much as I am proud of this in future maybe it is best to have all these rules by default. that is TMPE would use such road rules by default so that the user does not even need to mass edit. Although I am not sure if it is even possible. |
This could be very confusing for a lot of users. For example, we get regular issues where people have set up crazy customisations and then wonder why their traffic is broken. So I think it best to avoid automatically applying customisations; if user has to manually apply (including manual bulk application) and something goes wrong, at least they have some idea of what they did to make it go wrong. Also note that there is a 16 MB limit (link to old repo) to the amount of data TM:PE can store in save games, and automatically applying customisations could potentially push over that limit on large cities; and even if not, might cause general performance issues. |
If it's possible i would also vote for changing the default.. |
in real life and also in simcity when a small road joins a main avenue, the separation barrier in the middle remains unbroken and people can only turn right (the only advantage of simcity over cities skylines!!!). we already have an asset that visually conserves the junction barrier in such situations
But TMPE is required to make it function as it should. It can be a bit tedious to apply all the traffic rules particularly when fixing cities where many minor roads are joining one avenue.
so i suggest a shortcut: choose junction priority tool then press ctrl+click on a junction to set all rules regarding the above scenario:
Let me clarify I prefer this feature apply to all big roads such as this:
![median rules](https://user-images.githubusercontent.com/26344691/68053882-b8418700-fcf5-11e9-9f9c-a61a45a8e337.png)
The text was updated successfully, but these errors were encountered: