Load Animation

Aim - This page aims to describe how to define the parameters for animation of loads, the loading/unloading of trains, such as tender coal in a steam locomotive, grain and coal wagons, as well as the types of tests that can be undertaken to ensure that it is operating within realistic bounds.

If you wish to provide any feedback on this page, please use the contact page. It would be great to have some feedback as this helps to ensure the accuracy of the information and models.



Route Pickup Points

Wagon Definition

Locomotive and Tender Definition

Demonstration and Testing of Load Variation


Open rails supports the functionality to load and unload trains, as well as the ability to refuel the locomotives with either coal, water or diesel. This functionality can be further enhanced with moving animations, so that for example, the coal loads in a tender can rise and fall depending upon normal usage, as well as refueling.

Additionally locomotives, will have their weight and related physics charisteristics change as they use consumables such as coal, water, diesel, etc, and wagons physics characteristics will also change as their load varies. The key physics parameters that will change with load are BrakeForces, Friction (Resistance), Weight, Centre of Gravity, and Drive Wheel weight on locomotives. Variation of wagon physics with load relies on having two known points of reference, ie the conditions when the stock is empty, and the conditions when the stock is full (loaded).

Wagons can be set up for one of the following modes of load operation:

  • Static - in this mode the freight animation is only loaded at the commencement of Open Rails and does not change during the game. Whilst multiple freight animations can be added to a vehicle, it is suggested that only one has "loaded" physics parameters associated with it.
  • Dynamic (continuous) - this allows wagons to load and unload during the game. In this mode there maybe a linked freight animation shape which moves as the load rises and falls, such as the case where an open wagon is filled or emptied. In the case of, say a covered van, there maybe no freight animation shape file used. It should be noted that locomotives and tenders only use the continuous freight animations for defining physics parameters, IntakePoints are defined instead in the general ENG file, and not as part of the freight animation.

To successfully set up load variation and animation functionality it is necessary to:

  • Step 1 - Create relevant pickup points within the route,
  • Step 2 - Configure the relevant wagons to allow loading and unloading at relevant pickup points on the route, define loaded and unloaded physics characteristics.

The test process and demonstration activity below has been created to show how a route, and stock can be set up to load and unload, with in this example, a coal train.

Whilst this page has been developed specifically for steam locomotives, a diesel locomotive could be substituted for the steam locomotive to test fuel diesel refueling and load variation, etc.

The following sections provide a "worked example" of setting up the load/unloading feature within OR. Also refer to the Open Rails manual.


Route Pickup Points

Open Rails currently supports the following pickup points for loading/unloading, and refueling:

Load Type

Type #

OR Name




Freight - Grain



Freight - Coal



Freight - Gravel



Freight - Sand



Fuel - Water



Fuel - Coal



Fuel - Diesel



Fuel - Wood



Fuel - Sand



This is not an option in MSTS

Freight - General



This is not an option in MSTS

Freight - Livestock



This is not an option in MSTS

Freight - Fuel



This is not an option in MSTS

Freight - Milk



This is not an option in MSTS

Special - Mail



This is not an option in MSTS

As indicated above some of the load types are not supported generically by MSTS Route Editor, and therefore some text file editing may be required to support the inclusion of the non-MSTS load types into OR.

For a detailed description and example of how to add Loading/Unloading and Refueling points to a route see the section titled, Pickup Points for Loads and Refueling.

For a working example of Loading/Unloading and Refueling points see the section below, Load Variation Demonstration.


Wagon Definition

Whilst the FreightAnimation and filling information can be inserted directly into the W file, it is recommended that an INCLUDE file is created with the relevant animation and filling information. Typically the filling information in the WAG file will be aligned to the type of pickup point that the wagon is designed to work with. The following configurations are based upon the use of an INCLUDE file. To use an INCLUDE file, a folder called OpenRails will need to be created under the root stock folder.

A static and dynamic worked example are provided in the animated test stock.

Static Load

As indicated above a static load will only be loaded when OR initially starts. OR will use the base WAG file for the empty conditions, and the INCLUDE file for the full (loaded) conditions. The following code block demonstrates the coding of a static freight load.

include ( ../ctn_test_static_animation_wagon.wag )

Wagon (
MSTSFreightAnimEnabled (0)

    Shape( ..\\common.Loads\\15ft_open\\15ft_3p_HumpSheet2.s )
    Offset( 0, 0, 0)
    FreightWeight( 9.0t-uk )
    Comment ( No load compensation fitted - assume same braking force as empty)
    FullMaxBrakeForce ( 19.43kN )
    FullMaxHandbrakeForce ( 6.477kN )
    Comment( Assumptions - speed - 60mph (100.0km/h), Friction Bearing, 2 axles, frontal area - 6.0m2, Wagon Weight - 15.75 ton (metric))
    FullORTSDavis_A ( 358.37 )
    FullORTSDavis_B ( 7.7739 )
    FullORTSDavis_C ( 0.718740 )
    FullCentreOfGravity_Y ( 1.8 )

Code Notes:

Dynamic Load

As indicated above a dynamic load will cna be load/unloaded at appropriately defined pickup points throughout a route. The known full and empty physics information is all obtained from the FreightAnimation details. It is suggested that the base WAG file be set for either for the empty conditions. The following code block demonstrates the coding of a dynamic freight load.

include ( ../ctn_test_animation_wagon_coal.wag )

Wagon (
    MSTSFreightAnimEnabled (0)
    EmptyMaxBrakeForce ( 29.892kN )
    EmptyMaxHandbrakeForce ( 9.964kN )
    Comment( Assumptions - speed - 60mph (100.0km/h), Friction Bearing, 4 axles, frontal area - 5.8m2, Wagon Weight - 10.16 ton (metric))
    EmptyORTSDavis_A ( 580.71 )
    EmptyORTSDavis_B ( 5.0148 )
    EmptyORTSDavis_C ( 0.694782 )
    EmptyCentreOfGravity_Y ( 1.41 )
    UnloadingStartDelay (5)

    IntakePoint ( 0.0 6.0 FreightCoal )
    FullAtStart( 0 )
    FullMaxBrakeForce ( 89.676kN )
    FullMaxHandbrakeForce ( 9.964kN )
    Comment( Assumptions - speed - 60mph (100.0km/h), Friction Bearing, 4 axles, frontal area - 6.2m2, Wagon Weight - 36.57 ton (metric))
    FullORTSDavis_A ( 748.61 )
    FullORTSDavis_B ( 18.0157 )
    FullORTSDavis_C ( 0.838530 )
    FullCentreOfGravity_Y ( 1.8 )

Code Notes:


Locomotive and Tender Definition

Locomotives and tenders are treated slightly differently to wagons. The main difference is that IntakePoint information is not included in the FreightAnimation section of code, but in the base ENG or WAG file. Once the FreightAnimation code is added the locomotive and tender will vary their physics depending upon fuel consumption. Apart from this difference, all the other aspects apply in a similar fashion to the above. section.

The example locomotive setup for a locomotive and tender fitted with load variation is H6a Consolidation - #1499. Relevant specification information used for defining this locomotive can also be found by clicking on the link.

The following code block provides an example of that used for a locomotive or tender:

include ( ../USRA-Tender.wag )

Wagon (
    WagonEmptyWeight( 28.75t )    Comment( 57500lbs )
    EmptyMaxBrakeForce ( 29.892kN )    Comment (Assume empty weight of 62.41t us)
    EmptyMaxHandbrakeForce ( 9.964kN )
    Comment( Assumptions - speed - 60mph (100km/h), Friction Bearing, 4 axles, frontal area - 12.075m2, Wagon Weight - 26.08 ton (metric))
    EmptyORTSDavis_A ( 682.19 )
    EmptyORTSDavis_B ( 12.8726 )
    EmptyORTSDavis_C ( 1.446464 )
    EmptyCentreOfGravity_Y ( 1.41 )

    FreightWeightWhenFull( 42.725t )
    FullMaxBrakeForce ( 190.771kN )    Comment (Assume full weight of 71.475t us)
    FullMaxHandbrakeForce ( 9.964kN )
    Comment( Assumptions - speed - 60mph (100km/h), Friction Bearing, 4 axles, frontal area - 12.075m2, Wagon Weight - 64.841 ton (metric))
    FullORTSDavis_A ( 929.27 )
    FullORTSDavis_B ( 32.0042 )
    FullORTSDavis_C ( 1.446464 )
    FullCentreOfGravity_Y ( 1.8 )

Code Notes:


Demonstration and Testing of Load Variation

To demonstrate the capabilities of freight animation and loading/unloading the following test process and activity has been created using test stock. They both require the Coals to Newcastle Test Route. Demonstration stock is also available.

Load/Unload Stock Configuration Test Process

A number of loading and unloading points have been provided in the CTN Test Route to allow the testing of different load and wagon types. Initially this section of the test route can be used to understand how the preconfigured rolling stock has been configured to work with loading/unloading points.

Refer to the test route schematic diagram for an overview of the layout and various test locations.

To run a load/unload test with preconfigured stock the following items will need to be selected in Open Rails:

Once OR is started, press F6 to display siding labels which will identify the different loading and unloading points. Pull the train forward until the loading/unloading point label is within the relevant car, and then stop the train. Press the T key to load/unload the wagon. Proceed with your train to all the relevant loading/unloading points.

To test any user configured rolling stock, simply edit the CON file named au_ctn_testcon_mixed_animation.con, or create a new one as appropriate.

Load/Unload Activity

This activity combines the various elements together into a single activity. You will be driving a short coal train hauled by a Consolidation steam locomotive, and during the duration of the activity you will:

  • Load the coal wagons
  • Refuel your locomotive
  • notice changes to the locomotice physics as the load on the tender and locomotive change as fuel is consumed
  • Unload the coal wagons

You will commence the activity at "Outer Loop - SW Corner" and then proceed with your train to the coal loading point. (NB: the animated coal wagon loads as the train loads).

Once you have loaded your train you will proceed to the locomotive servicing area just past the station to refuel your locomotive with coal and water. (NB: the animated coal and water refueling points).

Once you have refueled your locomotive, proceed to the "Curve Branch Coal Unloading Point". This is an easy run as the route is level between the two locations. You will need to keep an eye out as you approach it so that you do not over run the Coal Unloading branch. (NB: You are advised to save the activity by using the F2 at key points so that it can be restarted). As the train moves along watch the weight of the locomotive vary as fuel (coal and water) are consumed.

Refer to the test route schematic diagram for an overview of the activity layout and locations.

Activity Briefing

To complete the activity, complete the following tasks:

Stock and Components Required

To run the activity you will need to download and install the following elements:

Once the above have been installed, to run the activity select the following options: