CitiesSkylinesMods / TMPE

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

TM:PE support in asset editor #600

Closed Monniasza closed 4 years ago

Monniasza commented 4 years ago

Describe your idea

The feature will allow to use all Traffic Manager features in Intersection Editor. It could be useful to duplicate custom settings without repeated usage of the Traffic Manager tools.

Notes or questions?

MilesBHuff commented 4 years ago

Please! I've had to manually configure over 50 roundabouts in my current city! Being able to save Traffic Manager data in custom intersections is extremely important! I'm surprised it isn't already a feature.

auber18 commented 4 years ago

There is some work in progress to add support for tmpe in asset editor but it won’t be useable for quite some time.

In the interim, Kian has been working on some new “one click” tools for setting up roundabouts, etc., which might help. I’ll update this issue when those features are available.

originalfoo commented 4 years ago

Link to PR where asset editor support was being worked on: https://github.com/krzychu124/Cities-Skylines-Traffic-Manager-President-Edition/pull/288

Monniasza commented 4 years ago

Link to PR where asset editor support was being worked on: #288

Please continue work.

Monniasza commented 4 years ago

Please add it in version 12

originalfoo commented 4 years ago

I thikn some of the work that @kianzarrin is doing currently will really help with this planned feature.

One of the big risks with adding stuff to assets, which then go in workshop and often won't ever get updated again, is what happens if TM:PE changes and the old data breaks, or it's too complex to convert to new format or something like that?

However, with Kian's work, on the bulk applicators, we could possibly have a very simplified thing that says "For this junction, apply bulk priority road applicator" - so instead of defining explicit granular customisations, the asset creator defines an "intent" and then whatever version of TM:PE is being used (now or in future) would just decide how to process that intent.

In asset editor the TMPE toolbar could just be replaced with a bunch of "intent buttons" - the asset author clicks the intent they want, then clicks the segment or junction in the asset to apply that intent. (A bit like how speed limits tool works, but with intents instead of speeds).

Do you know if the "adjust roads" tool exists in asset editor, and road naming? We'd probably need tools like that if they don't already exist.

originalfoo commented 4 years ago

The 'intent' thing could also help a lot with other mods wanting to integrate with TMPE - in particular things like Roundabout Builder (#472) and parallel road tool and others.

MilesBHuff commented 4 years ago

Intent isn't a bad idea! However, there are still times when it would be really nice to be able to have granular control in the asset editor.

Another option is to save a version in the asset file (ie, "v1"). If a breaking change is made to how TM:PE handles asset metadata, then TM:PE's asset version would increment, and the asset's version (v1) would mismatch with TM:PE's (v2), and a warning could show. This version would be separate from that of TM:PE itself (currently "11.0"), and would only be used to denote the format used in asset files.

Instead of a warning, TM:PE could also maintain the ability to read old formats, but only save in the new one. This probably requires more maintenance; but it has distinct advantages.

originalfoo commented 4 years ago

However, there are still times when it would be really nice to be able to have granular control in the asset editor.

Can you give some examples / screenshots? If you've shared any to workshop, post links and I can throw some bulk applicators at them and see how well they match up to what you've been doing manually up till now.

Another option is to save a version in the asset file ...
TM:PE could also maintain the ability to read old formats ...

It's just too much work IMO. If we add something to asset editor, it needs to be pretty simple and long-term robust with minimal effort.

Key benefits of intents:

  1. No need for verison control
  2. If we add more features to TM:PE that are applicable to an intent, no need to update assets
  3. Users can customise the applicators (intents) to their preferences (eg. decide what happens to crosswalks at junctions)
  4. Intents are driving-side agnostic; they adapt to LHT and RHT cities
MilesBHuff commented 4 years ago

Thinking about it some more, the kind of specific lane-management that I would want would make more sense as a template you can create and apply in-game, rather than something you would save in the asset manager.

My use-case is I have a grid-based city that uses small roundabouts instead of stoplights, so I have 50 or so roundabouts. I was hoping to experiment with some different lane configurations city-wide, but it takes many hours to do that manually; and since I'm experimenting, not every configuration I try out ends up working. I suppose at this point, though, it'd be a different feature request.

Intents make a lot of sense for the Asset Editor.

kianzarrin commented 4 years ago

Please! I've had to manually configure over 50 roundabouts in my current city! Being able to save Traffic Manager data in custom intersections is extremely important! I'm surprised it isn't already a feature.

No more manual setup. Automatic round about is out!

Monniasza commented 4 years ago

However, there are still times when it would be really nice to be able to have granular control in the asset editor.

Can you give some examples / screenshots? If you've shared any to workshop, post links and I can throw some bulk applicators at them and see how well they match up to what you've been doing manually up till now.

Another option is to save a version in the asset file ... TM:PE could also maintain the ability to read old formats ...

It's just too much work IMO. If we add something to asset editor, it needs to be pretty simple and long-term robust with minimal effort.

Key benefits of intents:

  1. No need for verison control
  2. If we add more features to TM:PE that are applicable to an intent, no need to update assets
  3. Users can customise the applicators (intents) to their preferences (eg. decide what happens to crosswalks at junctions)
  4. Intents are driving-side agnostic; they adapt to LHT and RHT cities

I want both intents and manual configuration.

originalfoo commented 4 years ago

What specific manual config? I think it might be worth waiting to try the intents (bulk applicators) as they get released in v11.1 and v11.2 as they are really good at configuring stuff.

Another benefit of intents I just realised is that they also affect connected roads. So, roundabouts (and semi-roundabouts) have options to control crossings and lane changes on the roads entering the roundabout. With manual config in asset editor there's no way to achieve that, because those roads won't exist.

originalfoo commented 4 years ago

Example of user config options (current dev builds):

image

kianzarrin commented 4 years ago

Example of user config options (current dev builds):

Its already in the [LABS] version. at least that is what the page says

originalfoo commented 4 years ago

Currently working on:

  • One-click automatic roundabout policies
  • One-click side road customisation (better priority roads)
  • Option to hide individual pedestrian crossing stripes (Junction Restrictions tool)
  • General UI improvements and bug fixes
Monniasza commented 4 years ago

What specific manual config? I think it might be worth waiting to try the intents (bulk applicators) as they get released in v11.1 and v11.2 as they are really good at configuring stuff.

Another benefit of intents I just realised is that they also affect connected roads. So, roundabouts (and semi-roundabouts) have options to control crossings and lane changes on the roads entering the roundabout. With manual config in asset editor there's no way to achieve that, because those roads won't exist.

Lane connector would be used directly in asset editor. Data would be saved as specific direction of traffic , propably RHT, used by TM:PE for all network assets.

How it will look(click on image for more information and zoomed in image):

kianzarrin commented 4 years ago

Btw my priority road can handle splitting roads by one click.

The best example where this can be useful that i can think of would be advanced roundabouts

kianzarrin commented 4 years ago

990 fixed this issue