Anyway, I have some general conclusions about locomotive stats balancing, based on what has been found so far. You might also be able to get some ideas for strategy out of this.
For a start, the game's coding makes no attempt to generate real train physics. This is definitely a train game rather than a train simulator. The mathematics behind it just ensures that our trains go fast down hills and slow up hills, and assumes that's enough to keep us entertained. Seems to work.
Pulling power is well-named. It does what it says on the tin. "Free weight" is badly named, because it's not really that at all. I can see why it might have been given that name, because its effects can make it appear that you are being given "free cars" in your consist on 0% grade, but it's still not a very good name. OTOH, "exponential curve arbitrary modifying factor #3" is a bit of a mouthful.
Although its effects are probably most obvious on 0% grades, at least for later locomotives with high pulling power, "free weight" definitely has an effect on all grades and for all locomotives. The lower the pulling power, the greater the effect "free weight" will have up grades. Similarly, pulling power also has an effect on all grades, even on 0%, and this is interwoven with the effect of "free weight".
Long consists are heavily penalised in terms of speed, especially when the free weight setting is low. If FW = 0, adding an eighth car to a seven car consist will cause
the same percentage speed reduction as adding a second car to a one car consist, and this will apply to all grades. This is obviously nowhere near realistic, but it's how RT3 coding works. For higher values of FW this will only strictly apply to a 0% grade, and will only apply if FW is not so high that any consist at all can be hauled at full top speed. I haven't yet worked out exactly how the speed varies for non-zero grades in these cases, but it probably still penalises long consists more than it should.
Locomotive weight and tender weight are very heavily penalised in terms of speed up grades. If you want your choofer to go up hills like a mountain goat, making it weigh next to nothing is a really good way of doing that. A very light locomotive will, for given settings of pulling power and free weight, haul an 8 car consist faster up grades than a heavy locomotive. This is obviously nowhere near realistic either. In reality, hauling a heavy consist up hills requires a lot of weight in your loco. RT3 is the direct opposite of that.
The way it works is that, for the basic case where pulling power = 1 and "free weight" = 0,
every 1 ton added to locomotive or tender weight will always cause the same percentage reduction in speed up a given grade. For example, a locomotive weight of 1 ton will reduce speed up a 4% grade by 3.25%, and will do this for any number of cars in the consist, and regardless of the weight of each car. Increasing the weight of a 320 ton locomotive to 321 tons will also reduce speed up a 4% grade by 3.25%, and will do this for any number of cars in the consist, and regardless of the weight of each car.
At this point your reaction is probably somewhere between
![Slap head !facepalm!](./images/smilies/eusa_doh.gif)
and "Bovine droppings!" but really, that's how RT3 works.
Pulling power > 1 modifies this. For example, if pulling power = 3 and "free weight" = 0, then every 1 ton added to loco weight will cost you 1.1% in speed up a 4% grade, but this will still apply regardless of the number of cars in the consist, and regardless of the weight of each car, and regardless of how heavy the locomotive was before you added that extra 1 ton.
Increasing the "free weight" to anything more than 0 can change this relationship, but only if the "free weight" is high enough to allow hauling that number of cars at full top speed on that grade. If the "free weight" is not high enough to allow hauling that number of cars at full top speed on a 4% grade, then if pulling power = 3 every 1 ton added to locomotive weight will still cost you 1.1% in speed.