Setting the record straight on RT3 locomotive pulling power

Creating and Editing Rollingstock
Lirio
Watchman
Posts: 51
Joined: Wed Mar 27, 2013 1:51 am

Setting the record straight on RT3 locomotive pulling power Unread post

No idea if anybody is interested in this, but it's been bouncing around my head so I figured might as well share.

So, first some history. Way back in the early days of RT3 modding, were just starting to dive into the game's files, they found in the .lco files three similar 32-bit floating point numbers starting at hex 22 (34 in decimal). The first of these values was quickly found to be the locomotive's top speed. The second and third values, dubbed ?1 and ?2 were noted to related to grade climbing in some manner, but not how exactly. That and a few other things was more or less what people were working with back when they were making the very first custom engines.

It did not take long to eventually establishe that ?1 determined how much of a load the engine could haul before its top speed dropped, and was thus dubbed the "free weight" value. Meanwhile ?2 was found to determine how well the engine dealt with grades, ie how much speed it lost on meeting an incline, thus it was called the "pulling power" value.

What remained a mystery is how exactly these values were derived, since a lot of them were oddly specific. You don't come up with numbers like 121.1, 7.3, or 14.7 when you're using abstract arbitrary values. People normally use wholes and halves. However, one could reliably use the stats of the stock locomotives to guesstimate what values custom locomotives should have in order to get the desired performance out of them. It worked pretty well for most people to just sort of feel it out and play test.

However, the mystery of how these values were derived remained tantalizing, and in June 2007 the user Chris made a breakthrough, announced and described in this thread. Which came in just in time to influence the 1.06 Patch, as milo and crew were working on it at the time. At this point the reader might wish to pause and read that thread, as the following commentary may be easier to follow if so enlightened.

In summary, Chris apparently tinkered with various numbers and figures until he came up with a rather complex formula that seemed to give somewhat accurate results for the ?2 value, or pulling power. Now two thing struck me as odd about the formula. Firstly, and most obviously, it's too ****** complicated. It seems highly unlikely that people programming a game would use something so clunky for the fictional little engines. Secondly, it doesn't make any sense. Even if Pop Top was willing to use complex mathematical formulae in order to translate real world capabilities into the game, they would probably use something actually indicative of the engine's capabilities and not some non-nonsensical kludge of figures.

I rather incoherently talked at length about this in a thread of my own a couple of years later (four years ago, now). The reader need not trouble himself with it. I can barely understand what I'm talking about in there and I wrote the blood thing. Suffice to say I got closer to the truth of the matter than Chris did, but did not quite there.

Recently, however, I decided to have another crack at the matter and finally solved the puzzle. I figured out both how the pulling power value is roughly derived, and why Chris' non-nonsensical formula works. The short version is that Chris was was sort of using the right formula in a roundabout fashion. To illustrate, here is the Chris' formula for deriving the value somewhat rearranged:

[(Cylinder Diameter^2 * Cylinder Stroke * Boiler Pressure * Speed) / (Driver Diameter*375) / 4] * (375 / Speed) / 1000

Do note that he wrote it wrong in the opening post, driver diameter should be multiplied by 375 as shown, not divided. Additionally Chris came up with and added an "automatic correction factor" that's unnecessary and superfluous, and so shall be ignored henceforth.

Now as Chris noted it doesn't matter what speed you enter into the formula, it always gives the same result. That's because the two instances of the speed value cancel each other out. Additionally the number 375 appears twice and also cancels itself out. So can then be simplified to:

[(Cylinder Diameter^2 * Cylinder Stroke * Boiler Pressure) / (Driver Diameter)] / 4 * 1000

Now anybody that knows about the mechanics of locomotives might recognize the formula up there in the brackets. It's the formula for deriving the maximum theoretical tractive effort that a locomotive can produce. This isn't really used for anything, because in reality friction, pressure loss, and the valve cut-off will lead to locomotive's actual maximum tractive effort being somewhat lower than this. So normally the figure is multiplied by a constant to account for that. In the US the standard constant is 0.85, but it can vary.

So, in other words, Chris found a roundabout way of calculating locomotive tractive effort in thousands of pounds-force, which when divided by 4 yielded values close to the ones actually used in the game for locomotive pulling power. This makes it really funny reading that thread in retrospect, as they're all wondering why Pop Top did not use tractive effort to determine pulling power, and wondering if maybe it maybe tractive effort is used in the free weight value. No, it turns out the game does use tractive effort to determine pulling power, and it was staring them right in the face the whole time!

Anyway, that's not the whole story. After doing a lot of research finding the tractive effort of various locomotives used in the game and comparing them to the actual values given for them, I found that while the game values cluster around TE/4, they don't quite match. Eventually I realized that they don't always divide by 4. In fact the tractive effort for most locomotives appears to be divided anywhere between 3-6, with a small handful of exceptions falling outside that range. What number is used as a divisor seems to be determined by the locomotive's top speed and role. As a rule the higher it goes, the higher the divisor for the TE.

For example, the Eight Wheeler and the Pacific have fairly close top speeds of around 100 mph. The Eight Wheeler is based of the NYC No.999 while the Pacific is clearly a PRR K4s. They had respectively 17 and 44.5 kilo lbf of maximum tractive effort. Divide each of them by 6 and you get 2.8 and 7.4. In the game the Eight Wheeler has pulling power of 2.8, and the Pacific has pulling power of 7.3. Right on the mark! Meanwhile, the Big Boy goes much slower, 70 mph in the default game. It's real life TE was 135 klbf, divide that by 3 and you get 45, exactly the in-game pulling power value. You can see similar patterns repeating throughout the various locomotives. The Mallard's TE is divided by 7 because of it's 126 mph maximum speed, while the P8's is divided by 4 because it only goes 62 mph.

The numbers don't always match exactly. For example, the H10 is probably meant to be an H6 Light Mikado, as the H10 Light Mikado was built four years later. Anyhow, the H6 developed 55 klbf TE, which divided by 3 is 18. The H10 in game is only 17, but it's close! Meanwhile, the Challenger has a pulling power of 40 in the game, whereas it's actual TE divided by 3 is 32. It's likely that some values were adjusted up or down for game balance purposes. For other values Pop Top may have used different figures than I have available. In general though, they match pretty closely.

One last thing, there is a tendency toward lower divisors in newer steam engines. The 1941 Big Boy divides by 3 despite being faster than the 1900 P8. More strikingly, the in-game Red Devil has a pulling power of 17.7, but the SAR Class 26's maximum tractive effort was 52 klbf, indicating that the TE was divided by 3 despite the Red Devil's maximum speed of 100 mph. Similarly the 242A1 had a real life max TE of 66 klbf, and it has an in-game pulling power of 22. Again it was divided by 3 despite its speed of 95 mph. It's the same top speed of the Pacific which had its maximum TE divided by 6. Not entirely sure why this is, but it may due to how the game engine behaves when the train cars get heavier or some such.

Overall the scheme makes a lot of sense once you consider that the pulling power value appears to be fixed, and does not alter itself dynamically according to engine's speed. Rather, it seems to be the case that the a locomotive's pulling power is the same at all speeds. This is not the case in reality.

A locomotive develops it's maximum tractive effort at low speeds. Once it gets past a certain point tractive effort begins to decrease a steady rate, as illustrated in this graph. It shows that the example locomotive develops its maximum tractive effort of 25 000 lbf at speeds of 20 mph or lower. The pulling force then decreases as speed increases above that threshold. Thus at 50 mph it can only exert 40% of it's maximum, and at 85 mph it's down to 20%. You can also see two rolling resistance curves on the graph. The net tractive effort is zero at the point where the tractive effort curve intersects with the rolling resistance curve, meaning the engine will not be able to accelerate past it. Though whether the locomotive is actually capable of getting there is dependent on design and construction; it may well tear itself apart before it gets to go that fast. It is, however, most certainly not capable of going any faster. So it can be seen that this example locomotive has a maximum speed of 95 mph on a level track, and 75 mph on a 1/100 rise.

Concluding this post, I restate the principal findings: The ?2 value, or pulling power, in the .lco files is determined roughly by estimating the locomotive's tractive effort, in thousands of pounds-force, at its maximum speed. With adjustments up or down for game balance purposes. This puts this matter finally to rest.

Unfortunately the question of how the ?1 value, or free weight, is determined or derived from remains a total mystery. Best as I can tell, it's voodoo magic, as none of my attempts to derive it from something have turned up anything useful.
User avatar
Stoker
Engineer
Posts: 569
Joined: Mon Dec 08, 2008 12:18 pm
Location: Amongst the Sagauros

Re: Setting the record straight on RT3 locomotive pulling power Unread post

PopTop did a pretty good job of simulating the performance of the various locomotives in this game for the purpose of running a railroad empire, but they are in no way truly representative of the actual physics or capabilities of the various equipment and situations involved. Railroad Tycoon is a business simulation and the trains are simply a means to an end. There are plenty of train simulators out that calculate the true motive force and speeds- etc. of real trains, but this is simply not one of them. My !#2bits#!

All that is necessary for the triumph of evil is that good men do nothing.
Edmund Burke
Lirio
Watchman
Posts: 51
Joined: Wed Mar 27, 2013 1:51 am

Re: Setting the record straight on RT3 locomotive pulling power Unread post

Well yes, the simulation part is very much simplified. It is, as you say, primarily a business game, hence the word "tycoon" in the title. i say as much above, in real life locomotive horsepower and tractive force varies with speed, in the game it does not. Similarly due to the game's 8 car limit each engine struggles a lot with kinds of loads that it could easily pull in real life at high rates of speed. Meanwhile, each the locomotives can climb grades like mountain goats, easily handling grades that in real life would require cable cars or a rack railway.

However, the game still has some real life principles behind it, even if they're dumbed down and simplified. It's pretty consistent throughout the locomotive files that they're pulling power is more or less equivalent to what their real life tractive effort would be at their maximum game speed. Do they perform like the real locomotives would? Well no, not at all, the reason why real life values were used as a baseline was not to get them to perform like real locomotives would. The game engine is not tuned for that. Rather it was so that they more or less performed the same as in real life relative each other. So you'd want sure-footed, strong-pulling locomotives to haul freight up hills for example; while very fast but weak locomotives shine in on short express runs; and locomotives with moderate speed and pull run fast freight and long express runs. It doesn't always work out very well in game, it's an issue i've been trying to address, but it does work somewhat.

Another of the unrealistic issues is that the game is all about speed, you have to get your loads from station to station as fast as possible. You only use the big brawny beasts when you have to haul a big load up a steep hill and it happens to be able to go faster uphill than your normal freight engines. Even then sometimes the locomotives with moderate strength and speed still win out by gaining on flat or downhill parts of the run more than they lose on uphill parts. It's not at all like real life where fast running causes more wear and tear on the engines and track, plus greatly increased fuel use. Running fast is expensive, so a real life railroad is perfectly happy to drag its cargo along at 10-20 mph or less if it can get away with it. In the case of non-perishable cargoes like coal or iron ore, it very well can, that's why they're called slow freight or drag freight. But in RT3 it's go fast or go bust, because all freight is fast freight.

So yeah, i'm well aware of limitations of the game with respect to realism. To be honest i don't mind them, when a game get's too realistic it stops being a game and starts being a job you don't get paid for. And you very well said, it's pretty good for what it is. In the end, the purpose behind trying to find the reality behind the game was primarily that it was a fun puzzle to solve. i got to learn a lot about railroads and locomotives while doing it, so it was overall a fun experience. Secondarily it helps me, and hopefully others, to have a solid guideline on how to give stats to custom engines, or to modify existing engines to behave a little more consistently, relative each other if not relative reality.

Basically if Pop Top used certain figures to make their engines do what they do, using similar figures in fan-made engines means they'll be more or less in line with the existing locomotive park. For some people this is important, as the game is more interesting when things have a certain balance to them.
User avatar
Gumboots
CEO
Posts: 4817
Joined: Mon Aug 13, 2012 4:32 am
Location: Australia

Re: Setting the record straight on RT3 locomotive pulling power Unread post

Interesting stuff. Thanks for that. !*th_up*!
User avatar
Blackhawk
CEO
Posts: 1112
Joined: Thu May 21, 2009 2:34 pm

Re: Setting the record straight on RT3 locomotive pulling power Unread post

It's interesting to see there are at least some sort of real life mechanics behind the game. Even if they're distorted, at least they have some sort of baseline rationale. Nice work. !!clap!!
Post Reply