Discover > News

Jan 2017 - Version 1.2

Open Rails 1.2 released! Download it here.

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

  • X1.3.1-52-gc441fa37 Merge pull request #52 from perpetualKid/Bugfix-OAL-Config-init
    Removing check and empty file creation re OpenAl.
    • 198e4f19 Removing separate File Creation
      In some cases there seem a race condition to happen when the file is new created, setting the initial value would not be honored before second start of the game.
      As WritePrivateProfileString will also just create the file if not existing, the prior check and creation is not necessary
  • X1.3.1-51-g2dd5a940 Merge pull request #21 from Roeterdink/TimetableUpdate190227
    Timetable Update, including starting in paused state.
    • 1c7d2897 * Timetable Update, including starting in paused state - reviewed update.
      See :
      bug report no. 1817878
    • fcfc8a52 Update Source/Orts.Simulation/Simulation/Timetables/TTTrain.cs
      Co-Authored-By: Roeterdink <>
    • 113f77fe Timetable Update, including starting in paused state.
      See :
      bug report no. 1817878
  • X1.3.1-50-g74fa3003 Merge pull request #50 from perpetualKid/OAL-Re-Integration
    Build: OpenAL binary re-integration with updated default settings
    • cbccf697 Checking and updating default max # of sound sources for OAL
      Checking if number of sound sources is et at all. If not, or less than 1024, config will be updated to 1024
    • aac99a68 Providing and Loading OAL binaries
      - adding OAL binaries to source tree (version 1.16.0)
      - including OAL binaries in OR program output
      - removing OAL installation check in Launcher, checking for binaries only in OR program subfolder
    • 51d2309a Remove stale OpenAL source code in favor of prebuilt binaries
      Removing stale sour code from openal-soft, which was used for custom build version. We will rather use prebuilt binaries from offical openal-soft source, and provide suitable config settings for same limits as were hardcoded in custom built
    • daab1d51 Set architecture specific dll (sub) directory
  • X1.3.1-49-ga051806c Merge pull request #48 from perpetualKid/Refactoring/UserCommands
    Moving UserCommands from InputSettings into Common/Input
    • 0558906f Remove and Sort namespace usings
      Sort as per review request, using VS Remove and Sort refactoring functionality
    • 34971139 Moving UserCommands into Common/Input
      correcting enum name and move out from InputSettings to Orts.Common.Input
      as per
      This is a prep for RD and other input
  • X1.3.1-48-g54ecc9ea Merge pull request #47 from perpetualKid/Sourcetree-cleanup
    Build: Cleanup unused projects
    • 9c5cae47 Cleanup unused projects
  • X1.3.1-47-g1a16e288 Merge pull request #49 from cjakeman2/webpage-update
    add Broad Gauge Productions to Trade webpage
    • ae606cf4 add Broad Gauge Productions to Trade webpage

See more code changes