Skip to content
This repository has been archived by the owner on Nov 6, 2022. It is now read-only.

Ability to skip stops if nobody getting on or off #37

Closed
originalfoo opened this issue Apr 7, 2019 · 10 comments
Closed

Ability to skip stops if nobody getting on or off #37

originalfoo opened this issue Apr 7, 2019 · 10 comments
Labels
future Discussion for future unconfirmed feature
Milestone

Comments

@originalfoo
Copy link

Hi,

We had this request come in via TM:PE Discord, but it's out of scope of TMPE I think - maybe something TLM could add?

MarcToday at 02:21
hi
for TM:PE do you guys plan to add the toggle for buses to skip stops on the condition of

  • no one wants to board that bus at that stop
  • no one wants to get off the bus at that stop

and maybe add a special stop called a terminal stop? (shift+left click to place it) it'd give more options like buses must stop here or something

I too would love to see a mod implement those features - especially useful for bus stops on narrow or busy roads where you don't want them holding up traffic if no people getting on or off :)

@klyte45 klyte45 added the future Discussion for future unconfirmed feature label Mar 12, 2021
@klyte45
Copy link
Owner

klyte45 commented Mar 12, 2021

I may avail this for future versions. Labeled for review it later

@Endozoso
Copy link

Endozoso commented Apr 8, 2021

This would be very helpful if you're trying to make a bus network picking up from a residential area to dropping you off in an office or industrial district

@Vectorial1024
Copy link

Vectorial1024 commented Apr 15, 2021

I have just discovered this GitHub repo.

A similar question about stop-skipping was raised by me for myself on a separate occasion, and I have provided the answer in the form of another mod, Express Bus Services, released about half a year ago. https://github.com/Vectorial1024/ExpressBusServices

There would remain the terminal stop selection to be implemented, but due to GUI hardships for needing to cater for both vanilla and TLM GUI, I personally prefer that TLM implement some form of terminal stop selection for everyone, so that I could listen to the terminal stop selection and adjust the stop-skipping logic on my side.

Edit: I just now recalled that this mod already allows setting terminal stops for bus lines. What I originally meant is that perhaps this mod might add an option for users to define the second (or more?) terminus so that the bus line becomes a bi-direction line instead of a circular line, so I can read the info and determine bus skip stop logic to simulate double termini.

@klyte45
Copy link
Owner

klyte45 commented Apr 16, 2021

The sub-terminals is a good idea, specially for get information of the current line destination - heavily used by Write The Signs mod.
To separate the subjects, I advice you to create another issue talking about this feature. It would be useful to do the stops skipping when have no passenger exchange expected in the stops that aren't a terminal point.

About the stop skipping feature itself, I noted you have patched the CanLeave method from UI. I was thinking if there's any way to make it even smarter and don't make it stop at the stop if there's no one, maybe recalculating path when it should change it status to "arriving" and making instead it target the next stop. If it get implemented in TLM probably will make it incompatible with your mod, but I guess would be a better solution.

Feel free to correct me if I misunderstood your mod code.

@Vectorial1024
Copy link

Vectorial1024 commented Apr 19, 2021

About the smart skip stop question, someone else asked me about something similar last year, and at that time, I had determined that anything that resembles smart stop skipping (basically similar to what you have thought) is undoable. Now I reorganize my thoughts to provide 3 TLDR main reasons:

  1. Incorrectness of passenger drop-off: if we do not stop at stops/stations, passengers cannot drop off
  2. The possibility of "lucky pickups": CIMs who claim to take route A may randomly board for route B if both routes have similar/same line stops and a vehicle of route B arrives first
  3. Difficulty of determining "where am I" only from the info of last stopped bus stop

Full question and answer for the original question available at Vectorial1024/ExpressBusServices#1

@klyte45
Copy link
Owner

klyte45 commented Apr 19, 2021

Well, I actually did it. Check the alpha branch soon.
For the problems you said, I found these solutions:

  1. I just predicted (by ripping a part of game code into my mod) how many passengers will drop off in next stop. If zero, I can safely pass thru it without stopping
  2. The side effect it caused is, if the two vehicles from those lines looked the stop with a lot of passengers, both will stop there. It's checked when the bus get into the segment. It will cause the small probability of the bus stopping there to do nothing, but a good trade off term for the feature as a whole.
  3. I got the info from the target, not from the previous stop (it's already on the Vehicle object, as well there's a way to navigate in the stops of line).

klyte45 added a commit that referenced this issue Apr 20, 2021
Trolley and tram support to skip stops with the same conditions of buses (done at #37)
@klyte45
Copy link
Owner

klyte45 commented Apr 20, 2021

Feature extended also to trams and trolleybuses. Available now at alpha branch

@klyte45 klyte45 added this to the v14 milestone Apr 20, 2021
@Vectorial1024
Copy link

The solution of smart skip-stop by predicting how many will drop off is an unexpected welcome. Me being a smalltime CSL modder I wanted things to be simple so back then I quickly dismissed the idea of being possible to make it work.

Would it be OK if I adapted some of the code you have written to improve EBS?

@klyte45
Copy link
Owner

klyte45 commented Apr 20, 2021

Feel free to do it 😃

In situations like this the experience counts a lot. I'm in this business since the game was announced, so it helped me out with finding the solution. Keep doing your work and you also will do things that you had doubt you could do. ^^

@Vectorial1024
Copy link

Thanks klyte45!

Though I wont do it right away, life is always full of stuff to do, so there's a bit of early adoption bonus on your side 🧐

klyte45 added a commit that referenced this issue Apr 24, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
future Discussion for future unconfirmed feature
Projects
None yet
Development

No branches or pull requests

4 participants