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.9.2.7 Stable (2024-02-11)

Current News & Updates:

Signficant Changes:

  • New: Add LocoBrakeNotch to Object Viewer.
  • New: Add BillBoard functions to Animated Objects. (WIP)
  • Change: Improvements to the customise control dialog in the GL menu.
  • Change: Improve internal handling of translations.
  • Change: Update pt-PT translation (Alexandre Carvalho)
  • Fix: Sounds incorrectly triggered on reversed routes.
  • Fix: 3D cabs incorrectly positioned on reversed routes.
  • Fix: Speed limits not working correctly on reversed routes.
  • Fix: Correctly order autogen timetable on reversed routes.
  • Fix: Possible crash if a train in the previously used list was moved / failed to load.
  • Fix: Issues with GL textbox string splitting on non-Windows platforms under some circumstances.

This release mostly fixes odd issues, but it should be noted that sound handling for some train related sounds has been subtly altered. These changes should (hopefully) be more logical in general, and also bring us closer to the behaviour of BVE.

Significant Changes:

  • Fix: Crash with some BVE5 motor sound tables (Please note that these are still WIP)
  • Fix: TrainEditor2 failed to close.
  • Fix: Glitch with a duplicated command translation.
  • Fix: Unexpected results and no error when attempting to load a malformed train.xml
  • Fix: Handle rooted paths in .obj files.
  • Fix: Correct texture co-ordinate handling for .obj files exported by Blender.
  • Fix: Some objects with large meshes could have incorrect texture handling.
  • Change: Compressor run-up no longer takes a fixed 5s, but is dynamically calculated using the start / stop sounds.
  • Change: Update routefile patch database.
  • Change: Add various missing translatable strings to TrainEditor2.
  • Change: Update zh-CN translation. (HB EHeJMor)
  • Change: Flange / run sounds are now paused as opposed to stopped when the active index changes. Please see the following errata note: https://github.com/leezer3/OpenBVE/wiki/Errata#flange–run-loop–restart-behaviour
  • Change: Pressure drop related sounds are now stopped if the pressure drop stops.
  • Change: A default control is now set for the LocoBrake on new installations/ control resets.

Significant Changes:

  • New: Add optional Mode parameter to random numbers to allow for a single fixed random to be generated.
  • New: Accessibility helpers will announce the current handle position when it is changed by the driver.
  • New: Add option to reset all controls to default in the OpenGL main menu.
  • Fix: Improvements to Densha De Go! controller detection and mapping (MarcRiera)
  • Fix: Use alternate timer method on non-Windows platforms for better precision.
  • Fix: Door open/ close duration set via Train.xml was incorrectly calculated.
  • Fix: Issue with some interlaced PNG files using a reduced color pallette.
  • Change: Allow a Windscreen to be added via Train.xml for trains using a 3D cab.

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.

Significant Changes:

  • New: Add Slovak language (DuckyProgramator)
  • Change: Minor improvement to UK* plugin AI.
  • Change: Cache the object optimisation state.
  • Fix: Issue with some interlaced .PNG files.
  • Fix: Remove memory debug message in 32-bit (KennyHui)
  • Fix: Correctly terminate the route preview thread.
  • Hacks: Update Tinsford patch.
  • Hacks: Add patches for several Polish routes, fixing assorted issues.

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.