News:

Simutrans.com Portal
Our Simutrans site. You can find everything about Simutrans from here.

Overcrowded stations - a new approach. Feedback sought.

Started by jamespetts, July 29, 2013, 08:47:30 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

jamespetts

Until recently, passengers mail travelling from overcrowded stations had a revenue penalty. This feature was removed in version 11.0, because it was thought not to reflect any real world economic dynamic with any reasonable degree of accuracy, and because it overcomplicated revenue calculations.

However, this has left the result that overcrowding at transfer stations has no adverse consequence at all. Overcrowding at origin stations still, as in Standard, prevents passengers from joining transport at all (registering as "unhappy" at the origin station), but many stops, especially airports, are not within range or a significant number of or any city buildings that might be an origin/destination for passengers (and passengers includes mail for these purposes, which are generated in the same way, separately to goods). If there are not enough vehicles serving the stop, then there is, in effect, a time penalty, as passengers have to wait for the second or third convoy to get them to where they are going, but if there are enough convoys, but not enough waiting space, then there is no particular consequence at all.

As I was slowly making my way through the crowds at Victoria station this morning, it occurred to me that overcrowded stations have the effect of slowing transfer times: the more people that there are, the longer that it takes to move around in the station, to pass through ticket barriers, corridors, passages and even open concourses, and the longer that it takes to queue for tickets. This is not related to service intensity (which affects waiting time), but relates to the number of people using the station itself compared to the amount of space available in it. It would be sensible, I think, to model this in Simutrans-Experimental by increasing the transfer time of a station (itself a relatively new feature) whenever a station is overcrowded.

The next question is what formula to adopt: one would first have to measure how overcrowded that a station/stop is. Using last month's data is the easiest, but new data would have to be gathered, as the number of arrived, departed and waiting passengers do not by themselves say anything about the crowding at any given moment. What might work is, for each station, to record the number waiting every X number of steps, then average that at the end of each month, and calculate that as a ratio to the total capacity. This would require stepping the saved game version, as new data (the waiting passenger data) would have to be saved.

As to what to do with that figure, the simplest is apply a direct proportion: if the average number of waiting passengers is 200% of the station's capacity for the previous month, the transfer time should be 200% of what it would otherwise be, so that a 5 minute transfer takes 10 minutes, etc.. Some stations have a transfer time of zero, which would not be affected if this formula is applied without modification. What I suggest,  therefore, is that the transfer time actually be + 1 minute for any amount of overcrowding, before the further proportionate increase is applied (so that a stop with a zero transfer time would have a 2 minute transfer time at 200% capacity (0 + 1 x 200%), and a stop with a five minute transfer time would have a 12 minute transfer time at 200% capacity (5 + 1 x 200% = 12)). I wonder, however, whether this is sufficient, and whether the times ought to be multiplied by a further factor, settable in simuconf.tab, which defaults to 1 (and which can be set to zero to disable the feature entirely if people want). This would enable an exponential increase if set, for example, to 2 (or perhaps it should be in percent, defaulting at 100, to enable more fine control).

Three ancillary questions arise. Firstly - should one do the same thing for mail? It makes sense in a way: if there are not enough people to sort the mail, or enough space for the bags, then the moving of mail around a stop would take longer. Secondly, should we retain the system whereby passengers cannot travel from a stop at all if they happen to want to go at the very moment that it is overcrowded (beyond a certain degree)? Does this make sense, or do passengers in reality just form a queue and wait until there is some space (taking more time, but not preventing travelling completely)? This seems to make more sense for mail, as people sending mail cannot stuff any more letters into a full letterbox, but people might leave the letters next to the letter box, and the postman would have to spend extra time collecting them all and cramming the over-full mailbags into her/his van, so the time penalty alone might suffice. Perhaps this might be a new simuconf.tab option to allow or disallow passengers/mail travelling from crowded stations. Thirdly - what, if anything, should be done about goods? In principle, a transfer time penalty for overcrowded transfer stations (i.e., ones with insufficient handling facilities) would seem to make sense.

All useful/constructive thoughts welcome!

Zeno

Everything sounds interesting, and the idea really makes sense to me. Although I don't get the point of the "average number of wainting passengers during the last month". Is there anything preventing us to do something like "overcrowded% * penalty_time", or maybe that's a too simple approach? You can of course add constants or make it exponential. I can't see the advantage of collecting that data over a time period instead of using instant data such as "current load" vs. "maximum capacity"?

Jando

Quote from: jamespetts on July 29, 2013, 08:47:30 PM
... Thirdly - what, if anything, should be done about goods? In principle, a transfer time penalty for overcrowded transfer stations (i.e., ones with insufficient handling facilities) would seem to make sense.

All useful/constructive thoughts welcome!

I'm not qualified to comment much on the passenger side of overcrowding (I play in the early years, overcrowding with passengers is no issue) but would like to comment on the cargo side. There are some situations where an overcrowded station cannot reasonably be avoided by a player: mostly when industries "order" large amounts of goods.

To overcome this a player would need to invest into stations and transport capacity - knowing that this investment (and the maintenance!) will be wasted in 2 or 3 months because the industry will stop ordering anything at all for the next 6-8 months because of the large supply it has build up. Here's an example screenshot: http://i.imgur.com/nSdvSon.jpg. The screen tells that the bakery consumes 16 units per month (actually it consumes 23-24), it has built up a supply of 216 bags now, thus enough bags to last for the next 8-9 months.

So, the question is: should the passenger/mail operation of a station be in any way changed by the fact that a station is momentarily overcrowded with bags of flour?

jamespetts

Zeno - the averaging is necessary because routing (which is the system that would make use of these times) is not done on the fly, but periodically, for performance reasons. Waiting times are averaged over a month, and, in the same way, overcrowding would also have to be averaged over a month.

Jando - stations currently have separate capacities for passengers, mail and freight; therefore, overcrowding of freight should not affect passengers and mail, etc.

waerth

This makes me think that we need more building types representing hallways for the subway and such. I once saw that and downloaded that in another pakset.

W

jamespetts

Did you mean for each of these building types to have distinct functions? If so, that would be extremely complicated to write.

waerth

No just a graphical thing, station extension buildings to add capacity :p No new code!

jamespetts

Ahh, well that should be simple enough. This would be good - we could do with one or two more recent Underground railway buildings. One code change that I'd like to make, but it is a rather low priority, is to allow certain buildings to be constructed underground to allow, for example, underground booking halls as seen on the London Underground in many places (Chancery Lane station, for example).

ӔO

I think the overcrowding wait times should go up more steeply.
(5 + 1 x 200%x2 = 24min)

severely overcrowded stations impede getting on and off vehicles significantly.

jamespetts

Do you think that the suggested multiplier system about which I write above will suffice for this purpose, AEO?

ӔO

I think multiplier should be fine. I doubt there will be many situations where there is more than 200% pax/mail waiting at the station, unless there was a jam at a central hub.

Alternatively, the formula could be exponential. The effect at 200% would still be the same, but at 400%, it would be much worse.
((5 + 1) x 200%^2 = 24min)
((5 + 1) x 400%^2 = 96min)

I don't think I've ever been in a situation where I've had to wait 96mins to transfer, and I've been at CDG airport when the icelandic volcano errupted.

neroden

Quote from: jamespetts on July 29, 2013, 08:47:30 PM
If there are not enough vehicles serving the stop, then there is, in effect, a time penalty, as passengers have to wait for the second or third convoy to get them to where they are going,
Right: this has been affecting my games in the 1750s, where road vehicles have very low capacities.
Quotebut if there are enough convoys, but not enough waiting space, then there is no particular consequence at all.
True.

QuoteAs I was slowly making my way through the crowds at Victoria station this morning, it occurred to me that overcrowded stations have the effect of slowing transfer times: the more people that there are, the longer that it takes to move around in the station, to pass through ticket barriers, corridors, passages and even open concourses, and the longer that it takes to queue for tickets. This is not related to service intensity (which affects waiting time), but relates to the number of people using the station itself compared to the amount of space available in it. It would be sensible, I think, to model this in Simutrans-Experimental by increasing the transfer time of a station (itself a relatively new feature) whenever a station is overcrowded.
You're right.  And I like it.

I haven't thought about exactly how to implement it.  (Currently I'm trying to solve the problem that city growth makes no sense.)

jamespetts

If any thoughts on how to implement it come to you, do let me know. I will be considering the matter furhter myself in due course.

As to city growth - I'd be interested to learn about your ideas in that respect. As you know, I am planning to make city growth dependant on local transport quality, but need to finish work on the passenger_generation branch first, not least because the way in which transport quality is measured needs to be updated based on the changes on that branch. Perhaps you could post a new thread about what you are thinking of doing with growth?

waerth

Hello James, I found the graphics I meant to expand on stations. They are on this Japanese addon site, that I found in another thread again.

scroll to the underpass set.

http://japanese.simutrans.com/index.php?cmd=read&page=Addon128%2FRoadTools%201&word=%C3%CF%B2%BC%20

And another underground platform set with lots of details:

http://japanese.simutrans.com/index.php?Addon128%2FRailTools%202

It is such a shame I do not read Japanese. There are so many great addons that the Japanese have :/