Setting Speed Control For AI Trains
(or Unravelling the mysteries of the .CON and .SRV files)
by Jim "sniper297" Ward


After uploading the PO&N6 route, I experimented with replacing the default KUJU SD40s on all the AI traffic trains with PO&N SD40s. Just that one change, nothing more, and although the MS/TA SD40-2 is a little more powerful (385kN as opposed to 350kN), the original KUJU SD40 has a faster max velocity, 82mph as opposed to 65. I really have no idea whether that line is read or not, but when replacing the engine the MaxVelocity line in the .con file is recalculated. That changes the default running speed of the AI train, and although it doesn't (usually) affect activities with eastbound traffic, the westbound traffic gets SFNRS (Stop For No Reason Syndrome) with changes to even one consist.

With the incomparable help of the infamous Scott "Igor" Miller and jtsdadinaz, we think we've finally figured out the formula.

Essentially, deciphering the line in the .con file:

MaxVelocity ( 33.08096 0.22339 )

  • First number is the actual max speed (in meters per second) based on TE/tonnage;
  • Second number is some kind of multiplier that determines what speed the AI train will slow to on grades and curves.

Further complication, the only direct speed control in the activity editor is the "expected performance" in the service editor.

So on examining the .srv file:

Efficiency ( 0.75 )

means the maxvelocity is multiplied by 0.75, that's as fast as it will go, and the minimum speed is all three numbers multiplied together.

So for the example above, MaxVelocity ( 33.08096 0.22339 )

33.08096 meters per second = 1984.8576 meters per minute = 119091.45 meters per hour.
Divided by 1000 to convert to kilometers per hour  = 119.09.
Multiplied by 0.6 to convert to miles/hour  = 71.45mph.

That's the absolute maximumvelocity for this consist.

Now multiply by 0.75 ("Expected Performance", or Efficiency in the .srv file) and you get 53.58, so about 54mph is the fastest this will run as an AI train on straight level track, given no speed restriction zones.

Multiply again by that second number, 54 x 0.22339, you get 12.06mph as the slowest it will go when climbing a 4% grade with a 500 meter radius S curve or whatever.

AI trains do cheat on physics, so although a player driving that 2xGP38 35 mixed consist won't make it anywhere near the summit on the original Marias Pass, an AI train using the same consist will just motor on up at the minimum speed.

So what's all this mean for the average guy who don't like playing with calculators?

The usual way to change AI traffic train speed is in the service editor, adjusting the expected performance up and down B'guess and B'god.

Let's simplify this.

Leave all your AI services at 75% so you don't have to fiddle with that, then open the .con file in Wordpad and manually hack the numbers to get the approximate speed you want. Change the second number to 0.5 or something, that will give half speed as the minimum and cure the unexplained stops, the first number at 12.5 gives about 20mph max, 15 = about 25mph max. Personally I'm using maxvelocity ( 12.34 1.0 ) in all my consists, runs about 19-20mph steady, who really pays attention to when an AI train slows down and speeds up anyway? That gives me 25 and 30 car trains pulled by a single engine crawling along at a steady 20mph, no more screwing around fiddling with expected performance values to speed this one up a little, slow that one down a little, damn now it stopped for no reason, guess I gotta edit all of them a little higher, why does this blasted thing keep resetting to the default 75 every time I open the service editor?!

The hell with that, open the .con files, adjust the maxvelocity manually.

For those who like calculators the formula is:

Speed in mph divided by0.6 (kph) multiplied by 1000 (meters) divided by 60 (minutes) divided by60 (Seconds) divided by Expected Performance (as in efficiency, 0.75 not 75.0!). 

Then adjust the second number for whatever you want minumum speed to be, as a percentage of the first number, so for 20mph max velocity if the second number is 0.25 the minimum will be 5mph, 0.5=10 mph, 0.75=15mph, 1.0 means it will maintain same speed regardless.

Here's a table summarising the findings - at 75% Expected Performance:

	First Parameter	Second Parameter	Min : Max speed of AI train in mph
MaxVelocity ( 12.34	0.50 )			10:20
MaxVelocity ( 12.34	0.75 )			15:20

MaxVelocity ( 18.50	0.50 )			15:30
MaxVelocity ( 18.50	0.75 )			22.5:30

MaxVelocity ( 24.60	0.50 )			20:40
MaxVelocity ( 24.60	0.75 )			30:40

MaxVelocity ( 30.80	0.50 )			25:50
MaxVelocity ( 30.80	0.75 )			37.5:50

MaxVelocity ( 37.00	0.50 )			30:60
MaxVelocity ( 37.00	0.75 )			45:60


Looking at that I see a pattern, for max speed if you're not concerned with precision,
6.0 for each 10 mph.