The International Simutrans Forum

Simutrans Extended => Simutrans-Extended paksets => Pak128.Britain-Ex => Topic started by: freddyhayward on June 19, 2019, 09:33:39 AM

Title: Suggestion: simplify passenger classes from 0-4 to 0-2
Post by: freddyhayward on June 19, 2019, 09:33:39 AM
There are currently five passenger classes, "very low," "low", "medium", "high" and "very high". I suggest they be simplified to "low", "medium" and "high". There would be two benefits from such a change. First, the path explorer would require 40% less disk space, memory and computational power. Second, it would simplify the player experience which is currently too granular. While in reality there may be a price difference between 3rd class passenger seats and say, trams or buses (although they are priced identically in my city), I don't think the difference is significant enough to warrant a separate class as air travel or 1st class passenger seats would — especially as it increases complexity and performance costs.
To illustrate the latter point, I surveyed all passenger rail lines on the bridgewater-brunel server. I found that the vast majority of "low" class seats were manually reassigned to "very low". I have tabled the results by company below:

Crandon and Lakes Railway
22942, 41% ("low" seats remaining as "low" or higher)
33582, 59% ("low" seats reassigned to "very low")

North Western Transport
396, 30%
936, 70%

Central National Transport
0, 0%
27831, 100%

Bay Transport Group
3796, 3%
127364, 97%

Ves Transportation
4514, 55%
3640, 45%

Far Eastern & Western Railways
3552, 3%
101910, 97%

Northside (my company)
0, 0%
18732, 100%

Arlspike Fisherman
4038, 14%
23908, 86%

Great Highland Railway
3049, 8%
34176, 92%

42287, 10%
372079, 90%
Title: Re: Suggestion: simplify passenger classes from 0-4 to 0-2
Post by: jamespetts on June 19, 2019, 09:39:11 AM
The original plan was to have only three passenger classes as suggested, but it was found that this was insufficient to represent fully the economics of transport, especially early air travel in which only a very small proportion could afford to travel (a subset of those who could afford first class rail fares), slow canal boats competing with third class railways on price, and, perhaps most importantly, a large proportion of people being unable to afford even third class rail travel in the 19th century (when there was first, second and third class rail travel, which would completely use up all the available classes in a three class system).
Title: Re: Suggestion: simplify passenger classes from 0-4 to 0-2
Post by: ACarlotti on June 19, 2019, 01:39:05 PM
It should be noted that the pakset is not fully balanced yet, and the city growth mechanism is believed to put very low class residents unrealistically far from their workplaces. Given these issues, I don't think current player behaviour is a good indication that the extra differention will not be worth it in the long run.

I think there is also scope for reducing the memory consumption of the path explorer data - at the moment I think the memory consumption (for the Bridgewater-Brunel map on my computer) is approximately (4B time-to-dest + 2B next transfer + 2B padding) * 7335^2 origin/destiantion pairs * 5 passenger classes, which works out at around 2GB. I reckon this could be halved using the current algorithm by using a 2B floating point representation of the time-to-dest and eliminating the padding (in the stored results, not in the working array), though that would take some work to implement.

I do also have some ideas for potentially improving the runtime and accuracy of the path explorer (accuracy particularly in relation to handling timed connections), but I've realised that as I've conceived it so far, it could further increase memory consumption (essentially by needing to store estimated journey times for all departing schedules from a station, instead of just a best one). So I'll have to think about that some more.
Title: Re: Suggestion: simplify passenger classes from 0-4 to 0-2
Post by: DrSuperGood on June 22, 2019, 06:16:20 AM
Main issue is balance. Vehicles assigned to "Low" should only make reasonable profit if transporting "Low" and make very little if not start to lose money if transporting very low.

Additionally the way industry is currently set up and balanced means that shipping freight is pointless as it is impossible to get a ship anywhere near full.