News:

Want to praise Simutrans?
Your feedback is important for us ;D.

Possible additions to the classes thinking

Started by Ves, September 08, 2017, 12:13:49 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Ves

Hello James,

I was thinking about this when I was working on the upgrade notifications mentioned elsewhere on the forum. That results in whenever a vehicle can upgrade, a text would be shown in the vehicle details window as well as some indications with the color of the line status and convoy status.
This made me think about when to use the upgrade feature, and that I have used it in pak.sweden to differentiate between different types of vehicles and even different setups pf the same vehicle. The prime example is the sleeping cars, which consists of a lot of cupes, and where the upper beds are folded away during daytime, but put down during night time. As this is no unique Swedish invention, but quite normal around the world, there are potential many cars that could benefit from this feature.
Currently this is done by making the vehicle upgrade into one another, the sleeping car can be "upgraded" to a sitting car and vice versa. This way the amount of seats or beds can be adjusted accordingly as well as the comfort can be manipulated (higher comfort on sleeping cars to allow for longer jurneys, even though there are no night time in simutrans) and even predefined classes. It is however clumpsy, and kind of breaks the illusion that it is one car. Also, the new upgrade notifications would be permanently turned on for these vehicles.

So, the thing I was thinking about is, if it would in some way be possible to have multiple "setups" of a vehicle. So I in a datfile can make, say two, setups looking like this:


# setup 0
payload[0][0]=0
payload[1][0]=0
payload[2][0]=24
payload[3][0]=0

comfort[0][0]=0
comfort[1][0]=0
comfort[2][0]=70
comfort[3][0]=0

# setup 1
payload[0][1]=0
payload[1][1]=0
payload[2][1]=0
payload[3][1]=12

comfort[0][1]=0
comfort[1][1]=0
comfort[2][1]=0
comfort[3][1]=150

# above example could represent a sleeping car which can be made into a sitting car


This can then be changed inside the game using the new class manager (assuming we only allow setups to be used for passengers). Using the above syntax would result in that you dont need to fill it in all cars that anyway only have one setup.

Imagine in the future, when the schedules maybe is a bit more advanced than currently, you can set in the schedule a car to change setup as well as classes on the fly. Would that not be cool?  :)

jamespetts

Sorry for the delay in responding: I have only just spotted this, as I think that I missed it when I was on holiday.

This is an interesting idea. It may be realistically only worthwhile when schedules become sophisticated enough to allow this to be done automatically on the fly, which would then work for the example of convertible sleeping car compartments. It might also work in a situation in which things like short-haul airliners have reconfigurable cabins to allow different proportions of economy and business class seating just by moving a curtain and adding and removing antimacassars.

However, I am not sure at this stage whether this would ever be anything more than marginal. Given that we do not simulate day and night, how would the convertible sleeping cars work in practice with an automated system?

Without an automated system, does this do anything that upgrading does not do almost as well and with no extra effort to code?
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

Ves

Well, you are right that all this can be fixed solely by using the upgrading feature. The only thing being two things:

Now, there will be a text displayed when a vehicle has an upgrade, so such 'a car' would permanently trigger this text which would be misleading. I dont want to start making logic into the displayment of the text if there are any possibilities for another way of solving the issue.

Second, imho it is sort of an abuse of the upgrading mechanism in the sense that this is not what the upgrade mechanism is supposed to do (I think). What I mean by that is, the longer a feature is used in a certain way, the more difficult and more work it will be required to change it in the future. I have in pak.sweden already made a bunch of those cars and coded it with the upgrade, but I am reluctant to making more and "polish" on them, since I am unsure how to solve the issue (using the upgrade function or decide on beforehand which vehicles only exists in which configuration). I dont know what plans Vladki has on the subject, but I guess there are also czeck vehicles witht the same issue.

jamespetts

I can see the point - the trouble is that this is somewhat marginal in importance compared to a very long list of other things of greater importance necessary to get the game to balance, and my time is already extremely limited.
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

Ves

Hi, sorry for visiting this topic again, but I would like to add something:

Currently, one thing that is not considered for in the classes, is that when a vehicle is used as a lower class, you can also sometimes fill more people in it.
In the swedish coaches, which i am working a bit on now, a coach could be used both as first class and second class, but due to the layout in the coaches (coupees with long sofas), more people where allowed to buy tickes for second class than for first class, meaning that the amount of passenger would double in the coach.
This is not possible currently, other than with the previously mentioned upgrade feature, but stack this with the fact that the same car also can be used as a sleeping car, and also here, both in a first class variant and a second class variant, the amount of clones of a car increases quite hefty.

One could solve this particular issue by having also the overcrowded capacity as a class setting. Either you can define in the datfile a overcrowding per class (so if class equals or is lower than a class with an overcrowding capacity, the car can be overcrowded that much), alternatively, a new setting in the class manager window where the player can modify the overcrowding allowance per convoy.

jamespetts

I am not sure that I fully understand the second paragraph - does this describe a real life example of the higher class having a lower overcrowded capacity? In the UK at any rate, first class rail passengers are generally guaranteed a seat. If I recall correctly, the boarding logic is such that passengers will not board overcrowded higher class accommodation if lower class accommodation is available (as standing in first class is really no better than standing in third class). Does this not deal with the issue, if I have understood it correctly?
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

Ves

Yes, this is from real life examples.
If you set an overcrowded capacity, the overcrowded capacity will be used, if necessary, no matter which class the coach is reassigned to. That might give us overcrowded high class passenger coaches, which should not be overcrowded, ever. If, however, the same coach is reassigned to be, say medium class, we can allow much more passengers to enter the coach, on the assumption that there are room for more people in the couches in the coach, and other people can even just be standing etc.
This is currently not possible, since we only have one overcrowded value for all classes.

Vladki

From my  travels i have seen that different countries or even different companies have different approach to overcrowding. Some prefer compulsory seat reservations, some don't.

E. G. French tgv, italian frecca, czech pendolino - all high speed trains with slightly higher comfort, require a reservation. It is not cheap, so it is like half a class higher than normal train (where reservation is optional and cheaper.

In Slovakia and Finland I remember some classic trains being reservation only, although they were using normal coaches.

Czech private operator RegioJet has bought used first class coaches from Austria, and reassigned them as second class, added catering = 1, and compulsory (but free - included in ticket price) reservations.

So I think that it would be nice to have an extra checkbox in the class reassigning dialog, to enable / disable overcrowding.

And perhaps also enable/disable catering = 1 (trolley service) for a pre-set cost (monthly pay and maybe some small reduction in capacity)

Also I had a discussion on czech forum about the proper capacity and comfort of dining cars. I think the comfort should match second class coaches of the same (similar) type and era. And that the base capacity should be 0, and all the seats accounted as overcrowded capacity. The reason is that normally you take a seat in normal coach and just visit the dining car. Only if the train is full you go to dining car permanently and drink beer until you get to your destination.

Sent from my ONEPLUS A3003 using Tapatalk


Ves

Setting the catering level manually up to a max value per car would also be nice, as well as the possibility to have 0 capacity, but allowing overcrowding, which is currently not possible.

jamespetts

In relation to overcrowding, I am not sure that I fully understand the motivation behind what is proposed. Firstly, changing the class is not intended to represent changing any physical characteristic of the vehicle (or accommodation within the vehicle in the case of, e.g., aircraft of composite railway carriages) at all: just the price that passengers are charged to be allowed to travel on it. Thus, the physical amount of standing space could not vary just on the basis of the class assignment.

I appreciate that, in reality, many transport providers in effect guarantee a seat to higher class passengers in a multi-class system. That is common for first class on UK railways, too (passengers not getting a seat who paid for first class get a refund of the difference between that and the standard class fare). However, it would not make sense to fix any specific class in game to a prohibition on any overcrowding, not least because class can be used, not just as a way of enforcing price discrimination, but as a way of maximising profits where the player is a monopoly operator of a low capacity line with high demand: passengers might be paying for speed rather than comfort, and therefore prohibiting overcrowding would make no sense.

Likewise, if prohibiting overcrowding were optional, why would any player ever choose to do this? How, within the mechanics of Simutrans-Extended (as implemented on the passenger-and-mail classes branch), could a player ever make more profit either directly or indirectly by doing this?

My apologies if I have missed something obvious.
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

Vladki

I agree that changing class assignment does not change capacity (neither seats, not place to stand), only the price of ticket.

Why would players switching overcrowding off ? Hmmm, why real world companies do that? Sometimes I heard that it is for safety reasons (especially in long distance buses), but otherwise? They just want to guarantee some level of comfort?

How to implement that (brainstorming):
- High class passengers would probably avoid notoriously overcrowded lines and use private car instead
- set the penalty for overcrowding is so high that a fully packed (overcrowded) vehicle does not earn significantly more than full but not overcrowded vehicle. Which would motivate the player to buy more vehicles
- reduce the class of overcrowded vehicles to one step lower?
- increase loading time for overcrowded vehicles?

jamespetts

Overcrowding already does increase loading time - but this would be a reason to disable overcrowding irrespective of the class, which is a different discussion (and another thing that is lower in priority than a very long list of things).
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

Ves

Well, you have a point about what would keep players from just setting overcrowding to maximum. At least as long as overcrowding will not affect already boarded passengers in any negative way.
So screw that idea, it was just a thought experiment as a work around.
Although some of Vladkis overcrowded ideas sounds fun! :)

Now, I will show you this picture to illustrate what I mean and what I would like:

This is a drawing of a coach along with its specifications.
You can see that the drawing illustrates a sofa in each coupe, not chairs as one might expect.
Now pay attention to the right most text below the picture. It says, and I will translate:






20 "sittingspots" 1st class
Or30 "sittingspots" 2nd class
10 "sleepplaces" 1st class
Or20 "sleepplaces" 2nd class

The text somehow assumes that the coach is used either in a sleeping configuration or a normal daytravel configuration. I believe an upper bed is folded down when the coach would be used as a snd class sleep coach.
So, this means that the capacity of the coach changes when it is used with a lower class AND wether it is in sleeping configuration or not.
To achieve all this, I would need to have four copies of this coach, all upgradeable to each other. If this would be to be the only solution, I would probably skip some variants but then also loose some of the flexibility, and therefore advantages, of the coach. Also add to this that there are more than one of theese coaches. Generally what I have found is, that especially in coaches with coupes, more people are allowed to travel in each coupe on lower classes, without any remodifications of the layout in the coupe. You could say that this particular coach has a total of 30 seats, but only 20 of them are used when the coach is a 1st class.

If you would like to consider my initial idea in this thread, I think this coach would be possible in its full glory  :)

jamespetts

That is an interesting illustration: thank you for that. This represents, from what I can work out, the use of seat booking as a way to regulate density and therefore affect passenger comfort without physically altering the vehicle. The most straightforward way of representing this would be by way of upgrades to the vehicle, which is possible at present.

Your original alternative suggestion, for allowing minor re-configurations to vehicles (affecting capacities for each class, comfort and overcrowded capacity) as something that is not an upgrade and does not require a depot would be workable to deal with this type of railway carriage (but would only be useful if this could be done on the fly in a schedule). This is a relatively low priority feature, but it is at least in principle a workable idea (and similar to the aircraft that I mentioned earlier in this thread that have their business class defined by nothing other than a moveable curtain and antimacassars on the seats.
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

Jando

Quote from: jamespetts on October 10, 2017, 11:59:10 PM
That is an interesting illustration: thank you for that. This represents, from what I can work out, the use of seat booking as a way to regulate density and therefore affect passenger comfort without physically altering the vehicle. ...
Airlines do the same, esp. on short haul when planes are frequently configured in a single class layout. For example in a 3-3 configuration (3 seats on each side of the aisle) the middle seat will be blocked for booking if any of the aisle or window seats is booked by a first class or business class traveller. Thus passenger density is reduced by blocking seats.

Sometimes these seats are separated from the cattle class in the back by way of a curtain or cardboard wall that are moveable by the cabin crew, thus on high premium demand the curtain just gets moved further back "creating" premium space. On low premium bookings the curtain gets moved to the front and the same seat will be sold as cattle class. :)

jamespetts

Indeed - a similar phenomenon to that which I noticed on a small (2+2) aircraft travelling between London and Zurich recently, only that did not have any blocking of seats at all.
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.