Cities: Skylines

Cities: Skylines

385 ratings
Express Bus Services
2
8
2
   
Award
Favorite
Favorited
Unfavorite
Mod
File Size
Posted
Updated
56.832 KB
Oct 19, 2020 @ 1:30am
Jul 29, 2023 @ 11:18pm
24 Change Notes ( view )

Subscribe to download
Express Bus Services

In 2 collections by Vectorial1024
Vectorial1024's Express Bus Services: the Plugins
4 items
Vectorial1024's Transport Efficiency Mods
3 items
Description
Unlock the peak efficiency of buses; now also improves trams!

中文名:特快巴士服務



Quick info
  • Requires Harmony
  • Works with Improved Public Transport 2 (integrated support)
  • Buses will skip stops whenever possible (NEW: can choose between different stop-skipping modes)
  • Buses will mostly no longer unbunch
  • And some other niche features for buses!
  • Logic also extends to trams, but with a twist (please check the gifs)
  • 巴士終於識得飛站; 其他交通工具(例如: 地鐵)維持現狀 (站站停, 冇飛站)
  • 除總站外,上落客後,毋須等待,即時開出 (新功能:你可以選擇如何進行飛站,請參考上面gif)
  • 以及一啲其他細碎、同巴士相關嘅功能
  • 亦將功能延伸至tram,並有一啲變化 (請參考gif)
  • 本mod已經有TLM以及IPT2嘅support
  • Sister mod for IPT2 available for even better compatibility with IPT2: Express Bus Services (IPT2 Plugin)
  • IPT2玩家可以考慮同時安裝姊妹mod獲得更好嘅IPT2體驗: Express Bus Services (IPT2 Plugin)
  • Sister mod for TLM available for even better compatibility with TLM:Express Bus Services (TLM Plugin)
  • IPT2玩家可以考慮同時安裝姊妹mod獲得更好嘅TLM體驗: Express Bus Services (TLM Plugin)
外部參考:香港巴士大典 - 飛站 // External Link: Encyclopedia of Bus Transport in Hong Kong - Stop-Skipping [Chinese only]
https://hkbus.fandom.com/wiki/%E9%A3%9B%E7%AB%99

Special thanks to Klyte45 from TLM for inspiration of the Aggressive Mode stop-skipping, and for permission for this mod to utilize it. 特別鳴謝TLM嘅Klyte45,佢當初研發出「真.飛站」,本mod獲同意加以利用,而加入「進取模式」。

Based on my IRL experience in Hong Kong, I can notice 2 differences between HK-IRL and CSL bus operations, and these 2 differences became the 2 problems that motivated me to make this mod.

Difference/Problem 1: Buses always stop at every stop
This greatly reduces efficiency of buses (and probably made them unusable) in the following cases:
  • Buses stop at bus stops when it is full, the stop has passengers waiting, but no one alights the bus (especially when used with Real Time mod, during the rush hours)
  • Buses stop at bus stops when it is empty, the stop has no one, and no one alights the bus (e.g. in night-time)
To address this, I borrow the concept of "bus bells" and "wave hand" from Hong Kong. When passengers want to alight the bus, they ring the bus bells (now electrified) to signal the driver to let them off at the next stop. At bus stops, passengers wanting to board buses wave their hands to signal the driver to stop at the stop. When no one signals the bus driver, the driver may simply omit the stop and proceed to the next one (they still need to travel along the predefined route though).

In this mod the above mode of operation is implemented as "buses depart the stop immediately if no one alight from the bus + if no one boards the bus". Buses still need to stop at stops to see if there are passengers wanting to alight the bus, but this is already a huge improvement.

New: it is now possible to choose other modes of stop-skipping so that the efficiency boost is stronger. However, do note that the Experimental mode is only for trying out latest things and may be unstable.

Difference/Problem 2: Buses unbunch at every stop
Jesus Christ. If it were in Hong Kong the driver would have been berated to death by passengers. We don't do that there.

Essentially, this mod restores the pre-vanilla unbunching update bus behaviors that, after boarding and alighting, buses depart the stops immediately.

Knowing that this will easily result in multiple buses arriving at the same stop at the same time when enough time passes, I add in a restriction that buses still use the vanilla unbunching feature when they are at the first stop of the route. Plan your bus termini wisely!

This is especially helpful especially when you are using the Real Time mod and the Transport Line Manager mod at the same time and set the line budget during rush hour to e.g. 150% or 200%; in vanilla unbunching, the buses would simply wait at stops to unbunch forever because of the increased amounts of buses often overlapping each other in unbunching distance.

What you can do with this mod
With this mod enabled, you can do the following:
  • Long stretch of roads but too tight for metro/tramway? Use buses instead.
  • Sparse, fast metros with parallel-running feeder bus routes? Sure.
  • 150% rush-hour bus budget with Real Time + Transport Lines Manager? Why not.
  • Long-distance, high-frequency bus routes/shuttles? No longer a dream.
  • Earn profit from bus routes on a per-line basis (upkeep for depots etc still has to be sourced elsewhere)
  • New Feature: use the Service Self-Balancing feature to auto-adjust service along commuting direction (check the gifs for more info)
  • New Feature: minibus mode (if the bus has capacity <= 20 and the # of pax boarding and alighting the stop <= 5, then the bus can depart earler than usual)
GitHub Repo
This mod is open-sourced, and the repo is available here: https://github.com/Vectorial1024/ExpressBusServices

And that's all!

------

基於我自己喺香港嘅經歷,以及對本game(CSL)觀察所得嘅兩大問題,我有兩大原因去整呢個mod:

問題/原因1:CSL巴士須每站停車
我將佢改做:除指定車站外(例如總站),如無乘客上落車,巴士須立即開車。

最新消息:依家可以揀其他飛站模式,例如係「Aggressive模式」直接飛站。另外留意,「Experimental模式」係試新嘢專用,有機會令飛站出現問題。

問題/原因2:CSL巴士有"防拖卡政策"
首先介紹吓"防拖卡政策":巴士須於車站停留,使得前車與後車之間能保持一定距離。

我將佢改做:取消此政策。

有何好處?
你可以順利模擬部分香港交通形勢:
  • 大埔公路/青山公路:飛走荒蕪車站
  • 港島線+電車:一快一慢,平排競爭
  • 新功能:私牌回車:繁忙時間出城方向可獲得額外班次,但反方向收車 (詳情請參考樓上gif)

最後,歡迎各位加入香港Cities Skylines Discord群組:
https://discord.gg/KeSDDydjSB
Popular Discussions View All (2)
8
Sep 6, 2022 @ 6:51am
PINNED: Troubleshooting and Frequently-Asked Questions
Vectorial1024
0
Nov 8, 2020 @ 7:53am
PINNED: Known Issues and Ongoing Research
Vectorial1024
424 Comments
Vectorial1024  [author] Mar 10 @ 6:43am 
I aint changing the Prudential modes, that is for sure.
Sabretooth78 Mar 8 @ 4:26pm 
OK. It's not too much of a problem as long as the Prudential/Legacy option remains unchanged in some form through future updates.

I'm assuming it might also be OK to use Aggressive or Experimental, as long as you remember to switch to Prudential when modifying trolley lines. This would likely not be very possible if you use the scheduling features of TLM, though.
Vectorial1024  [author] Mar 8 @ 6:52am 
@Sabretooth78 I do not really own Sunset Harbor, so that side I am not exactly sure what happened.

I can revisit later when I have more time to re-read my code, etc.
Drift_91 Mar 6 @ 11:54pm 
@Vectorial1024 Gah, now I feel like an idiot for assuming it was your mod when it was literally being triggered by a setting I was changing in IPT2. Thanks, I'll have to experiment and do more testing. :47_thumb_up:
Sabretooth78 Mar 5 @ 6:54pm 
With respect to trolleys with IPT2, if the stop-skipping logic is set to "Aggressive" or "Experimental", I get spammed "Object reference not set..." errors when a trolley despawns. This does not seem to happen if it is set to "Prudential".

Similar seems to occur with TLM, especially if you force despawns with the "remove all models not allowed..." option on the Model Select tab. In this case it seems to result in "Confused" trolleys which throw the error.
Vectorial1024  [author] Mar 3 @ 8:19pm 
I have seen "3000% unbunching" bug reports before; can't remember correctly, but it seems it was an IPT2 problem. I think one of the GitHub issues on my side has more info.

Do check your IPT2 and the plugin settings; the recommended setup using fewest clicks is to enable IPT2 unbunching, disable unbunching at start/end stops, then invert the readings in the plugin.
Drift_91 Mar 3 @ 11:29am 
Ah, I had assumed the "3000% done boarding" was the vanilla unbunching and EBS just modified it somewhat.

What I still don't understand though, is why is it still doing the EBS unbunching when the IPT2 unbunching is enabled with the IPT2 plugin installed? Is this not a bug in the IPT2 plugin?

With the IPT2 plugin installed and IPT2's unbunching disabled it doesn't do either type of unbunching from what I've seen.
Vectorial1024  [author] Mar 2 @ 11:14pm 
Basically, everything here which is not "let buses pass bus stops" are simply mechanisms to rubberband the newly-introduced bunching. Otherwise buses simply bunch too much and then cims give up too easily. The result is a nice system that is somewhat "alive" to respond to actual transit demand.
Vectorial1024  [author] Mar 2 @ 11:08pm 
@Drift_91

The intended playstyle is to tear down a small corner of a neighbourhood to plop/build a bus terminus to let buses turn around, just like irl.

Vanilla uncunching sucks greatly, seeing that it only holds buses for a constant amount of time. The bus ushering feature in this mod is arguably an upgrade, but it has its game-imposed limits: there is a max duration to uncunch buses.

But unbunching is basically required here, otherwise buses simply bunches too much.
Drift_91 Mar 2 @ 4:41pm 
Would it be possible to have a mode that disables vanilla unbunching entirely? In my current city layout there are no terminus for buses and the main stops are in the middle of my arterial roads, which I'm not sure exactly how to change without deleting a bunch of stops. Mind you, I can only assume the vanilla unbunching being combined with the IPT2 unbunching is a bug. Could you see if you can reproduce it?

The IPT2 unbunching is a lot more controllable, and thanks to you can even be reversed which could prove useful in my situation with too many buses in one bunch. I just can't use it due to it being combined with the overly-aggressive vanilla unbunching.