Git Product home page Git Product logo

tmpe's People

Contributors

algernon-a avatar chameleon-tbn avatar daegi01 avatar dannydannydan avatar deltakilo avatar dornathal avatar dymanoid avatar elesbaan70 avatar emphasia avatar firecontroller1847 avatar imarbot avatar kianzarrin avatar klparrot avatar krzychu124 avatar kvakvs avatar mashitaro avatar mjm92150 avatar oczkers avatar originalfoo avatar pcfantasy avatar pierretse avatar seiggy avatar svetlozarvalchev avatar sway2020 avatar tianqibutian avatar victor-philipp-negoescu avatar victorphilipp avatar vitalii2011 avatar xabbok avatar yenyang avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

tmpe's Issues

Inner bus lanes not being used?

M.S.Referee 28 Jan @ 1:13pm

And bus lane paths problem I forgot to say, if your road with bus lane, and the bus lane is not outside lane (for example the bus lane inside), the bus don't go first with it and even if never go with bus lane.

Not tested this yet. Just gathering some roads to test with:

Also, I note the Busses may ignore lane arrows setting on Policies tab in mod options. IMO this option should be enabled by default as it solves this major issue: https://tmpe.viathinksoft.com/wiki/index.php?title=Busses_may_ignore_lane_arrows (which could be related to #10 (comment) ?)

More feature support for bicycles

This is an extension to #8 but also relates to #14 and VictorPhilipp/Cities-Skylines-Traffic-Manager-President-Edition#102

Assuming improved lights editing and visualisation (#8), each lane (and paved median?) at a junction would have a circle depicting the traffic light state for the current step of the sequence.

The missing element seems to be a way to control flow of bicycles through the junction; they are a special case and often require dedicated management to safely navigate the junction (such as 'advanced stop lines' discussed in #14).

I don't really know how the back-end deals with cyclists. I know they can be given dedicated lanes (such as road with bike lanes, or dedicated 'pedestrian' bike path) and they can also, seemingly, be merged with at least pedestrian traffic (not sure if they can be merged with cars/etc)?

At a junction, how would I manage cyclists on a pavement to cross a road and move in to a dedicated bicycle lane, for example?

[EPIC] UI: Junctions Tool

Currently TM:PE has some duplication of UI when it comes to setting priority / give-way for segments at a junction. I always found this confusing, as it's not clear what takes preference; the vanilla 'stop' sign (via info views > traffic routes > junctions tab) or the TM:PE custom UI that has stop/give-way/priority? The current implementation feels cumbersome and not tightly integrated with existing vanilla features.

Would it be possible to integrate with the vanilla UI (info views > traffic routes > junctions tab) so that when there are no traffic lights, the toggleable 'Stop' icon can be set to on of the three states:

  • Stop (red hexagon as per vanilla)
  • Give-way/Yield (red upside down triangle)
  • Priority (yellow diamond)

Essentially, merge the currently-separate TM:PE UI in to the vanilla UI. The button on the TM:PE menu would then just redirect to: Info views > traffic routes > junctions tab

Junction "turn filters" (partially enter blocked junction if turning)

This relates to PR: #25

Partially enter junction

But also check out this mod, specifically how the vehicles can part-enter the junction to wait for left/right turn:

EDIT: Mod linked above no longer exists, and there's nothing in web archive. Can't find source code. Mod was by pcfantasy, called "Advanced Junction Rule":

Traffic in UK does same sort of thing, only in opposite (vehicles drive on left in UK). Would be freaking awesome if this functionality could be merged in too :) It's common in Europe too.

See also: VictorPhilipp/Cities-Skylines-Traffic-Manager-President-Edition#62

[Epic] UI: Lights Tool

This is a redux of VictorPhilipp/Cities-Skylines-Traffic-Manager-President-Edition#143

Requires #3 and #4

When customising traffic light sequence, I think it would be much more intuitive if the visualisation was on the roads, rather than floating panels.

Each lane connection (either as customised by user or default routing, as applicable per incoming lane) would be illustrated on junction as a thin white or grey line, also showing conflict points when zoomed in (see #4).

For each incoming lane, a small circle at the junction-end of that lane depicts the traffic light state for that lane in the current step:

This approach fixes VictorPhilipp/Cities-Skylines-Traffic-Manager-President-Edition#90

Clicking the circle:

  • Left click (primary button) toggles between green/red
  • Right click (secondary button) clears any green lights for this lane within the entire sequence (ie. circle goes grey)

When an incoming lane has the green filled circle (ie. green light for current step), additional visualisation occurs:

  1. The 'lane connectors' applicable to that lane turn green (normal width)
  2. The incoming lane is given a green outline (similar to how old Traffic++ mod outlined lanes) all the way back to the previous junction node (or end of network)
  3. The outgoing lanes connected to the 'green lit' incoming lane get orange outlines all the way to the next junction node (or end of network)

Note: Visualisation for 2 and 3 above would probably need a segment count limit (eg. if the traffic lights are on a highway junction that trails all the way to the edge of the map; rare but not unheard of).

This would make it massively easier to see what's going on, because it clearly depicts the lane the traffic arrives from, the route across the junction (including conflict points if applicable - see #4), and the lanes the traffic will exit on up to and including the next junctions (hugely useful when sequencing multiple junctions). Also, the presence of any grey circles alerts me to lanes that aren't getting any 'green time' in the entire sequence.

If possible, also allow the pedestrian crossing to work in similar way - ie. circles at both sides of road, and even on median if possible (I saw discussion on Steam with user asking if it's possible to make pedestrians wait at the median before completing journey across the road). The pedestrian crossing could also indicate conflict points (eg. cims crossing a lane that's on green light = bad).

UI: Pedestrian Tool

As per #38, the feature to toggle pedestrian crossings would be moved to it's own tool on the toolbar. This is primarily to reduce UI overload on the Junction Policies tool, but also to create room for some future functionality additions.

The tool serves two main purposes:

  1. Toggle existing pedestrian crossings - at junctions and at transitions between road types
    • Left-clicking an icon (or even the crossing itself?) toggles it
    • Ideally removing/updating decals, as applicable
  2. Add new crossings - at normal nodes between two segments
    • Left-clicking a node adds the crossing, and subsequent left click removes it
    • Similar to: Crossings mod
    • Should I create separate issue for this element, as it would be new feature?

At a later date, I suspect this tool would be extended to create #14 (virtual junctions), maybe by right-clicking or Ctrl+clicking a node?

The tool is essentially about pedestrian features, so I think adding the virtual junctions stuff (which is mostly about pedestrian features anyway) at a later date is in keeping with the concept of the tool.

Update signs, props, etc., to reflect road customisations

See also: #124

Been pondering this for a while, I think the only way to achieve it would be mini "add-on mods" that tell TMPE, for a given road asset (or collection of assets), details about the road speed signs.


TMPE would come with a default list of vanilla speed signs; for any roads that aren't part of a roadcollection, TMPE will try vanilla sign.

However, any roads using custom signage will have to provide the definition file that tells TMPE about the custom signs.

A template mod would be provided for asset authors (or users who use roads by other authors and want to get the signs working), and all they have to do is change some values and fill in an XML file then publish as mod to workshop.

As a rough mockup of the xml:

<tmpe xmlver="1">

  // name must be unique per author
  <roadcollection name="UKRoadsRevived" author="authorname">

    // adds this road to the group
    <asset id="workshopid.prefabname"> 
    ...
  </roadgroup>

  // where do signs come from for this group?
  <signsfor roadcollection="UKRoads">

    // note: could be in separate asset pack
    <speed value="30" assetname="workshopid.propname">
    ...
  </signsfor>
</tmpe>

So, if user changes road speed, TMPE can find out what road group it's in (eg. "UKRoadsRevived") and from there work out the ids of speed signs for each speed.

It knows current speed and driving direction, so it can find existing speed sign on the relevant side of the road. It can then place a new speed sign (with height, rotation, etc of old sign) and hide/delete the old sign.

If no old sign is found, TMPE won't add a new sign. This prevents unwanted signs appearing.

The XML structure above should facilitate different types of signs at a later date. For example, we could add in toggling of Parking signs (or relevant roadside props) that can be toggled on and off when parking restrictions are applied.

Change default traffic light behaviour

I think the main reason is why we need to setup timed traffic lights is because the default traffic light settings are a bit wack, as they allow multiple directions to enter intersection at the same time, causing collision points. It would be more logical if the default setting would not do that, and that way we can reserve the timed traffic lights for the more complex situations.

So for the default traffic lights it would be more logical to set up as:
Lanes can go straight, left and right from one direction, the lane to the left can also turn at the same time because traffic won't hit each other.
In addition add a step where pedestrian can pass, without being hit by cars.

This setup might be more logical as default traffic light setup.

Original, with some discussion:
VictorPhilipp/Cities-Skylines-Traffic-Manager-President-Edition#200

Cargoload of trains/trucks

  • Fix that cargo trains drive with around with really low loads of cargo. (1 - 30 %)
  • Automatically select appropriate vehicle for load --> a van for a small load, a truck for a large load. (i've made difference in capacity in AVO, sadly i get trucks loaded for 50%, instead of a van, loaded for 100%), while vans would probably mean faster delivery.

[EPIC] Display & Persist customisations when upgrading roads and rails

EPIC:

  • Parking restrictions
  • Vehicle type restrictions
  • Lane arrows -- this one is covered in #457
  • Lane connectors
  • Junction restrictions
  • Priority & Yield signs

And then

  • Did you not forget to do the same for rail?

Original request from Spike82: When parking is restricted on a road. Please keep this restriction when upgrading road.

Existing Behaviour

Bulldozing or upgrading a road segment on a junction resets the customizations on it.

Desired Behaviour

Bulldozing or upgrading a road segment on a junction only resets the customizations which can not exist anymore (like arrows cannot turn to a segment which has been bulldozed), while preserving the remaining ones. An overlay animation or floating vanishing text can be used to tell the user that something is going to be removed.

Sync vanilla vs. TMPE stop / yield signs

I think it works programmatically, but it does not update the regular game itself. Ever since a specific update (unsure of which one), roads can be configured to have a stop sign enabled or not via the vanilla game by clicking on the road name then that little green icon in the bottom right corner of the popup (this also goes for stoplights, but that works fine). However, when you use TM;PE to set the stopsigns or yield signs, it does not update the base game or the physical sign objects.

Apologies if this has already been reported.

Virtual junctions (different types of pedestrian crossings and junctions)

Currently, the only place where I can have traffic lights and/or signs (stop/yield/priority) is at junctions of 3+ segments.

I'd like ability to be able to use lights and/or signs features at 'virtual' junctions between two segments. It might be simple (some way to mark a normal node as a junction node) or require more effort (replicate the vanilla light/signs UI on to normal nodes), but it would open up a plethora of new opportunities, for example...

Traffic calming

the-highway-code-rule-153

That could be achieved with 3 segments. The middle segment still has 2 lanes, but they are on top of each other on one side of the road. The nodes either side of that middle segment gets either yield or priority signs as applicable.

In-road crossings

the-highway-code-rule-19

Again, three segments. The middle one contains the crossing. Timed traffic lights are set up on the nodes either side.

EDIT: Probably not timed traffic lights; in example above, the pedestrians have right of way - when they show up at the crossing, cars have to stop. Not sure if TMPE has a feature to enable that sort of thing? (current traffic light editing features are too painful to use so never really investigated that aspect)

Staggered crossings

the-highway-code-rule-28

This time there's three (or four?) segments, and some carefully crafted traffic light setup.

Advanced stop lines

rule-178-advanced-stop-lines-cycles

The road going to the junction has 2 segments; one a fairly normal road with bike lane, the other a seemingly dedicated bike stop area.

Invisible traffic lights exist on the node between those two segments, and with careful sequencing the flow of vehicles vs. bikes can be engineered to give the desired effect.

Summary

The ability to turn normal nodes in to junction nodes would enable all sorts of cool road features to be created. In many cases, the 'middle' segments might be constructed manually in-game using decals and 'invisible lane' networks; alternatively asset authors could create dedicated prefabs for the specialist segments (the user would still need to config the traffic lights, signs, etc, in-game via TM:PE).

UI: Highlight lane when hovering over icons associated with lane

  • Lane connectors #635
  • Speed limits #709
  • Parking restrictions #708
  • Vehicle Restrictions #721

Sometimes, particularly if various persistent overlays are enabled in mod settings, it's difficult to see which lane a row of vehicle restriction icons belong to. Short rail segments (especially when using 1-lane tracks next to each other) are also sometimes difficult as icons might overlap with infoview icons of adjacent rails.

So, I was wondering if it wold be possible to highlight associated lane when mouse is over an icon, that way it's very clear which lane is being affected when the mouse clicks.

A similar thing could benefit speed restrictions when the individual lane mode is active.

PT routes break when roads/rails are altered

This seems to be a common issue:

Jorguś92: When I change the way, the vehicles stop driving it, and the lines of the public transport are interrupted ("the path can not be found"). After removing the TMPE_GlobalConfig file, the situation returns to normal, but when it changes again, you have to repeat the game restart and delete the file

I assume "change the way" = reverse road direction using upgrade tool? Or maybe just upgrading road to different type of road?

I've seen this happen too, on previous TMPE and believe it could possibly be a conflict between TMPE and IPT2 (unconfirmed). Normally I can just drag bits of the transport route (like move a single stop) and it sorts itself out, or wait for vehicles to get stuck on the route and then it sorts itself out.

I've asked for log file and savegame. If I can reproduce it I'll also post log and save.

Auto junction give-way/priority (on priority routes)

On a priority route (as defined via road info view panel), any junctions without traffic lights could be given automatic give-way and priority settings.

The calculations would be performed whenever user:

  • Marks or unmarks a road as 'priority route' (via road info panel)
  • Connects or disconnects a road to an existing priority route
  • Removes traffic lights at a junction that has at least one priority route attached

In cases where a junction has two or more priority routes, the primary route can be determined via metrics such as:

  • Number of lanes (more = higher priority)
  • Speed of road and/or lane (faster = higher priority)
  • Width of road and/or lane (wider = higher priority)

[EPIC] UI overhaul discussion thread

Summary of plans for UI overhaul.

TMPE button

The 'crown' button that toggles the TM:PE toolbar:

  • The 'crown' is weird UI for a traffic mod - maybe change it?
  • Right clicking this button should ideally open TM:PE settings screen (mod options).

Toolbar

I'd like to see a major overhaul of the toolbar (aka 'main menu'). See: #51 and #21

I think we can provide more functionality with 8 buttons than the current 12 buttons.

Lights button - see: #8

  • Purely for timed traffic lights
    • The 'toggle traffic lights' feature is moved to Junctions button - see later
    • The 'manual traffic lights' feature becomes obsolete if we improve timed traffic lights
  • Tool button:
    • Visible if 'timed traffic lights' enabled on maintenance tab
    • Left click = activate/deactivate tool
    • Right click = toggle persistent 'timed lights' overlay

Junctions button - see: #6

  • Merge priority signs, junction restrictions and toggle traffic lights in to one 'tool'
    • Note: Crossings feature moved to Pedestrians tool - see later
  • Tool button:
    • Visible if 'priority signs' and/or 'junction restrictions' enabled on maintenance tab
    • Left click = activate/deactivate tool
    • Right click = cycle through persistent junction overlay options

Overlays: As there are two applicable, right-click needs to cycle combinations (as applicable, depending on what's enabled on maintenance tab):

  • None
  • Priority Signs
  • Junction Restrictions
  • Both (Priority + Restrictions)

Pedestrian button - see: #40

  • Dedicated tool for working with crossings
  • Tool button:
    • Visible if (new) 'pedestrian crossings' enabled on maintenance tab
    • Left click = activate/deactivate tool
    • Right click = toggle (new) persistent 'transport routes' overly

Routing button - see: #41

  • Merge lane arrows and lane connector features in to one tool
  • Tool button:
    • Visible if 'lane connector' enabled on maintenance tab
    • Left click = activate/deactivate tool
    • Right click = toggle persistent 'lane connectors' overlay

Speeds tool - see: #84

Vehicles button - see: #42

  • Enhances the tool with lane highlighting an eraser compatibility
  • Tool button:
    • Visible if 'vehicle restrictions' enabled on maintenance tab
    • Left click = activate/deactivate tool
    • Right click = toggle persistent 'vehicle restrictions' overlay

Parking button - see: #47

I have some enhancement ideas which I'll post in separate issue

  • Tool button:
    • Visible if 'parking restrictions' enabled on maintenance tab
    • Left click = activate/deactivate tool
    • Right click = toggle persistent 'parking restrictions' overlay

Eraser button

I'll create separate issue to describe this, but in summary:

Multi-purpose tool:

  • Can delete customisations associated with active tool
    • For example, if lane arrows tool is already active, click eraser then click junction to erase the lane arrow/connection customisations for that lane
  • When used on its own, shows additional buttons for despawning/clearing traffic, etc

Orientation of "turn on red" icon

The icon for the new turn on red feature, being an arrow, is directional. However it rotates to face camera position like all the other icons, thus from many angles it's pointing in a confusing direction.

Would it be possible to prevent this specific icon from rotating, so that it always points from the source road to the destination road, no matter what angle the camera is at?

It can tilt so that it's 'face' is pointing towards the camera, but it's rotation should be locked such that the pointy end of the arrow faces towards the destination road, and the other end of the arrow 'points' to the source road.

Weird bus lane inversion when junction created

While testing #30, I noticed some strange behaviour of bus roads when a junction was created on them.

These roads exhibit the issue so far:

  1. When road first created, everything seems OK (note the vehicle restriction icons):

lanes1

Note: That bigger road has inverted lane directions; the bus lanes are opposite direction to the normal roads they are next to. Also, on bigger road, one set of icons is over the median, not the top bus lane.

  1. However, create a junction and the bus lanes get inverted (note the icons and lane colours):

lanes2

  • Top road: The icons have moved (as if road is different direction now)
  • Bottom road: The lane textures have changed but icons haven't moved

I'm not sure if it's game or mod or something else? But I suspect this could be creating a lot of our bus routing problems.

I'll check with more bus roads and report back.

Highways: Hard shoulder / emergency lane

In mod options, there's a setting to make Heavy trucks prefer outer lanes on highways.

However, many highways will have an outside lane that's used as an emergency 'hard shoulder' (eg. where broken down cars try and get to so they're not blocking traffic while they wait for service van).

Would it be possible to add an additional option (Policies tab in mod settings), something like:

--[ ] Outermost highway lanes are emergency lanes

The effect would be to restrict all but emergency traffic (police/ambulance/fire/disaster) from using the outermost lane via 'virtual vehicle restrictions' (in much the same way that the Ban private cars and trucks on bus lanes option does.

Doing it this way would allow users to optionally allow vehicles back on to outermost lane for some highways, eg. those that don't have an emergency lane.

One problem might be what happens if user doesn't have TM:PE installed but uses a highway asset that has hard shoulder? I was thinking if the hard shoulder was a bus lane in the road asset, that users without TM:PE would get an "almost hard shoulder" (busses, taxis, etc, would still use it, but it would be mostly clear of traffic).

What do you think?

Proposal for new default menu position

When it is right here, it feels more natural to me, and looks a lot better too. We might need to work with the first person camera mod creators to see if they're willing to move their icon down a little by default, but maybe we could start a new trend of making a sidebar of buttons on the right? We'd also have to move the developer panel position, and I propose that goes on the left (as every other dev panel shows on the left as well)

image

Which traffic does "clear traffic" clear?

Doing new docs for "clear traffic" tool and it's not clear from old docs what traffic is cleared.

I assume all road traffic, but does that include cims, busses, trams, bicycles? What about other forms of traffic, such as cargo ships, ferries, trains, balloons, etc?

Is it possible to determine from the code what it clears?

[EPIC] UI: Vehicle Tool

Lane highlighting

This works as it currently does, but hovering an icon causes lanes to be highlighted as per #33

In particular, if the user holds Shift key, indicating the next click should apply to that lane along all segments between two junctions, the lane along those segments should be highlighted so they can see exactly what will be updated.

Eraser tool

As per #38, there will be an eraser tool on the toolbar.

While vehicle restrictions tool is active, user can also click the eraser tool, then:

  • Click a lane to reset that lane to default (eg. if it's bus lane then depending on mod options it might default to restricting cars and trucks)
  • Shift+Click to default a lane on all segments between two junctions
  • Control+Click to default a segment
  • Shift+Control+Click to default all lanes of all segments between two junctions

UI: Ability to highlight vanilla priority routes when using tools

This would be useful for #7 in particular, but also generally useful.

When applying customisations with TMPE, the presence of 'priority routes' (as in the vanilla game feature, not the priority/yield signs) are invisible to the user.

It would be useful in many cases to have some visualisation of priority routes when making customisations.

As a suggestion, priority route roads could be given a yellow outline around the outer edge of the road prefab. This would keep the rest of the prefab clear for other visualisations (speed limits, etc) whilst letting the user clearly see where their priority routes are.

Vehicles not crossing road to enter a building on other side

This was initially raised in #10

I'm not sure what causes this; it's been so long since I played vanilla that I can't remember what vanilla functionality is!

I created an issue, VictorPhilipp/Cities-Skylines-Traffic-Manager-President-Edition#184, relating specifically to this issue. It's a major cause of excess traffic due to vehicles literally driving past their destination (albeit on the other side of road) and then spending ages finding a nearby turning point to get on to the correct side of the road before entering the building.

IMO, vehicles should be allowed to cross a single lane of traffic to enter a building on the other side of the road. This is how everyone seems to drive in Europe, that I am aware of; you don't drive past a building and spend ages trying to find a roundabout or other way to get to opposite side of road, you just wait for a gap in the oncoming traffic and then drive in to the carpark or driveway or whatever. Obviously, this becomes impractical and dangerous if there are two or more lanes of oncoming traffic.

I noticed in VictorPhilipp/Cities-Skylines-Traffic-Manager-President-Edition#196 that Lazarus Man mentioned NetInfo.m_CanCrossLanes, which apparently determines (in vanilla game) whether cars can 'cross lanes' (I'm not sure if that is just oncoming lanes or medians or something else).

I don't know if the pathfinder in TMPE takes that property in to account, but regardless it would be useful to have a way to tell TMPE which road prefabs vehicles can cross lanes on (I assume there are lots of road assets out there with incorrect setting of the NetInfo.m_CanCrossLanes property) - maybe there could be a section in the TMPE config xml file which allows definition of which roads should have their NetInfo.m_CanCrossLanes overriden and to which value it should be set.

UI: More accurate lane routing arcs

The lane routing lines at junctions don't follow the actual path the vehicles take, they just use a very basic arc between source lane and destination lane.

Would it be possible to use the same approach that the vehicle AIs use in order to create more accurate lines to depict the lane routing? They'd still be an arc, but the properties of the arc would be more accurate based on the actual trajectory the vehicles take.

While this in itself is a minor and somewhat superfluous enhancement, it would be very useful for several other enhancements which I'll post as separate tickets.

Low amount of cars in service

clemenclm2001:

The first of all sorry for my engish, it's not my mother languaje and it,s very possible that I make a lot of mistakes.

I think that my problem is very common, I don't know if is possible to solve.
When I put (for example) a taxi depot at the beginig the number of taxis rise very fast but inmediatly the number is lower ... not 0 but very lower... it rises 2, it rises 4 and after that it goes down to 1-2 and always is 1-2... not more than 5-6.
It happens also with the others vehicles (trash, and deathcare)
I have to put a lot of depots if I want to receive a normal service.
If I unsuscribe this mod everythink is ok
Any idea?
https://steamcommunity.com/workshop/filedetails/discussion/1637663252/1739980540129984264/#c1777135944136297014

Allow parking lanes to be used as filter lanes

UPDATE: Bus stops can't be used, but we could probably use parking lanes.


On most roads, adding bus stop creates a cut-out... So, I was thinking, what if there was a way to 'trigger' these pavement cut-outs, say, near junctions... In other words, the cut out becomes a filter lane for turning left or right.

  • Would need some way to identify whether a road has the pavement cut-out feature or not
  • Would need some way to make it extend all the way up to junction
  • Would need a way to add a virtual lane to it (and then have traffic lights, lane connector, etc, all working with it)

In theory it would be possible to run a 'fake bus stop' all the way along a stretch of road to add an extra lane to an existing road lol.

On tram stops, it's often the reverse - they'll cause the pavement to extend out towards the tram, often wiping out some parking spaces or bike lane or something. Not sure what that could be used for, but something to ponder if the bus stop idea above turns out to be feasible.

Unable to push images to wiki

I can edit pages in the wiki tab, but can't push updates to it via git command line or desktop. The only way to put images in the wiki (rather than kludges that require hosting elsewhere) is via git push.

Can I get additional access privs (collaborator)?

What is the point of manual traffic lights?

Is there really any point to manual traffic lights tool?

I can manually change the lights but as soon as I exit the tool everything goes back to normal.

Is this feature really needed?

Remove Crosswalk decals when crosswalk disabled

I know we can disable crosswalks programmatically, but it doesn't remove it from the road junction itself. Is that possible?

Somewhat leaving this for future note, also somewhat leaving this for my own purposes.

Overhaul how default speeds are defined and stored

This is a redux of VictorPhilipp/Cities-Skylines-Traffic-Manager-President-Edition#131

Current default speeds UI is naff, and also seems to store in the save game rather than global default, so each new map you have to go through the pain all over again.

Some ideas mentioned in the ticket linked above, but here's another approach that could be taken:

When setting speed limits in normal way (eg. choose speed then click the road/lane on the map), have a modifier key that also sets it as default speed for the road or lane.

As a rough example (I think there are already modifier keys so might need some changes):

  • Control + Click = set speed where clicked, also set default speed
  • Shift + Control + Click = same as Ctrl+Click, but also update all roads of that type on the map to use the new speed

This would allow entire 'default speed limit' UI to be ditched.

It would also likely solve issue of networks that have mixed lane types (eg. road + monorail); the existing 'default speed' UI is a nightmare for those (see VictorPhilipp/Cities-Skylines-Traffic-Manager-President-Edition#181).

And, it would allow per-lane default speed setting for a given network prefab (see VictorPhilipp/Cities-Skylines-Traffic-Manager-President-Edition#81)

Having those key shortcuts would make setting default speeds nice and easy; no more searching through massive list of road prefabs trying to find the one you want to customise; just slap some road down on the map and set it's speed with the keyboard modifiers pressed.

Note: I'm not convinced there is ever a need to set different speeds for the different types of a network (ground, elevated, bridge, slope, tunnel). Well, maybe for bridge and tunnel? But definitely not elevated or slope (they should use whatever ground is set to).

As mentioned above, default speeds should be a global setting, not per-save... although, if setting the default speed is made loads quicker + easier, maybe it wouldn't be such a problem to have it per-save?

Auto-config traffic lights (single junction)

Note: Would require #4 to be implemented

A quick way to auto-configure traffic light sequence at a single junction would factor in the following:

  1. Road priority, determined as a function of:
    • Priority flag set on a named road (road info panel in vanilla game)
    • Number of lanes (more = higher priority)
    • Speed of road and/or lane (faster = higher priority)
    • Width of road and/or lane (wider = higher priority)
  2. Conflict point minimisation (see #4)
  3. Amount of traffic per lane or segment? (TM:PE already includes some metrics on this stuff?)

This would be hugely beneficial to casual players, and also useful starting point for advanced players who want a decent starting point for their traffic light sequence.

Obviously, easier said than done, but would be a good coding challenge (:

Add wiki tab to git repo

IMO documentation should be moved in to the git repo; this will make it easier to edit and any future forks would be able to maintain their own feature-specific docs.

I'll happily spend a few weeks putting the docs together :) I find docu is a good way to identify cumbersome features and generate ideas for improvement.

[EPIC] UI: Routing Tool

This tool visually combines the features of the Lane Arrows and Lane Connectors tools.

Lane Arrows

Current implementation is floating panels with buttons for each direction. I find this a bit confusing to use, and clunky to work with. Maybe using arrow glyphs (rather than characters) on the buttons would be better, where only one button (and thus glyph) can be active at a time?

Also, it would be nice if we could add a few new arrows?

  • Deflect = Driver should start moving in to adjacent lane
    • Used when a lane is closing (eg. road narrows) or some obstruction ahead (eg. roadworks)
  • Merge = Driver must merge in to adjacent lane
    • Used when a lane cannot continue 'straight ahead'
  • Diverge = Driver may diverge in to adjacent lane
    • Used when additional lanes become available, or when there's a slip road, etc.

Issue: Most roads don't have deflect, merge or diverge arrows. Some roads do, but only via supplemental lane marking asset packs. We'd need some way for user to choose which decals to use to represent the new arrows, possibly via integration with Find It! mod.

Two other things:

  • H: Hide = Arrow takes effect, but does not appear on the road
  • X: Reset = Reset an arrow to game default
    • Removes any customisations; an arrow might still appear depending on what the game default is

The full list of arrows:

  • L: Left
  • LF: Left-Forward
  • F: Forward
  • LFR: Left-Forward-Right
  • LR: Left-Right
  • FR: Forward-Right
  • R: Right
  • DL: Deflect Left (new)
  • DR: Deflect Right (new)
  • ML: Merge Left (new)
  • MR: Merge right (new)
  • IL: Diverge left (new)
  • IR: Diverge right (new)

They could be arranged in a grid, something like:

IL LF F FR IR
ML L LFR R MR
H  DL LR DR  X

With the exception of H (hide) and X (reset), all the arrows equate to lane connections. Depending on what's attached to the nearby node, some arrows would be unavailable. For example, at road junction, the diverge, deflect and merge arrows would not be applicable. Diverge and merge are only available when a road widens or narrows, respectively. Deflect only applicable on normal nodes where both segments are same number of lanes. Left turn only applicable if there is a left turn, and so on...

As inferred from the above, it's not just at junctions where the lane arrow tool is applicable; it's also useful at nodes where different types, or even same type, of road meet.

When hovering over an arrow button in the panel, the following happens:

  • Source lane is highlighted (see #33)
  • Lane connectors are shown to clearly indicate what lanes it connects to
  • Destination lanes are highlighted too

This way the user has zero doubt as to what effect the arrow will have if they choose it.

If any of that sounds feasible, let me know and I'll do a quick graphic mockup of the grid layout.

[EPIC] UI: Parking Tool

Parking icons

When hovering an icon, associated lane should be highlighted. See #33.

Car parks

Update to Traffic info view:

By "parking spaces" I mean a place where car can park, regardless of whether that space is currently available or not. The value of '10' is just a guess, based on most growables having fewer than 10 parking spaces.

  • Red gradient buildings = cims struggling to find parking when travelling to that building
    • Existing functionality
  • White buildings = not enough parking to be considered a car park / no parking issues
  • Shades of green = buildings with 10+ parking areas are considered car parks:
    • Light green = Few spaces (>10)
    • ...gradient...
    • Dark green = Loads of parking spaces (>100, like this or this...)
  • Parking props from 'parking lot roads' should be treated as car parks despite only having few spaces
  • Possibly highlight normal parking lanes on roads if that's possible?

Better sync of u-turn customisations

There are three ways to control u-turns at junctions:

  1. Vehicles may do U-turns at junctions mod setting (policies and restrictions tab)
  2. Junction restrictions
  3. Lane connector

There is some disconnect between 2 and 3.

  • If I create a u-turn with lane connector, I can't remove it with junction restrictions
    • Junction restrictions detects that there is a u-turn but won't allow me to disable it via the icon
    • Desired behaviour: I should be able to disable a u-turn via junction restrictions (it would remove the relevant lane connections)
  • If I create a u-turn with junction restrictions, there's no visualisation of that in the lane connector
    • Desired behaviour: The u-turn lane connection(s) should be visible in the lane connector
    • ...unless it's a default u-turn (due to mod settings)..?

UI: Speeds Tool

General

  • Ability to do MPH vs. KPH - see: #13
  • Highlight lanes associated with hovered icon - see: #33

Toolbar / Palette

  • Right click tool button to toggle overlay - see: #21
  • Possibly move the speeds palette to a build bar - see: #51

Eraser tool

Eraser tool clicked on a lane / segment, or speed icon, resets it to default speed.

Maybe allow right-click on a speed icon to reset that segment/lane to default speed?

Setting default speed for roads

See #12

Conflict point visualisation

This is a redux of VictorPhilipp/Cities-Skylines-Traffic-Manager-President-Edition#210

Note: Would require implementation of #3

Would it be possible to depict conflict points within junctions?

In other words where a lane connector crosses another lane connector, that would be considered a conflict point.

Real-life road design involves this sort of stuff too:

fig075

In order of importance:

  1. Crossing
  2. Merging
  3. Diverging

This would help a lot at complex junctions. I assume there are vector collision functions available that could be used to determine the various conflict points?

However, it would require that all lane connectors be displayed, even on un-customised junctions. Maybe as thin grey or white lines to depict 'default connections' (where applicable, ie. for lanes not yet customised)?

It could be implemented so that the default lines (where applicable) and conflict markers would only appear when zoomed in and would auto-hide when zoomed further out?

Emergency vehicles flying off sharp junctions

Does 'realistic speeds' and/or 'reckless drivers' option affect emergency vehicles (particularly police/ambulance/fire)?

The 'realistic speeds' docs state:

Heavy vehicles choose their target speed within the interval -10 % .. ± 0%.
Reckless drivers drive +30 % .. + 200 % faster than allowed.
Remaining vehicles randomize their target speed within the interval -20 % .. +30 %.

When responding to emergencies, these vehicles hit top speeds and can sometimes literally fly off the road if going too fast.

I don't know if this is due to TMPE changing their speeds, or if it's just crazy default speed defined by the asset (I have loads of custom vehicle assets for emergency vehicles).

Also, reckless drivers getting up to 200% speed increase might be overkill (while I've only noticed emergency vehicles flying off a junction, I assume a reckless sports car driver might experience the same fate).

IMO, service vehicles in general should be excluded from 'realistic speeds' and 'reckless driver' features if TMPE doesn't already do that?

Hearses Not Working

Am I going crazy or are hearses not dispatching from cemeteries at all?

After making this they started to come out, but it seems to be intermittent (at random).

UI: Replace floating toolbar with 'build bar'

Note: The 'TMPE crown' button would still exist and be draggable to any location on screen

Currently TMPE tools are accessed by a floating toolbar which is toggled by the 'crown' button.

I propose moving the tools in to a 'build bar' (like "Find It" or "Roads" etc):

  • Much better consistency with base game
  • Users already instinctively know how those things work, so we don't need to explain custom UI
  • Larger icons
  • Extended tool tips (image and text) can be used as mini-tutorials for tools
  • Tabs could be used to switch between:
    • Tools (what's on current toolbar)
    • Overlays (toggle persistent overlays)
    • Despawns
    • [Future:] Templates (eg. for traffic lights or whatever)
    • Settings
  • Tool-specific buttons could be displayed (like curved road buttons in vanilla roads menu)

What do you think?

I've also asked Keallu, author of "Resize It!" mod, if he would consider creating reference mod that shows the ideal way to implement 'build bars' (as he did extensive investigations in to those while developing his Resize It! mod).

UI: In-game UI to toggle persistent overlays

Most off the overlays listed in Mod settings > Overlays tab correspond to buttons on the in-game toolbar.

Would it be possible to right click or shift+click (or whatever) a button on the in-game toolbar to toggle its associated overlay?

Furthermore, is it possible to overlay a border image round the tools that have persistent overlays enabled?

Extending that, would it be worth changing background colour of active toolbar buttons?

Each button would have the following sprites:

  • Inactive
  • Active
  • Inactive + Overlay
  • Active + Overlay

Code changes required:

  • Handing a click modifier (or right click) on the button to toggle persistent overlay
  • Displaying/changing sprites on the in-game toolbar

I could do some quick image mockups this week to illustrate what it might look like?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.