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

Screenshots

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:

1.11.0.6 Stable (2024-10-09)

Current News & Updates:

Signficant Changes:

  • Change: Only pause the currently active run / flange sound, stop others. (OpenAL appears to become unreliable with large numbers of paused sources)
  • Change: Some improvements to the GL main menu when changing resolution.
  • Fix: Some BVE5 routes were not working.

Signficant Changes:

  • New: Implement sounds for BVE5 AI trains.
  • New: Implement default time for BVE5 station jumps.
  • Change: Add a tools menu to the GL main menu, and move package management into this menu.
  • Change: Update the openbve.desktop file installed by the Debian package.
  • Change: Also accept BACKSPACE to clear objects in Object Viewer.
  • Fix: Point based sounds were failing to trigger on non BVE5 routes.
  • Fix: An invalid position in a quad tree lead to a memory leak.

This release is a relatively small patch, primarily relevant for users on Apple OS-X, and other systems which do not support WinForms.

Significant Changes:

  • Fix: BVE5 TXT files were not visible in the GL main menu.
  • New: Add route map display to the GL main menu.
  • New: Add GL based menus to Route Viewer and Object Viewer for users on systems not supporting WinForms.
  • Change: Update zh-HK translation. (KennyHui)
  • Fix: Incorrect decoding of some interlaced PNG files.
  • Hacks: Use a better initial cab position for Indonesian KIC400.

Ths release contains a major new feature: Initial support for BVE5 format routefiles. It would not have been possible without the hard work of S520 and the parser library created by aoisupersix

My thanks also go to ginga81 and zbx1425 for support, and most importantly Mackoy and Rock_On for the creation and ongoing development of BVE itself.

This initial release contains acceptable to good support for a large proportion of routefiles, albeit with some glitches, which are being worked upon. AI trains are supported, but currently have no sound. Some animation effects are also not currently supported.

Please also see the following page:

https://openbve-project.net/bve5/compatability/

Significant Changes:

  • New: BVE5 routefile support.
  • Change: A considerable number of improvements and fixes to the X parsers.
  • Change: Better caching on reload for RouteViewer.
  • Change: Update the DenshaDeGo! controller drivers. (MarcRiera)
  • Change: Add workaround for BMP textures with an index outside of the color pallete.
  • Change: Cleanup / improve the translation files. (Kenny-Hui)
  • Fix: Unpredidicatable freezes on some Linux systems, by setting mesa_glthreads=false (JakubVanek)
  • Fix: Changing from wireframe to back could unexpectedly reset GL.ClearColor.
  • Fix: Lag when initially changing from cabview to external.
  • Fix: Incorrect length check in brake calculations. (Triggered by uncoupling some trains)
  • Fix: Incorrect length check in brake calculations. (Triggered by uncoupling some trains)

Whilst the list of changes in this build is quite long, most will not really be of interest to ‘normal’ users, but have instead come about as a result or requirement of introducing running on differing rails, and all the challenges that go with it.

Hotfix to 1.10.1.1 to address an issue cloning animated objects containing sounds- My apologies.

Significant Changes:

  • New: Add Train.DownloadLocation to routefile commands.
  • New: Support the DenshaDeGo! MTC controller doors light. (MarcRiera)
  • New: Add PlayerDistance and PlayerTrackDistance to available animated instructions.
  • New: Links in train / route descriptions are clickable in the legacy WinForms menu.
  • Change: Many improvements / fixes to the Switch functionality. Thanks to all those who tested / reported issues!
  • Change: Standardise date format in logging (KennyHui)
  • Change: Only log an issue once per broken object instead of once per use.
  • Change: Alter TFO loading, and add rail index validation.
  • Change: Block an internal Windows file from the mechanik parser.
  • Fix: Collision not taking into account differing running rails.
  • Fix: Some adaptors produced ghost input when using a DenshDeGo! controller. (MarcRiera)
  • Fix: Implement some of the less common types into the PNG decoder, and some associated issues with API functions.
  • Fix: Correctly handle some broken .X files produced by the BVETS Convertor.
  • Fix: Position of a sound within an animated object incorrectly affected the object’s base position.
  • Fix: An empty line in train.dat could be incorrectly interpreted as an empty acceleration curve.
  • Fix: Some issues with converted acceleration in CarXML convertor.
  • Fix: CarXML convertor not escaping filenames.
  • Fix: An inverted null check causing issues with cloning animated objects containing a sound.
  • Fix: Excessive indentation when using CarXMLConvertor.
  • Fix: XML only trains were not found in several places.
  • Hacks: Add workaround for Yogyakarta- Madiun excessively slow load times.