Differentiated fares
Moderator: OpenTTD Developers
Differentiated fares
I'm not sure if this is feasible due to memory consumption, but maybe.
Introduced fares that differ by the service level a cargo is transported with. The service levels would be pre-defined by the game, not customizable.
The service levels would be "slow" and "fast" for each of road, rail, air, and water based transport, for a total of 8 different service levels.
Every time a piece of cargo is unloaded, whether it's for transfer or for final delivery, it determines what service level that trip was made by, and records the distance travelled in that service level. When the cargo is finally delivered, it uses the recorded distance per service level and the total time taken from pickup until delivery, to calculate the fare payment.
The definitions of "slow" and "fast" might change over time depending on the available vehicles, but for contemporary vehicles it might be something like:
- Road, threshold speed of 70 km/h
- Rail, threshold speed of 120 km/h
- Air, threshold speed of 500 km/h
- Water, threshold speed of 35 km/h
Making and tuning an algorithm to determine the appropriate in-game units to determine the actual thresholds would be a challenge.
Determining the speed class for a trip would use the distance and time taken to determine an average speed.
Possible variations:
- Allow vehicles to set a flag to force trips in that vehicle to be considered always slow or always fast.
- Have only a single class for air, but have a third class for rail, "luxury", which can only be triggered by a flag on the vehicle used.
- Record the travel class distribution for cargo distribution graph, and weight the desire for different paths based on that data.
I'm not sure if any of this would really give any interesting effects at all, but it could be worth an experiment.
Introduced fares that differ by the service level a cargo is transported with. The service levels would be pre-defined by the game, not customizable.
The service levels would be "slow" and "fast" for each of road, rail, air, and water based transport, for a total of 8 different service levels.
Every time a piece of cargo is unloaded, whether it's for transfer or for final delivery, it determines what service level that trip was made by, and records the distance travelled in that service level. When the cargo is finally delivered, it uses the recorded distance per service level and the total time taken from pickup until delivery, to calculate the fare payment.
The definitions of "slow" and "fast" might change over time depending on the available vehicles, but for contemporary vehicles it might be something like:
- Road, threshold speed of 70 km/h
- Rail, threshold speed of 120 km/h
- Air, threshold speed of 500 km/h
- Water, threshold speed of 35 km/h
Making and tuning an algorithm to determine the appropriate in-game units to determine the actual thresholds would be a challenge.
Determining the speed class for a trip would use the distance and time taken to determine an average speed.
Possible variations:
- Allow vehicles to set a flag to force trips in that vehicle to be considered always slow or always fast.
- Have only a single class for air, but have a third class for rail, "luxury", which can only be triggered by a flag on the vehicle used.
- Record the travel class distribution for cargo distribution graph, and weight the desire for different paths based on that data.
I'm not sure if any of this would really give any interesting effects at all, but it could be worth an experiment.
Re: Differentiated fares
Hello
What's with road or rail types with slow max speeds? Rural roads come into my mind first. Should their use be penalised?
Tscö, Auge
What's with road or rail types with slow max speeds? Rural roads come into my mind first. Should their use be penalised?
Tscö, Auge
Re: Differentiated fares
They would end up so, right? If the route taken uses vehicles and roads/track that are "slow" for the era they would end up classified as slow, and you would only be able to charge a fare matching that.
For example, in 1910 a speed of 35 km/h for a road vehicle trip might be considered fast, but in 1960 would be considered slow.
Honestly, I'm not entirely sure what the final goal would be with this idea, it's just something that popped into my head and I wanted to write down.
Maybe change the entire payment system such that you only get paid by distance and service class. Or maybe the total time taken for the trip still matters, but to a lesser degree.
For example, in 1910 a speed of 35 km/h for a road vehicle trip might be considered fast, but in 1960 would be considered slow.
Honestly, I'm not entirely sure what the final goal would be with this idea, it's just something that popped into my head and I wanted to write down.
Maybe change the entire payment system such that you only get paid by distance and service class. Or maybe the total time taken for the trip still matters, but to a lesser degree.
Re: Differentiated fares
What is the purpose of these changes? What exactly would they improve over the current state?
It does make sense to have different distance fares for different classes of service (at least for passengers and perishable cargo types), but that's already achieved by modifying the vehicle's cargo decay rate. Moreover, this system is more flexible, because it allows combining carriages with different fares within the same train.
It does make sense to have different distance fares for different classes of service (at least for passengers and perishable cargo types), but that's already achieved by modifying the vehicle's cargo decay rate. Moreover, this system is more flexible, because it allows combining carriages with different fares within the same train.
My add-ons: • AdmiralAI fix • Persistence for vehicle evolution lines
My pictures: • The animation thread
My pictures: • The animation thread
-
- Route Supervisor
- Posts: 431
- Joined: 08 Nov 2019 23:54
Re: Differentiated fares
This is an interesting idea, the main effect of which would be to limit the use of fast vehicles, such as planes, and to make the demand for such transport more realistic for each connection. Maybe I'm wrong, but it seems to me that it is too complex and changes too many things to be realistically implemented in the game. As a change to the basic game, it would be too radical, whereas as an option, I think it could complicate the maintenance of the game quite a bit due to the large differences between the modes. Differentiating vehicles into "slow", "fast" (and maybe some intermediate categories) would not be a major problem, but for this you would probably have to make quite significant changes to the cargodist and - as you wrote - change the entire payment system and exclude the influence of speed from it.
Meanwhile, not the same, but similar effect could be given by... reducing the importance of speed in the evaluation of connections, or even reversing the importance of speed so that higher vehicle speeds reduce interest in transport due to its cost. In the real world, if an airline bought only Concords and boasted about having the fastest transport, it would not increase the number of customers at all, and such an effect is in play.
Or maybe a good solution would be to add the influence of average speed to the connection evaluation? It should have a greater influence, and the optimal speed could depend on the period (e.g. based on the average speed of all vehicles of a given type, e.g. ships). However, the highest speed would still have an influence, but a limited one and corresponding to the additional interest of fewer, wealthier customers.
Anyway, in terms of the payment rate multiplier itself, I think it would still make sense!
But it could apply to individual vehicles and be set by the authors of the add-ons. It is an alternative to the cargo aging parameter, which is not always effective. For example, such a multiplier would be used in the case of small aircraft and generally small vehicles that may have trouble generating profits, or in the case of cruise ships. In each case, this multiplier should also affect the connection evaluation and be read as a multiplier of the vehicle speed. This means that a positive multiplier, increasing the rates, would reduce interest in the connection, while a negative multiplier, which would reduce the rates, would also cause greater interest.
Meanwhile, not the same, but similar effect could be given by... reducing the importance of speed in the evaluation of connections, or even reversing the importance of speed so that higher vehicle speeds reduce interest in transport due to its cost. In the real world, if an airline bought only Concords and boasted about having the fastest transport, it would not increase the number of customers at all, and such an effect is in play.
Or maybe a good solution would be to add the influence of average speed to the connection evaluation? It should have a greater influence, and the optimal speed could depend on the period (e.g. based on the average speed of all vehicles of a given type, e.g. ships). However, the highest speed would still have an influence, but a limited one and corresponding to the additional interest of fewer, wealthier customers.
Anyway, in terms of the payment rate multiplier itself, I think it would still make sense!

I am sorry for may English. I know is bed.
Re: Differentiated fares
Hello
A few thoughts on the application of service levels to road vehicles.
Take as example Germany: once, before the middle of the 1950ies, it was allowed to drive through a village or town with 80kph. For many cars at this time this was nearly their maximum speed. Then, in 1955 (GDR) respective 1956 (FRG) the allowed speed within urban areas was restricted to 50kph.
In my own set the first generation of town roads got the max speed of 40kph and the second (and last) generation, available as of 1960, a max speed of 50kph. The set includes also country roads and motorways without the ability to build houses beside. Other sets define other speeds, properties and availablities.
Even if a player doesn't want to reflect the exact reality one maybe want to distinct between built-up and non built-up areas by using road types, which are designated for these purposes with approximately matching maximum speeds (and other properties). Although vehicles prefer faster roads in OpenTTD, they naturally also take the route lengths into account when finding their way, which means that in the vast majority of cases they will not use an offered bypass on a road with a higher speed limit because of the indirection. The exception would be something like motorways that cut through cities on the shortest possible routes.
Additionally road vehicles (typically) does not have such high maximum speeds as trains can have, what results in typically fairly small differences between their maximum speed and the speed limits of the roads. At the end many road vehicles would drive on slow roads through a town, possibly stuck in a traffic jam, instead on a fast road around it and would "earn" a bad service level.
Tschö, Auge
A few thoughts on the application of service levels to road vehicles.
There are road sets with a bunch of (mostly) roads for higher speeds but also sets with roads with (more or less) realistic maximum speeds. In the real world, there are restricitve rules for maximum speeds especially in urban areas that have hardly changed over time. In case of doubt, they have become more restrictive in the nearer past.jfs wrote: 15 Oct 2024 12:30They would end up so, right? If the route taken uses vehicles and roads/track that are "slow" for the era they would end up classified as slow, and you would only be able to charge a fare matching that.Auge wrote: 15 Oct 2024 11:13 What's with road or rail types with slow max speeds? Rural roads come into my mind first. Should their use be penalised?
For example, in 1910 a speed of 35 km/h for a road vehicle trip might be considered fast, but in 1960 would be considered slow.
Take as example Germany: once, before the middle of the 1950ies, it was allowed to drive through a village or town with 80kph. For many cars at this time this was nearly their maximum speed. Then, in 1955 (GDR) respective 1956 (FRG) the allowed speed within urban areas was restricted to 50kph.
In my own set the first generation of town roads got the max speed of 40kph and the second (and last) generation, available as of 1960, a max speed of 50kph. The set includes also country roads and motorways without the ability to build houses beside. Other sets define other speeds, properties and availablities.
Even if a player doesn't want to reflect the exact reality one maybe want to distinct between built-up and non built-up areas by using road types, which are designated for these purposes with approximately matching maximum speeds (and other properties). Although vehicles prefer faster roads in OpenTTD, they naturally also take the route lengths into account when finding their way, which means that in the vast majority of cases they will not use an offered bypass on a road with a higher speed limit because of the indirection. The exception would be something like motorways that cut through cities on the shortest possible routes.
Additionally road vehicles (typically) does not have such high maximum speeds as trains can have, what results in typically fairly small differences between their maximum speed and the speed limits of the roads. At the end many road vehicles would drive on slow roads through a town, possibly stuck in a traffic jam, instead on a fast road around it and would "earn" a bad service level.
Tschö, Auge
Re: Differentiated fares
I still don't understand what problem the OP is trying to solve. Almost every concern that has been pointed out here in the comments, seems to have a solution already.
- Different service levels at different prices? Can be represented by overriding the vehicle's cargo decay rate. Just as in real life, this makes a difference mostly on routes that take a long time.
- Limiting the top speed of any vehicle? The various road and rail types are designed specifically for that.
- Changing that top speed depending on the era? There are game scripts that automatically convert public roads after some year (doesn't affect private roads and rails, of course).
- Penalise using fast buses on slow roads? Just make sure that their operating costs are high enough (this also happens to be the limiting factor in real life).
- Penalise using luxury vehicles on short routes? Same as above.
- Make the delivery payment completely independent on travel time? There already are add-ons for that.
- Limit the demand for [expensive] luxury transportation. This would require abandoning the basic principles of calculating the delivery payment. Under the current rules, we can extract any amount of cash from any single passenger (limited only by map size and cargo decay).
- Overhaul cargodist to prefer "reasonable" connections that aren't too slow. This is probably a good idea, but the actual connection speed is not determined by the vehicle's "speed class". In an extreme example, I could buy a fleet of 500 km/h hover buses, but limit their speed to 20 km/h with a timetable.
- Overhaul the pathfinder to take into account the road speed limits. This is definitely a good idea, but it doesn't require assigning a vehicle to a certain "speed class".
- It is difficult to make a profit with small aircraft. The problem actually lies in the inadequate throughput of small airports, and impossibility to join multiple airports into one station.
- Cruise ships. This is a very difficult case, because they usually make trips of zero net distance.
My add-ons: • AdmiralAI fix • Persistence for vehicle evolution lines
My pictures: • The animation thread
My pictures: • The animation thread
Re: Differentiated fares
Don't worry, neither do I, entirely.
The thought was spawned from thinking about the "bus-aircraft-bus" transfer scenario, where the total time spent on the aircraft might be 25% of the total journey time, but 90% of the total distance. (Completely made up numbers.) Should journeys like that perhaps result in higher or lower fare payment than they do under the current system?
But yes, it mostly becomes pointless if the passengers or cargo don't have preferences for how much they want to pay for service. And then they would need to have a fixed destination. And then we're starting to approach the "this is no longer OpenTTD" territory.
This probably is just a bad idea, best left as a thought experiment.
Who is online
Users browsing this forum: Ahrefs [Bot] and 0 guests