Comments (4)
I thought about it, and binding this feature with mechanics like "count the time in the game and then do X" will just make this mod much more error-prone (eg the Real Time mod) with no obvious benefits. But I still want to do asymmetric bus-pulling.
I have therefore revised the plan.
Instead of moving buses every minute, perhaps it is better to perform some checks when buses arrive at termini. Something like this:
- A bus arrives at a terminus
- Look at the bus line; identify the "directional segments" and count how many people are waiting for the bus in each segment
- Don't do it if any of the following conditions is true:
- The bus line only has 1 segment
- The busiest stop on the line has < 30 passengers waiting
- Budget of the line is < 100% (not sure if should stay with this?)
- Calculate a bunch of numbers, using a combo of odds, arctans, probabiity, such that:
- If a segment has smallest average number of pax waiting, buses will not be pulled from that segment
- For every other segment, there is a chance a bus will be pulled to other segments, where the segment with the most number of pax waiting will get the highest possibility of getting extra help
- All these bus pulling must not affect the ability for buses to serve the entire line; we cannot allow all buses to go to the other side of the line just because at that very moment that segment has the most people
The details still need to be sorted out, but essentially the proposal is this.
from expressbusservices.
The thing kinda works now.
Now I will need to balance the numbers, ensure correctness, add in the config, etc etc.
from expressbusservices.
Again, it kinda works now, but there is this one feature we must implement: if we are telling a bus to redeploy, it must drop off all passengers at the terminus before redeploying. Currently there are observed cases where buses redeployed with their pax still on board, which mostly prevented those pax from alighting and reducing the efficiency of the system by a lot.
from expressbusservices.
It works quite well, as seen in both tthe testing map and a "real" map. There are other improvements that can be made, but that is out of scope of this feature.
I have extended this to also cover trolleybuses, even though it might have limited effectiveness because trolleybuses are limited to stay in their lane.
This feature should have no compatibility problems with IPT2 and TLM. It is tested with TLM and is "proved to be correct by code reading" with IPT2.
The update was pushed, and this feature is now available on Steam.
Closing this. If you found problems with this in the future, open new issues instead.
from expressbusservices.
Related Issues (20)
- New feature: fast boarding HOT 2
- Upgrade the Service Self-Balancing: target high demand non-terminus stops HOT 3
- Agressive and Experimental mode can cause bus despawning HOT 2
- Notice on IPT2 non-intervention, and recommendation to use TLM HOT 1
- Architecture reversal: read TLM values through the TLM plugin HOT 2
- Consider: disallow repeated redeployment HOT 2
- Negotiation Rounds against Compatibility Report HOT 5
- New IPT2 detected HOT 3
- New Feature: Rapid (or Slowed) Deployment HOT 6
- Incorrect detection of minibuses HOT 2
- Potential problem: FPS tanking HOT 5
- Recheck compatibility with More Citizen Units HOT 1
- New feature: Departure Ushering HOT 5
- New Feature: Unbuncher HOT 3
- New Feature: Continuous Boarding HOT 1
- Open question: should trams be allowed to use the "redeployment" feature? HOT 2
- New feature: Redeployment by Teleportation HOT 6
- Seeemingly incorrect percent-progress of freshly-redeployed buses HOT 2
- Can we further reduce the minimum time for termini unbunching?
- Known Issue: transport line vehicle mass-return to base
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from expressbusservices.