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 (2023-09-15)

Current News & Updates:

This release adds another significant change, in that it is now possible to uncouple vehicles from the player train. Whilst (probably) not immediately useful, it is another significant step along the path of moving away from the simple linear world model.

Note: Two pre-releases to work out some kinks caused by the new PNG decoder. Hopefully this is now fully functional.

Sigificant Changes:

  • New: It is now possible to uncouple cars from the player train. Coupling is not (yet) supported.
  • New: Add inbuilt AI to control MTR South Island Line trains. (Non-standard controls / plugin)
  • New: Scratch written PNG deoder.
  • Change: Various improvements to the behaviour of the sanders. (KennyHui)
  • Change: Stop various null objects from adding error messages.
  • Change: Update pt-PT translation. (Alexandre Carvalho)
  • Change: Already played trigger once sounds are reset upon jumping the train.
  • Fix: An unrecognised / unsupported file in the plugins directory would cause the game to fail to load.
  • Fix: The GL menu would crash if clicking the start button with nothing selected. (KennyHui)
  • Fix: Fallback translation for some UI elements not working as designed.
  • Fix: The viewing distance for RouteViewer was stuck at 1km
  • Fix: An invalid driver car set via train.xml could crash the parser.
  • Fix: Building using the makefile could fail if unable to determine the Nuget version present. (Some non-latin languages)
  • Fix: Handle a different parenthesis in folder names variant.

Significant Changes:

  • Change: Improve control configuration saving / loading.
  • Change: Provide internal mirror to System.IO.Path functions.
  • Change: Improve logging / messaging when attempting to use a train runtime plugin on an incompatible system.
  • Change: Assorted improvements to the Loksim3D object parser.
  • Change: Update language files from Transifex.
  • New: Add AmbientTemperature animated variable.
  • Hacks: Update Hakone- Tozan patch for variant file.
  • Fix: In-game HUD not correctly translated when using the GL menu.
  • Fix: Invalid or corrupt textures could have an invalid cache access.
  • Fix: Crash when attempting to reverse a non-existant animated state under certain circumstances.
  • Fix: SigF not showing a default signal when in range and no custom signal specified.
  • Fix: Show route image in GL menu if present alongside, but not specified in routefile.

As always, a new release seems to bring some new and interesting bugs, as well as locating older ones :( This release should fix OpenBVE failing to start on systems requiring the GL3 menu (Primarily newer versions of OS-X)

Significant Changes:

  • Fix: OpenBVE failed to launch with the GL3 menu due to a train plugin interface change.
  • Fix: Incorrect texture caching access for trains with nighttime textures.
  • Fix: Issue using the Windscreen section later in a Panel2
  • Change: Remove various bits of older BVE2 hacks related code from the PanelXML parser- This should have no effect on user content.

This release of OpenBVE introduces the next stage of moving the sim away from a purely linear, forwards-facing world- The ability to drive an existing routefile in the opposite direction.

For the moment, if you wish to take advantage of this experimental feature, this must be set in-file with Options.ReverseDirection 1

Significant Changes:

  • Change: Alter default object optimisation settings, to allow some X objects to work better.
  • New: Add experimental IRawRuntime interface for train plugins. This allows plugins to recieve raw keyboard / mouse input data from the sim.
  • New: Add option to allow routefiles to be constructed in the reverse direction. This is experimental and signalling / other trains may not work as expected.
  • New: Allow touch elements to define a custom cursor.
  • Fix: Crash if switching directly to a POI camera from the cabview.
  • Fix: Anisotropic filtering could get stuck off.

Significant Changes:

  • New: Add the animated instruction Length to return the current length of the train.
  • Change: Support objects with more than 65,535 verticies in a mesh.
  • Change: Improvements to handling of Colored Vertices loaded from some .X files.
  • Change: The OriginalX parser has been deprecated / removed- If this is selected, the NewXParser will now be used.
  • Change: Handle some X files which are actually a relative path. Fixes some night-time routes using BRSigs.
  • Change: A more descriptive exception is thrown if one component of a path supplied to the API is empty.
  • Change: The WAV parser will now correctly handle some extensible WAV files.
  • Change: Better detect some BVE Readme files encoded in non-ANSI charsets.
  • Fix: Increase the height of various controls to avoid blank text on some Mono systems (KennyHui)
  • Fix: The AI could repeatedly apply / release the brakes on an air braked train in certain circumstances.
  • Fix: Couple of camera glitches introduced with v1.9.0.0 / Quad trees.
  • Fix: Cab flickering on some systems.