GithubHelp home page GithubHelp logo

Comments (4)

Vectorial1024 avatar Vectorial1024 commented on July 24, 2024

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:

  1. A bus arrives at a terminus
  2. Look at the bus line; identify the "directional segments" and count how many people are waiting for the bus in each segment
  3. 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?)
  1. 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.

Vectorial1024 avatar Vectorial1024 commented on July 24, 2024

The thing kinda works now.

Now I will need to balance the numbers, ensure correctness, add in the config, etc etc.

from expressbusservices.

Vectorial1024 avatar Vectorial1024 commented on July 24, 2024

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.

Vectorial1024 avatar Vectorial1024 commented on July 24, 2024

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)

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.