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.10.0.1 Stable (2024-04-10)

Current News & Updates:

This is a quick patch release, primarily to address a couple of issues which were inevitably identified just after I’d pushed v1.10.0.0

Significant Changes:

  • New: Add the PlayerPath command to allow for non-changeable switches.
  • New: TFOs are checked when considering the nearest train.
  • Change: Add CTRL + F9 as the default key for SWITCH_CHANGE (existing installs will need to set this key manually, or reset the controls to default)
  • Fix: Touch commands containing an underscore were broken in v1.9.2.5 by the language file refactor.

This release brings another major change, albeit again somewhat of a work in progress / tech demo at best, by allowing the addition of basic forwards / reverse facing switches (points), and for the player train to run on rails other than Rail0.

Please see the documentation for further details: https://openbve-project.net/documentation_hugo/en/routes/xml/switches.html

Significant Changes:

  • New: Support the Densha De GO! Multi-Train controller. (MarcRiera)
  • New: Use separate thread for loading sounds.
  • New: Allow running on rails other than 0.
  • Hacks: Add workaround for Wood Lane (2010) signals.
  • Fix: Some palleted PNG files with low color depths failed to decode.
  • Fix: An unknown key in a Sound related section of an animated file could freeze the parser.
  • Fix: Uncoupling cars could cause the game to crash in certain uncommon circumstances.
  • Fix: The rear axle of a train unintentionally triggered an all cars announcement.

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.