I visited the Brooklands Museum
on Saturday (an interesting day out indeed: I should recommend it to anyone interested in London 'buses, aviation, racing cars or bicycles).
Their star exhibit is an example of the famous and now retired BAC-Aerospacial Concorde, pictured below:Concorde
by James Petts
, on Flickr
We have a lovely example of Concorde in Pak128.Britain-Ex, made by Giuseppe (Milko), the pakset's chief aircraft engineer:
At present, Concorde is not of much use in the game, as it is a long-range aircraft, and maps can never get large enough for a realistic long haul flight, especially over water (and, in Simutrans-Extended, aircraft cannot fly supersonic unless they are over water: Concorde was not permitted to fly supersonic over land because of the sonic boom created by flying at that speed).
However, one planned feature
is portals: special tiles on the edge of the map that represent foreign ports and airports at which long-distance ships can dock and long-distance aircraft can land. Once those are implemented, long-range aircraft such as Concorde (and other long-range aircraft) will be much more useful.
However, this presents a difficult challenge from a balance perspective: in Simutrans-Extended, passengers, mail and goods will always take the single fastest route from their origin to the destination. It is thus coded for good reason: having different passengers taking different routes (e.g. some preferring a cheaper, slower journey, others preferring comfort over speed, etc.) would involve calculating not one optimum route between each origin/destination pair of stops, but many such optimum routes for different passengers, and this would make the game too slow on big maps.
Because Concorde is so much faster than anything else, any destination served by Concorde will inevitably attract all of the passengers to that mode of travel. However, Concorde is small and very expensive to run: the interior cabin is narrower and lower than a railway carriage:Concorde (interior)
by James Petts
, on Flickr
I could only just about stand up straight in the middle of the aisle.
In reality, Concorde was significantly less profitable than other airliners, which lead to its eventual retirement in 2003 without being replaced by any other supersonic airliner. It crossed the North Atlantic on one of the busiest air routes in the world, but carried only a small fraction of the passengers carried on that route: all of them paying a very significant price premium to do so (the ticket price was circa £3,000 one way at one point, although I am not sure exactly when this was). In Simutrans-Extended, because of the speed bonus system, all
of the passengers would take Concorde and pay the premium.
Concorde is actually just an extreme example of a balance problem with aviation more generally, especially the short-haul aviation that is currently most readily simulated in Simutrans-Extended: it is so fast that, for long journeys (greater than about 3 hours overland), it will attract all the passengers from land based transport, yet aircraft, especially early aircraft, have a small capacity. It would be absurd, for example, if 100% of the London to Edinburgh traffic travelled in DC-3s in 1937.
This does not just apply to passengers, but also mail: in Simutrans-Extended, all mail would be air mail whenever there were an air route for mail faster than the overland or sea route.
This will make it very tricky to balance revenues properly. The in-built speed bonus (adapted from Standard long ago to be based on the actual speed of the journey rather than the top speed of the vehicles) also makes calibration difficult: it assumes that all passengers can and will pay a premium for speed, and that that premium is fixed irrespective of competition between routes.
The only solution that I can think to this that is reasonably simple for players to interact with and that will not result in much reduction in the game speed is to implement different classes of passenger.
What I envisage is this: each passenger generating building will generate passengers assigned to a particular class: 1, 2 or 3 (roughly to correspond with first, second and third class travel as it existed on the railways in years past). A building's .dat file will be able to specify what proportion of each that they should generate, in default of which a standard distribution will be used (e.g. 10% class 1, 35% class 2 and 55% class 3). Possibly, buildings might then demand passengers of different classes in different proportions.
To prevent the need for excessive micromanagement of prices by players (which was very annoying in Cities in Motion 2, for example), each vehicle run by a player should be able to be set to charge a low, medium or high price (described as "low", "medium" and "high" for simplicity, and corresponding to the three classes of passengers). Different vehicles in a multi-vehicle unit, such as a train, should be able to accept passengers of different classes, and charge differential prices. Each vehicle should have a default price charged (i.e., low, medium or high), which the player should be able to customise on the vehicle's details window. Good pakset design should mean that players do not usually need to change the defaults. Some individual vehicles should be able to be made into composite class vehicles, with accommodation (at different levels of comfort) for different classes of passenger. This is particularly important for aircraft, but is also significant for composite railway carriages.
Once the classes of passengers are thus separated, the routing system could simply run once for each of the three classes of passengers: this would triple the time taken for route generation for passengers, but would not multiply it by ten or a hundred in the way that re-calculating the optimum route for each passenger individually would take. Only routes containing vehicles priced for that class of passengers or lower would be taken into account when calculating the route for each such class.
For each leg of the journey, passengers would choose whether to travel in a lower class than they could afford based on the difference in comfort between the lower class and the class that they can afford: at no difference in comfort, passengers would always use the lower class unless it were full. This calculation would, for simplicity, only affect in which accommodation that passengers travel on a particular vehicle/convoy: it would not affect which convoy that passengers choose to board.
A similar principle should apply to mail (without taking into account comfort): mail should be generated in first and second class, the former being prepared to pay more than the latter, and players being able to designate convoys/lines as accepting only first class or both first and second class mail (without distinction between vehicles in a convoy, which would not be meaningful for mail).
This would allow some interesting emergent gameplay: aircraft such as the Concorde could be priced at the "high" level and thus be available only to wealthy travellers who can pay enough to subsidise its high fuel consumption (and the same for early aircraft of all sorts). On a busy route with little competition, a player might raise the minimum class to "medium" to exclude those who can pay only a little from travelling at all, thus earning a higher margin for the services. A slower competitor might be able to prosper by having cheaper fares (without price micromanagement). Passengers would not always take the same route, leading to more realistic distribution of passengers. Expensive forms of transport (such as early aircraft) could be calibrated to be able to be profitable only when taking mainly or all first or second class passengers. The rise of low-cost airlines could well thus be simulated. Multi-class rail travel could be simulated in full (although unfortunately this would require producing graphics and data for many more railway carriages).
This should also make it significantly easier to balance the game with realistic data, as price discrimination of this sort is often fundamental to the revenue model of many transport outfits, and it would have been very difficult accurately to calibrate the revenue against expenses without this.
I should be grateful for people's thoughts on this. I should be particularly grateful for people's thoughts on some unresolved issues. Firstly, what to do about the speed bonus? None of this would apply to goods (which already have built-in price discrimination by charging different amounts for different goods): should they retain their speed bonus? (The real life prices for transporting goods did not appear to fluctuate with the speed of delivery, so I am doubtful that good balance could be obtained by doing this). Should the code for the speed bonus be retained in case anyone wants to use it, or should it be excised entirely to simplify matters?
Secondly, are three classes of passengers and two classes of mail enough, or do we need more? (Does modern long-distance rail travel count as medium or low, for example? Should air mail be considered a class above first class post creating three total classes? There were such a thing as fourth class carriages on trains in the mid-19th century in some unusual situations where the railway had to compete with the slower but more comfortable canal for passenger traffic).