TL;DR
What?
This topic of utmost importance deserves my strongest argument: Your own math.From the locomotive wiki page:
We can ignore the first and third lines. My beef is with the second line, specifically that mysterious, unit-less, 10. Luckily, there's enough information to figure out its unit.The speed of an accelerating, fully fueled, train is calculated every tick by the game with the following formula:Code: Select all
train_speed = max(0, abs(train_speed) - train_friction_force ÷ train_weight) train_speed = train_speed + (10 × number_of_locomotives_in_moving_direction × fuel_acceleration_bonus ÷ train_weight) train_speed = train_speed × (1 - air_resistance_of_front_rolling_stock ÷ (train_weight ÷ 1000))
-number_of_locomotives_in_moving_direction is exactly that. (L)
-fuel_acceleration_bonus: unit-less, and that's normal.
-train_weight: kilo-grams (kg)
-train_speed: tiles per tick, or meters per tick, assuming 1 tile = 1 meter. (m * t^-1)
-It doesn't matter what the actual numbers are, as the units remain the same and we're not converting anything yet.
-The stuff in parenthesis is being added to speed, so the final unit of that stuff must also be speed. (m * t^-1 = (stuff-unit))
-The stuff in parenthesis is actually a change in speed across a 1 tick time interval, so there's an implied 1 tick being multiplied here (and the result doesn't make sense without this). (m * t^-1 = (stuff-unit) * t)
Altogether:
Code: Select all
m * t^-1 = (Unknown-unit * L * kg^-1) * t
Solving for Unknown-unit:
m * t^-1 * (L^-1 * kg * t^-1) = (Unknown-unit * L * kg^-1) * t * (L^-1 * kg * t^-1)
kg * m * t^-2 * L^-1 = Unknown-unit
We can convert this custom force unit to Newtons (kg * m * s^-2) by converting the ticks into seconds:
Code: Select all
60 ticks per second: (60 t * s^-1)
(10 kg * m * t^-2 * L^-1) * (60 t * s^-1) * (60 t * s^-1)
= 10 * 60 * 60 kg * m * s^-2 * L^-1
= 36000 kg * m * s^-2 * L^-1
= 36000 N * L^-1
= 36 kN * L^-1
Conclusion
I get it, "power" is an objectively superior word to "force", but it'd be inaccurate to use it here. Either change it to force or change the train simulation to actually use power....or do nothing. No one complained about this for years, after all. As far as I know, at least.