This is getting very complicated! Let me try to deal with the salient issues at this juncture to move this forward.
Moblet's graphs and the various models for increasing maintenance costsThe spreadsheets and graphs were very interesting: a number of intriguing conclusions can be drawn as follows:
(1) the sigmoid curve is the one that starts out the shallowest and ends up the steepest;
(2) the flat rate model currently in Standard is a long way behind all the others in varying incentive by use;
(3) the obsolescence model is very similar to a combination of flat plus linear degradation (because that, in effect, is what it is); and
(4) the obsolescence model is better than the linear increase in providing differential maintenance cost at the beginning and end of a vehicle's life.
A number of issues with the calculations arise. Firstly, the obsolescence model is a linear capped model: in other words, after a certain point, the maintenance costs stop going up. Secondly, I'd very much like to see (1) a combination of the sigmoid and obsolescence; (2) a combination of overhauls and obsolescence; (3) a combination of sigmoid and overhauls; and (4) a combination of sigmoid, overhauls and obsolescence (in each case with less frequent, more expensive overhauls where applicable, and with the obsolescence capped, where applicable).
Another possible model is one that combines the linear or sigmoid maintenance increases with the overhauls model such that the maintenance charge increases until overhaul and then reverts to its previous state again. In that model, one might consider making overhauls optional or giving the user some sort of control over when they are carried out (perhaps with the default at what will usually be the optimum level).
I am reluctant to do away with obsolescence, however, as obsolescence represents something distinct from wear. Let me give an example (although I don't have the exact figures). In 1990 a large group of volunteers started building a new full sized steam locomotive from scratch:
Tornado, with the aim of running it on enthusiast trains on the mainline. Their ambition was realised in 2008, and the locomotive (a brand new reproduction of a design from the 1940s, the Thompson A1 class) has run regularly on the UK mainline hauling enthusiasts' trains ever since - it once famously hauled a relief train for ordinary travellers when the electric traction equipment used by the ordinary trains was made inoperative by heavy snowfall. It is somewhat difficult to assess, because I do not have figures to hand, but I very much doubt that Tornado costs significantly less to run/maintain than more traditionally preserved steam locomotives rescued from scrapyards that had a full working life (and many thousands of miles) behind them. The reason that steam locomotives cost a very large amount to maintain now is that economic conditions have changed since the time when they were last economic to run: unskilled labour is vastly more expensive, and modern regulations make the job even more labour-intensive than once it was. Obsolescence is intended to catch these kinds of situational changes: things that make vehicles of that
type more expensive to run in the years after their obsolescence than they were when they were new. It wouldn't be economic to run an 80-year-old 'bus now, for example, even if it had been sitting untouched in a garage for 79 years, not because it'd be worn out (it wouldn't be), but because it'd be obsolete. That is partly because newer, better 'buses are available, but also partly because one can't get the parts for the older types, or the expertise to maintain them, and because they don't conform to modern regulations/expectations, etc., at least not without substantial adjustment. Obsolescence is how we deal with the changing economies of time.
The obsolescence model was intended to deal both with this, and, to some extent a vehicle's natural lifecycle (as the two tend to coincide quite often), but that was before I appreciated the point that Moblet raised in relation to utilisation and profit balancing. If, therefore, we add a second effect increasing the cost of an older vehicle in some way, we might need to reduce the level of the obsolescence increase.
As to affecting performance, I am somewhat sceptical of this idea: what measure of performance would be affected? Vehicles do not generally get slower as they age, nor take longer to accelerate, nor become able to haul less weight; they can become less reliable, but we do not simulate breakdowns individually in any case (for good reason), but count unreliability as part of the maintenance cost.
One of the tricky things here is that by the time a vehicle gets old, the technology of new ones has improved, and I don't have a great sense of how that pans out in the sim. All the same I don't see how the balancing can work without a mechanism that limits a vehicle's economic life on a usage basis.
This is not simple, and interrelates to the above to some extent. In Standard, the philosophy is that the (and the only) incentive (and the only incentive necessary) for players to replace vehicles is that something better comes along. Indeed, this can be a powerful incentive in itself. One thing to consider: when a vehicle comes to the end of its economic life in reality, almost never is it scrapped and replaced with a brand new but otherwise identical vehicle: it is always replaced with something newer in design, and I do not think that this is a coincidence. If the only option was a brand new but otherwise identical vehicle, would a full overhaul not almost always be a more economical option than a new vehicle, unless the vehicles were built so cheaply so as almost to be disposable commodities (which would be the case for very few, if any, commercial vehicles; bicycles, motorcycles and very light vans only, perhaps; and, of course, horses are a rather different proposition, as they have a very different sort of "life" cycle). Is it not the case with most commercial vehicles that, obsolescence aside, a sufficiently heavy overhaul can generally restore them to something close to an as new condition for less money than actually buying a new one, and that the only reason that new vehicles are, in fact, bought is either that the improvements in the design of the new ones make it worthwhile or that the old ones are in some way obsolete that make them relatively less economic to run now than they were when new? Again, I don not have figures, so may be wrong, but this seems more consistent with how vehicle operators actually behave than other models posited so far.
We should think beyond rail vehicles, too, as rail vehicles have longer lives than most of the other vehicles in the sim. The typical commercial lifespan of trucks, aircraft, and bulk carriers is shorter. And come to think of it with rail vehicles, we see 50yo units in service and tend to assume that all units built 50 years ago would still be economic to run. Is that generally the case or were they just the over-engineered or underutilised ones?
That's interesting - I'd have thought that ships would have had a longer lifespan than railway vehicles; do passenger ships, at least, not last more than 30 years generally? I have some doubts that the long-lived rail vehicles were uneconomically over-engineered or underutilised, however: many of the Edwardian railway carriages surviving in the 1960s had been used heavily throughout their long lives, and most were of a far flimsier construction (wooden bodied) than their replacements (which have lasted far less long, largely for reasons of obsolescence in not meeting modern safety standards and expectations of passenger amenity, rather than because they have worn out
per se: many 1950s era carriages live on in preserved railways or for special excursion work, often being hauled by the steam locomotives operating on the main line for enthusiasts discussed above). The oldest trains operating in the UK are on the Isle of Wight - 1938 stock from the London Underground, which had been used very intensively indeed until the 1980s when it was withdrawn and transferred to the Isle of Wight (after receiving an overhaul and conversion of its traction equipment from 4th rail to 3rd rail), replacing London Underground stock from the 1920s that had operated on the Island since the end of steam haulage in the 1960s. Since the design of Underground trains was for decades based on the highly successful 1938 stock, it seems improbable to consider it uneconomically over-engineered; and, although duties on the Isle of Wight are comparatively light, the services on the entire island are operated by a handful of trains. Successful designs tend to last the longest, which tends to indicate that being physically worn-out is not usually the prime driver for replacement (although if a vehicle is coming up for its overhaul and the choice is to pay £X to overhaul it or £X * Y to buy a new one, the fact that the older vehicles need an overhaul is often a relevant consideration.
I don't know if it has been mentioned already, but, generally, the life expectancy of trams and buses is about 20~25yrs.
This one reason that the obsolescence defaults were set to 15 years for 'buses, 25 years for trams and 30 years for rail vehicles. Thank you for the information, however.
PhysicsIt did not really work if we don't include convoy mass in calculations. I believe for locomotives fuel consumption will be quite different with empty/full convoy.
What's that sound that I hear? The distinctive clunk of a can of worms being opened, I think! This issue goes to how we compute the various elements that go into the per kilometre running cost. If we imagine that per kilometre maintenance cost accounts for fuel plus regular wear-based maintenance, then increasing the per kilometre cost by a function of the load hauled and/or speed would increase, effectively, the charge for maintenance as well as fuel, and I am not sure that it is accurate. (If it so happens that the per kilometre maintenance costs increase in about the same way with speed/load as fuel consumption, then that is very convenient, but I rather suspect that they don't).
So, we are then faced with adding a further layer of complexity, and, importantly, a further parameter that all Experimental pakset maintainers will have to add to all powered vehicles (including the vast number of vehicles in Pak128.Britain). Because of the large cost of doing this, we need to be very, very sure that it is worth the cost; I'd be interested in thoughts on that issue (especially given that developers concentrating on this will preclude us from doing other things in the same time).
I think the first code change which needs to be made is a saner treatment of time, distance, and speed in simutrans. Which I'm working on, with difficulty.
If we can figure out the number of ticks in a "vehicle hour", then with a standard definition of 1 km = some number of tiles, Bernd's physics model should hold us in good stead
I think that we may be closer to that than you seem to suggest, unless I have missed something: I already calculated fairly precisely (with the help of Prissi) how Simutrans works out speed in relation to the length of a tile, and then computed the tile length, journey and waiting times all pegged to that scale: in Pak128.Britain-Ex, one tile is 250m squared (each side being 250m). The only reason that waiting times may appear to be calculate differently to journey times is that they are reduced by a factor to compensate for the fact that, in reality, people have access to timetables, and are more likely to arrive shortly before their service is scheduled to depart than they are shortly after the last one has departed. The physics model, so far as I am aware, is based on the distance scale (250m/tile in Pak128.Britain-Ex), and is certainly intended to be realistic within its parameters.
The second thing which is needed is appropriate ("realistic") weight, power, tractive effort, and air/water resistance numbers (and capacities, but I think those are good) for buses, lorries, boats, and ships. (For ships these may be somewhat different from reality for "realistic" behavior, because ships float in water and all that.) The third is realistic weights (and capacities, but I think those are good) for railway wagons and carriages. The fourth is appropriate power, tractive effort, and air/water resistance numbers for railway locomotives.
I think that we're not too far off on this, as a great many (indeed, most) vehicles have been researched historically and quite accurate information obtained. The areas with outstanding issues are the power of steam locomotives, on which I am working presently, and the values for rolling/water resistance. Currently, they are set as constants. I know that BerndGabriel was keen to have these as variables, but I had considered at the time that this might be too much for pakset maintainers. I added air resistance (which is separate from rolling/water resistance in Bernd Gabriel's model) as a tunable parameter to allow streamlining to be simulated, which it is for many vehicles. I'd be interested in people's views on the importance of allowing rolling/water resistance to be tunable as a physics parameter (which would have to be able to be set in both the vehicle and the way), as well as what sensible defaults should be. I do know that I read in the last few days in an authoritative book on steam railway locomotives that the quality of bearings and number of axles of earlier railway carriages, as well as the quality of the track, made for an inaccurate performance between early steam locomotives measured in their time and more "modern" locomotives (the book was written in about 1925). Of course, this would add yet another parameter for pakset authors to have to specify for every single vehicle and waytype, and yet another parameter to enter into our balancing spreadsheets.
As to the vastness of the number of vehicles, the usual approach to deal with this is to get a good range of vehicles balanced precisely, and then interpolate/extrapolate for the rest (and further individual examples can be balanced precisely as and when is convenient; it often turns out that little or no further adjustment is necessary). O