CitiesSkylinesMods / TMPE

Cities: Skylines Traffic Manager: President Edition
https://steamcommunity.com/sharedfiles/filedetails/?id=1637663252
MIT License
576 stars 85 forks source link

Should high priority road allow far-side turn every X junctions? #888

Open originalfoo opened 4 years ago

originalfoo commented 4 years ago

@kianzarrin I worry that the high priority road, which doesn't allow crossing median, will make things too difficult for pathfinder, especially if users are careless in their application of high priority roads.

Should we allow a far-side turn every X junctions, or certain distance, to give vehicles ability to reach other side fo the road?

Maybe timed traffic light and turning lane could be inserted occasionally along the route?

kianzarrin commented 4 years ago

copying https://github.com/CitiesSkylinesMods/TMPE/issues/712#issuecomment-627225089 here:

Also, on the high priority one we already have, I assume that traffic lights will enable vehicles to reach the other half of the city? (I can't remember if I tested that yet but will check next time I'm in game).

EDIT: Only if they put default timed traffic light.

Nope!!!! see Warning! you will need a collector road (EDIT: having a clear NODE button can help a lot here :) )

So I am worried about that to but I don't know what to do about it. The user should limit the range of the high priority road to exclude one road at the beginning or the end. Maybe I can do a path-find my self to see if the car has to drive too far or not. if the path is too far away then I can pop-up a guide message (hey did you know with these new settings your car has to drive all the way around the city now? please give your cars more options and create a collector road).

But even if the cars are driving all the way across the city its still better than some nightmare setups that people have with too many junctions close together. At the very least the traffic can flow!

      |      |      |      |      |      |
======+======+======+======+======+======+======
      |      |      |      |      |      |       
chameleon-tbn commented 4 years ago

Interesting thoughts @aubergine10, but i also do not believe that an automatic system is the solution. I have used main roads with 20 junctions to pass and it would really mean additional work to go manually through all junctions that would have automated turned into a collector road or allow far side turn.

But i really like the idea of @kianzarrin to have a popup message if selected more than maybe five functions to pass...

kianzarrin commented 4 years ago

But i really like the idea of @kianzarrin to have a popup message if selected more than maybe five functions to pass...

My idea is easier said than done! If I turn on guide, CS try to teach me everything from the beginning every time I start a new game. If I turn it off (which is what most users would do I think) then I don't get TMPE guides. Very inconvenient all or nothing approach by CS renders the guide feature useless. I think TMPE should have its own guide option and override internal guide mechanism.

Interesting thoughts @aubergine10, but i also do not believe that an automatic system is the solution.

If there is an option to turn off the automatic feature, it might be a viable option. Still really shaky though.

originalfoo commented 2 years ago

There's a bunch of stuff we have now that we didn't have when OP was created, I think...

So... What if we add a shortcut to Toggle Traffic Lights tool (which is always enabled):

Ctrl+Click - Toggle between major junction and side junction

Use on a junction with existing TL = turn in to side-road junction:

Use on a junction without TL = turn in to a major junction:

Same sort of thing (toggle between major vs. side) could happen with quick-setup TTL btw, only major junction would get a posh TTL instead of vanilla TL :)

Then, we could add a new option to the High priority roads policies tab in mod options:

Edit: Or it could be drop-down: Side road, Major junction (vanilla TL), Major junction (TTL)

And that will help reduce chances of users cutting city in half. It also means that the user guide can simply say "to create a junction to your collector road, open traffic light tool and Ctrl+Click" :)

EDIT: Bonus round: We could remove the weird turning lane behaviour from the normal (manual) setup of TTLs #961 (quick-setup TTL could do that instead)

chameleon-tbn commented 2 years ago

In the way with the dropdown it absolute makes sense to me and would get my Personal "Go!" 😀

kianzarrin commented 2 years ago

I think the most important button we need is a clear all TMPE rules button. after that every thing else would be a 2 step process.

Treat junctions with medium/large roads as major junctions

Good idea. if there is more than one incoming lane from the side roads, then there is no need to treat it has high priority road. that makes sense in the real world too.

Edit: Or it could be drop-down: Side road, Major junction (vanilla TL), Major junction (TTL)

what about priority road but not high priority road.

Use on a junction without TL = turn in to a major junction

I don't think creating a shortcut for a two step process is that important. actually clear all TMPE rules also automatically creates traffic lights on a big junction to0. its still a nice idea though. we can do that with the shortcut for TTL to optionally drop enter blocked junction (what about crossing rules? what if there is pedestrian overpasses around?).

originalfoo commented 2 years ago

clear all TMPE rules button

Yup, eraser button on the toolbar:

IMO yeet the 'toggle despawn' button from toolbar ( as there's existing mod option for that anyway ) to free up room for the eraser button. The side bar in the toolbar is then consistent - it's all about "erasing stuff"; either settings or vehicles.

Eraser button could evolve over time, eg. with button active, click other toolbar buttons to set filters ("erase only lit features"), or click a district/park/etc name to erase TMPE settings from that area, and so on.

Related: #1126 (will be fixed by eraser button), #692 (eraser button) , #568 , #623 (according to this all managers already have reset functions)

So, let's do eraser button first: #692 (but simplified to just 'delete all' for initial iteration)

what about priority road but not high priority road.

I think we perhaps need to create a bestiary of junctions.

There's widely understood terms like T-junction, Y-Junction (fork), X-junction (crossroads), etc. But, to my knowledge (which is limited) there's no widely accepted terminology for the different flavours of those.

So for a T-junction, we might have, for example:

kianzarrin commented 2 years ago

@aubergine10 protected : no far-side turns, no cutting across oncoming traffic

do you want to change the terminology i came up with. I have been calling this high priority. same is true in the tooltips.

unmanaged : literally no customisation, just splat down a T-junction managed : traffic lights

so managed is not opposite to unmannaged? that is unexpected.

kianzarrin commented 2 years ago

shift+click = wipe all setings from route

What if someone wants to erase a single segment? alt? what do you mean by route? between two junctions or all the roads with the same name?

fun fact: if you click on the road you can clear all rules related to high priority road (most rules) from that route

what if the junction has TTL? until now we have made it hard for ppl to delete TTL easily to prevent accidental delete of hard work I would assume. the only way to delete it is using the TTL tool. what should the clear button do with TTL? OK/cancel Dialog?

originalfoo commented 2 years ago

What if someone wants to erase a single segment?

Sorry, my previous comment had typo: node/junction should have been node/segment. I've updated my previous comment.

what do you mean by route? between two junctions or all the roads with the same name?

Good question; maybe it could be:

Also, I just realised I've probably used the same ambiguous term "route" in the wiki docs so I'll go and fix that shortly.

fun fact: if you click on the road you can clear all rules related to high priority road (most rules) from that route

IMO, given that the other buttons on that panel will clear their settings on second click, the bin icon button should remove all settings, then we have way for user to draw custom route and wipe settings from that route.

what if the junction has TTL? until now we have made it hard for ppl to delete TTL easily to prevent accidental delete of hard work I would assume. the only way to delete it is using the TTL tool. what should the clear button do with TTL? OK/cancel Dialog?

Good point; setting up TTL is nightmare so I agree, we should not clear TTL. (At some later date, we could allow toolbar buttons to be toggled while eraser is active, so user can choose which features are getting erased)

originalfoo commented 2 years ago

Additional thought:

kianzarrin commented 2 years ago

given that the other buttons on that panel will clear their settings on second click,

The toggle button only works if the user clicks it right away. its kind of an undo option. if the user clicks away the toggle thing no longer works and user has to press bin button. EDIT: toggle is undo not clear.

kianzarrin commented 2 years ago

bin icon button should remove all settings

right now it deletes most settings so I am open to make it all settings except TTL. ( I think the only thing it does not clear is vehicle restrictions)

originalfoo commented 2 years ago

right now it deletes most settings so I am open to make it all settings except TTL. ( I think the only thing it does not clear is vehicle restrictions)

for now it can be left unchanged; i'm just thinking future direction - maybe if we add eraser filter (while eraser active click other buttons on title bar to toggle what will be erased, for example) the bin icon on adjust roads panel could respect those filters maybe?