This is the home of OpenBVE, a license-free, open source, free of charge train driving simulator.


This program includes detailed per-car simulation of the brake systems, friction, air resistance, toppling and more. In 3D cabs, the driving experience is augmented with forces that shake your simulated body upon acceleration and braking, as well as in curves. Besides that, OpenBVE features a 3D positional sound system best enjoyed with surround speakers, train exteriors and timetables for the current run. Finally, via the main menu, routes and trains be easily selected to start a new session, the controls can be configured to keyboard or joystick devices, and a variety of options can be selected.

Compared to other simulators of the genre, especially compared to commercial games, OpenBVE has its main focus on realism, not necessarily on user-friendliness. You should be willing to study operational manuals for the routes and trains you want to drive, and will in many cases not get along by just memorizing a few keystrokes. If you can identify with this focus, OpenBVE might be the right simulator for you.

Latest Stable Release: Stable (2024-02-11)

Current News & Updates:


With it having been nearly three months since the last release, I thought it time to upload another. The ‘RC’ tag has also been removed from this release, as I believe that it’s now in a state which can truly be called stable. (Famous last words…..)

Significant Changes:

  • New: The ‘compatibility’ objects have been expanded to include open-source copies of all of the original Uchibo objects, as these are used by many older routes.
  • New: Animated files now allow times written in the HH:MMss format to be used in expressions.
  • New: The parameter WrapMode (b3d) / SetWrapMode (csv) has been added to allow object authors to control the texture wrapping mode used by the game engine.
  • New: The command Route.StartTime has been added. This allows route authors to set the starting time independently of the arrival time at the first station.
  • New: Plugins may now interlock the state of the train doors.
  • New: Plugins may now add or subtract a score value.
  • Change: Damping is no longer applied to rotations when switching between camera views.
  • Change: The colon is now allowed for use as a time separator.
  • Fix: If a route used compatibility objects, but was written with an UTF incompatible text encoding, these objects would not load.
  • Fix: Some characters were not correctly serialized into package descriptions when using the Mono runtime.
  • Fix: It was sometimes possible to arrive late at the first station upon loading the game.
  • Fix: Several issues with the TrackFollowerFunction.
  • Fix: A potential crash when drawing route maps.
  • Fix: Normals were not updated correctly in certain instances.
  • Fix: It was possible for the ansiotropic filtering level to get stuck at zero.


Version RC9a:

  • Windows installer re-uploaded due to a missing critical file. This should fix instances of ‘Unhandled Windows Forms Exception’ when clicking in the main menu. Sorry about that!

Significant Changes:


New command line switches:

  • /station= Jumps to the given station on startup.
  • /time= Fast-forwards to the given time on startup.
  • /fullscreen= true or 1 for fullscreen.
  • /width= and /height= Sets the screen width and height.


Significant Changes:


Another month on, and we’re slowly getting towards a completely stable build (Famous last words!)


Significant Changes:


  • Fixes a crash in the main menu.
  • Add Panel2.cfg gauge type LinearGauge
  • Improve the packaging & file locations used by the Mac builds.
  • Fix several issues with packages.
  • A Train folder within the Railway folder caused train searching to break.

Almost two months after opening this site, it’s now time to post the a series of release candidates for the new 1.5.0 stable series of builds.


Significant Changes:

  • Graphical/ audio backend ported to openTK.
  • Package Managment system added.
  • Correctly moving bogies added.
  • Various animation variables added.
  • Large numbers of bugs fixed. (Probably some new ones too!)
  • New in-game map & gradient profile.
  • Timetable display options improved.


  • Fix a critical Windows installer bug.


  • Improve error handling when loading the train.dat file
  • Fix a crash when attempting to clone a null object.
  • Add ~30 additional translatable strings. (Thanks MarcRiera!)


  • Selecting package dependancies could crash in some cases.
  • It was possible to get the installer stuck in an unresolved state when a version conflict occured.
  • The bug report dialog wasn’t working properly on Linux due to path issues.
  • Package websites missing the http:// would cause a crash when clicked on.


  • Improved UI on package management. (Button placement etc. - Thanks MarcRiera)
  • Fixed various bugs relating to packages with dependancies.
  • Improve handling of various situations pertaining to a missing Data folder.
  • Fix a crash when creating packages on some versions of OS-X.


  • Added a Recently Used folders list to the route and train browsers.
  • Add the animation function TrackFollowerFunction
  • Add railtypes to the list of available commands for use in a Cycle.
  • Fix a crash when creating packages.
  • Train packages could under certain circumstances acquire an extra ‘Train’ folder/
  • The route and train lists under the ‘Start’ screen were not refreshed when installing or removing a package.
  • Fix a rare crash encountered when loading a texture failed unexpectedly.

Note: The inital version of RC 6 contained two critical bugs on non-Windows platforms. These have now been fixed- Please re-download if OpenBVE fails to launch.