News:

SimuTranslator
Make Simutrans speak your language.

(New question added) 102.2: How the people choose their interchange station?

Started by im359, July 06, 2010, 10:06:25 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

im359

Let say, there is a bus route: A<->B<->C<->D
people from B and C can interchange the same series of routes to get to their final destinations on both A and D
so, what factors the people will consider when they choose their interchange station? ???

Combuijs

Welcome to the forum!

Quotepeople from B and C can interchange the same series of routes to get to their final destinations on both A and D

I'm not sure I understand what you mean.

Quoteso, what factors the people will consider when they choose their interchange station?
In standard Simutrans the only thing they do is minimize the number of interchanges needed. So, if they can choose a route of 1000 tiles without interchanges they will prefer that over a combined route of 300 tiles with one interchange. If the number of interchanges is equal, people will take one of them, not necessarily the shortest one. In the experimental Simutrans branch they consider other things as well, but I don't know the details of that.
Bob Marley: No woman, no cry

Programmer: No user, no bugs



im359

Quote from: Combuijs on July 06, 2010, 10:27:53 AM
Welcome to the forum!

I'm not sure I understand what you mean.
In standard Simutrans the only thing they do is minimize the number of interchanges needed. So, if they can choose a route of 1000 tiles without interchanges they will prefer that over a combined route of 300 tiles with one interchange. If the number of interchanges is equal, people will take one of them, not necessarily the shortest one. In the experimental Simutrans branch they consider other things as well, but I don't know the details of that.
Yes, the thing I would like to know is, out of number of interchange, how they make their decision
In my example, no matter the people choose A or D as their interchange station, the number of interchange is also 1
If I offer two choices with the same number of interchange, what factors they will consider to determine their choice?

Combuijs

QuoteIf I offer two choices with the same number of interchange, what factors they will consider to determine their choice?

None, it is random, though consistently the same. If you remove the "winning" route and then add it again, things might be different. 50% chance though...

Edit: It is of course not really random, but there are hardly factors involved you can influence. Such as removing complete stations or removing complete route possibilities.
Bob Marley: No woman, no cry

Programmer: No user, no bugs



prissi

Any stations has a list of next stations sorted by number of stops needed. So far, it will go via the first stop which allows transfer to a stop which allows transfers to destination. Thus it will somehow try to minimize intermediate stops.

gauthier

and it's very bad.

In a map where is a sea on the center, passengers prefer make a 3/4 turn around the sea instead of changing at one station. Maybe the way of choosing path in Simutrans experimental could be included in the main game (as far as I know it's the purpose of Simutrans experimental).

prissi

Most of the time is wasted in simutrans for route search. SE uses much much more amount on calculation time for that. I have lots of games that just barely run in normal simutrans. Those are large games, as expected for network games. Since in network games the slowest computer sets the limit, performance is an issue.

gauthier

I don't know much things in C++ and calculation time (I'm just a C newbie ... ) but I have an idea to make the calculation time shorter (maybe it's a crap ... I don't know)

Why not, for each line, pre-calculate an average time to go from a station to another ? (based on the average waiting time to take a train/bus/etc ... and the time to go based on speed, power, path of the way OR already done runs) so the passengers'choice will be done according to these pre-calculations which will be modified each time you modify the line, by adding/removing trains, changing them, changing the path, etc ...
Plus : it's a real-like way of calculating : when I'm in Paris, I take the metro and RER lines (RER = regional network) which will take me the fastest to my destination.

Is that feasible ?

prissi

Use experimental if you want this. It does exactly that.


im359

firstly thanks all of your help, now another question comes lol

now the simutrans calculate the income by the displacement of people
if the displacement is negative (travel away from the destination), the income will be negative for those people
IF ONLY consider displacement as the only factor to determine income
is the income fixed no matter how much "negative income" were received???

for example, if the travel involved two trips, the 2nd trip with +ve income will overcome the 1st trip with -ve income
and the overall income based on displacement will be unchanged?

caspercom

The displacement cannot be negative. The income is simply the distance travelled, no matter in what direction. So, let's use another ABC diagram :P

A <------> B
      C<----^

If someone needs to go from A to C here, they will need to travel to B first. However, when they reach B, they will need to travel backwards in order to reach their destination. This, however, doesn't mean they don't need to pay for going there. Instead, they are charged double for the part between B and C.

Hope you followed me :P

im359

So how come my 102.2 save will have negative income
The vehicle reach a station and a negative value comes up
just like the trip of C to B will become negatively charged

I remember that simutrans has already change its calculation method, from distance to displacement, hasn't it?

Combuijs

Bob Marley: No woman, no cry

Programmer: No user, no bugs



im359

Quote from: Combuijs on July 09, 2010, 11:26:08 AM
There are several revenue systems in Simutrans. See this topic: http://forum.simutrans.com/index.php?topic=5489.0
oh, it seems that there is no way to change the behavior of the save