Open Rails

Discover > News

Mar 2026 - glTF and PBR

glTF support added for our 'early adopters' and content creators.


Apr 2025 - Demo Model 1 route updated

Demo Model 1 route now features a 3D cab created by Geoff Rowlands.


Oct 2024 - Elvas Tower ownership

Elvas Tower changed owner - a critical transition has been smoothly achieved.


Jul 2023 - New route from Train Simulations

Train Simulations publishes new Southern Pacific Shasta route.


Jan 2023 - Portugal '79

Portugal '79 has been published. This provides 1775km of broad gauge track, with full detail on 91km between Entroncamento and Alfarelos.


Jan 2023 - HSB Simulator

New commercial route HSB Simulator published. This contains 87 miles of the Harz narrow-gauge railway, the longest narrow-gauge route network in Europe.


Nov 2022 - Version 1.5.1

Open Rails 1.5.1 released to fix 3 bugs in v1.5.


Nov 2022 - Version 1.5

Open Rails 1.5 released.


Jul 2022

Three new UK routes are now available for immediate download here.


Oct 2021

Version 1.4 is now available for immediate download here.


Nov 2020

Wagons can now be braked individually as on the oldest railways. This can be experienced in 2 scenarios - Stephenson's Rocket at Rainhill Trials and Langley Vale Timber Tramway.


Apr 2020

After more than a year of work the free, restored and improved Siskiyou Route is once more available.


Apr 2019

ENG files published with accurate physics for 176 USA diesel locos.


Dec 2018

Open Rails 1.3.1 released Download it here.


Mar 2018

Geoff Rowlands found a way to model 3D controls so they can be grabbed by the handle as in this video.


Jan 2017 - Version 1.2

Open Rails 1.2 released.


Mar 2016 - Version 1.1

Open Rails 1.1 released.


Dec 2015 - More Access to Elvas Tower

The Elvas Tower forum plays a major role in developing Open Rails but has been closed to non-members following a dispute. We can now report that some of the Open Rails sub-forums are open again.


Jun 2015 - Great Zig Zag Railway

Peter Newell has just released (June 2105) the Great Zig Zag Railway, a steam route for Open Rails v1.0 (this 120MB download requires no other files).


May 2015 - Version 1.0

Open Rails 1.0 released! Download it here.


Apr 2015 - Demo Model 1

Open Rails first demonstration route Demo Model 1 has been published.


Dec 2014 - 3D Cabs

Dekosoft Trains has added locos exclusively for Open Rails to its range. These are GP30 diesels taking advantage of our 3D cab feature.


Jul 2014 - Web Site

The legacy graphics-heavy web site has been replaced by one based on Bootstrap which is both easier to maintain and suitable for phones and tablets as well as PCs.

You can still see an archive of the old site.


Apr 2014 - Installer

An installer is now available, so Open Rails and its pre-requisites such as XNA can be delivered in a single download.


Apr 2014 - Smoother, More Detailed Graphics

Open Rails currently uses DirectX 9 and, although this is not the latest version of DirectX, hidden away inside is a method for reducing the number of "draw calls" which the CPU makes to the GPU. Fewer calls mean higher frame rates, smoother motion and the capacity to handle more detail.

The technique is called "hardware instancing" and allows identical objects (e.g. trees in a forest) to be combined into a single draw call. The work is transferred to the GPU which copies them as many times as necessary and usually has spare capacity.

You can expect some increases in frame rate, especially on routes with many identical objects. To turn this on, tick the checkbox for
Options > Experimental > Use model instancing.


Mar 2014 - Additional Languages

Open Rails becomes available in additional languages, initially eight including Chinese.

screendump listing languages


Mar 2014 - Work Starts on Timetables

A schedule of trains (or timetable) is nearly impossible to arrange in Microsoft Train Simulator as AI trains don't adhere to booked station stops. In Open Rails, the situation is better but an activity with a player train and AI traffic is still very different from a timetable.

Work has now begun on a timetable element which is an alternative to the usual activity. The timetable will contain all the details needed for each scheduled train - path, consist, booked stops etc.. Conventional activities will continue as before.

Also there is no longer any distinction between player train or AI train - any train in the timetable can be selected as the player train, the others are operated by a remote player or by the simulator.


Feb 2014

Fog is developed from just softening the horizon into a realistic effect which users can fully control.

Recent Code Changes

  • T1.6.1-549-g1a2db439b Merge pull request #1287 from SteelFill/multi_sounds
    Thanks Roger, merging Fix Sound Variable Parsing Error
    • d34956c6 Make sound variable indexing more resiliant
  • T1.6.1-547-gcb6d90e19 Merge pull request #1272 from SteelFill/wheelslip_protection
    Thanks Cesar, merging Wheelslip Refactor
    • 5e2cdd23 Attempts to reduce Polach instability at low speeds
    • 3be3e15d Sanding documentation updates
    • 0de1f96d More sanding reorganization
    • fc8562a6 Clean-up
    • 3f12d7dd Hybrid algorithm for calculating wheel slip threshold
    • fb6328ef New iterator for wheel slip threshold computation.
    • 07f1b849 Restore incorrectly removed sanding parameters
    • e29a66fc Improve effectiveness of full slip control system
    • 15fd5991 General clean-up
    • e7ea60b0 Improve efficiency and accuracy of slip threshold calculation
    • 1d9738b7 Even more sander refactoring
    • b1d70dfc Refactor traction force update for general tidyness and to support individual axle control
    • 19e2ea35 Correct sander documentation
    • 38b91011 Relocate IsPecisionHigh, un-trainline WHEELSLIP cab view control
    • de2f9ecc Refactor slip indicators
    • c5fae701 Fix misspellings of "warning"
    • e1f23fc2 Refactor axle integrator substep behavior for improved accuracy and responsiveness
    • 9dcc2fd6 Clean up code and adjust performance of wheel slip detection
    • 2fa68aaf Properly initialize sander values
    • 53811976 Refactor implementation of adhesion precision switch
    • 8aed4506 Refactor slip control implementation
  • T1.6.1-525-g17e2cf39a Merge pull request #1288 from SteelFill/engine_rpm
    Thanks Cesar, merging Fix Diesel Engine Parsing Error
    • 74215eda Continue parsing diesel engine even after encountering unknown token
  • T1.6.1-523-g90cafd70a Merge pull request #1286 from rwf-rr/fix-multiplayer-flip-null-ref-exception
    Fix null pointer exception in multiplayer with long trains.
    • eb0df9ac Fix null pointer exception in multiplayer with long trains.
      The arrays were created with the train size, but the copy was maxed at
      20. This left the tail of the array at null.
      I don't know how correct or appropriate the limit to maximum 20 cars is.
  • T1.6.1-521-g43469db43 Merge pull request #1285 from rwf-rr/fix-multiplayer-uncouple-cars-vanish
    Fix multiplayer bug: cars vanishing on uncouple.
    • 297b89f9 Fix multiplayer cars vanishing on uncouple.
      Addresses issues reported in bug #2171546.
  • T1.6.1-519-g5e29e7acb Merge pull request #1263 from SteelFill/particle_emitter_fixes
    Thanks Carlo, merging Harmless Part of Particle Emitter Overhaul
    • b14a110f Adjust diesel particle behavior
    • 276db2ae Handle occasional infinite values produced by particle system
    • 99c71ca6 Add non-visual changes from particle emitter overhaul
  • T1.6.1-515-g2db35ddc5 Merge pull request #1280 from RB211/fix/wine-wmi
    Viewer: do not stop the game when WMI is unavailable
    • 90204e79 Viewer: catch any exception while reading the adapter memory
      As suggested in review: the three catches did the same thing, and the
      value is only informational, so one catch of Exception covers them,
      as SystemInfo already does.
      Co-Authored-By: Claude Opus 5.5
    • a96536f5 Viewer: do not stop the game when WMI is unavailable
      On .NET 6, System.Management loads wminet_utils.dll from an installed
      .NET Framework 4. Under Wine (Proton) there is none, so querying the
      video controllers throws PlatformNotSupportedException and the run ends
      as the viewer starts. SystemInfo already treats this as a warning;
      UpdateAdapterInformation now does too and leaves the adapter memory
      unknown.
      Co-Authored-By: Claude Opus 5.5

See more code changes