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 (2021-11-20)

Current News & Updates:

The main highlight of this release is a plugin to support of a new set of Cab Controllers, contributed by Marc Riera. These are those from the Densha De Go! series for Playstation, Dreamcast etc., connected via an appropriate PC Joystick adaptor.

The primary hosting for the release binaries has also changed to GitHub, but these & all older versions are still mirrored on the build server, along with the nightly builds.

Significant Changes:

  • New: Various Densha De Go! controllers are now supported via plugin.
  • New: Add AnnounceAll and DopplerAll for adding sounds triggered by each car of a train.
  • Change: Update OpenTK- Various improvements to joystick handling.
  • Change: Joysticks are now identified via GUID in the controls file. This allows reconnection to work correctly.
  • Change: Update pt-PT & zh-HK language files- Thanks!
  • Fix: Crash if a negative switch sound index was supplied in sound.cfg
  • Fix: Ambient and diffuse lighting colors swapped when using hex in a dynamic light XML
  • Fix: Uninstalling a package with others that depended on it didn’t show an appropriate error.
  • Fix: Crash in a route with 3500+ sections

Significant Changes:

  • New: Convert the route parser to a shared plugin / interface. Numerous fixes as a result of this.
  • New: Numerous improvements to the compatability database, including changed signal sets where appropriate etc.
  • New: Object property to crossfade between the day / night textures.
  • Change: Use openAL Soft when on Windows.
  • Fix: Max number of sound sources option not working correctly.
  • Fix: Memory leak introduced by the new renderer.
  • Fix: Camera motion would continue whilst in a dialog box when using the viewers.
  • Fix: Animations on a train car using the Reversed property could be wrong.
  • Fix: Error in WAV files with an invalid chunk size.
  • Fix: Possible crash on Intel integrated GPUs when using the new renderer.
  • Fix: Handle ATS.cfg files containing invalid extra data (comments etc.)

Critical Bugfix v1.7.1.8

  • Fix: Crash with trains containing no point sounds.

Significant Changes:

  • Change: Further tweaks to GL3.0 lighting model.
  • Change: More aggressively kill the main form when closing under Linux.
  • Fix: StateChangeSound in animated objects off by one index where multiple sounds provided.
  • Fix: Variable brightness for a single texture not updated in some cases with GL3.0 renderer.
  • Fix: Dynamic background transitions broken in GL1.2 renderer.
  • Fix: The new renderer could accidentally be disabled with certain combinations of options.
  • Fix: Route Viewer could crash after dragging / dropping a file on Mono.
  • Fix: Route Viewer could get stuck loading under Mono.

Significant Changes:

  • New: Add various alternate compatibility signal sets.
  • Change: Improve lighting behaviour in the GL3.0 renderer.
  • Change: Update pt-PT language file.
  • Change: Update id-ID language file.
  • Fix: Issue when passing section aspects to plugins.
  • Fix: Make the AI behave better when driving a train with door interlocks.
  • Fix: The pass alarm event location was incorrect when using a non-standard block length.

Significant Changes:

  • Fix: Touch support broken in GL1.2 renderer.
  • Fix: Crash when using a train with a digital gauge and no GL3.0 support.
  • Fix: The cursor should reset to default when entering the in-game menu.
  • Fix: Crash when typing a UNC path in the main menu,
  • Fix: Typo in the locobrakepipe variable for Panel2
  • Fix: Distance to the next station after a pass incorrect.
  • Fix: The GL3.0 renderer did not handle objects with more than 65,535 vertices.
  • Change: Improve lighting / fog interactions in the GL3.0 renderer.