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

Current News & Updates:

Version 1.5.2.0

Significant Changes:

  • Change: openTK version bumped. (Solves issues on OS-X Sierra)
  • Change: OS-X app tweaked to handle Mono 5.2
  • New: Improved the parsing of Loksim3D objects containing nested group files
  • New: Add signal3.csv & crossing.wav to the Uchibo compatibility list
  • New: Add XML format stations
  • Fix: A signal declared with 0 aspects in a RW format route behaved incorrectly
  • Change: Add -3 as a supported signal aspects value
  • Fix: Excessively large StructureIdx values could cause various issues
  • Fix: Cloning an object with nighttime textures could crash under certain circumstances

Compatibility Changes:

This version of OpenBVE introduces a number of new ‘hacks’ to fix previously broken BVE2 / BVE4 content, as follows:

  • Richmond- Kurrajong & Campbelltown- Campden object rotation broken
  • The original RW format Heavy Coal route stations broken
  • Improved the handling of various situations containing incorrect bracket configurations
  • The SetDecalTransparentColor for textures using 256-colors is now matched to the nearest color in the palette, fixing large numbers of older routes with transparency issues.

Whilst these should have no effect on any other items, they may be disabled in the following ways:

Routefile Fixes

  1. For all routes, by unchecking the Enable hacks for buggy older content checkbox.
  2. For a specific routefile, by setting Options.EnableBveTsHacks(0)

256-Color Transparency Fix

  1. For all routes, by unchecking the Attempt to fix transparency issues in older content checkbox
  2. For a specific routefile, by setting Options.CompatibleTransparencyMode(0)

Developers of new content are encouraged to disable both of these options specifically.

Version 1.5.1.6

Significant Changes:

  • New: Basic support for the RailDriver controller from PI Engineering. (Requires calibration, see P2 of ‘Options’)
  • New: OpenBVE will load many Loksim3D objects.
  • Fix: ACE textures using 1-bit alpha were broken.
  • Fix: Potential infinite recursion bug in path resolution API.
  • Fix: Several components of Japanese BVE1 panels were not working correctly.
  • Fix: BVE4 trams from Martin Finken (GT6, TW6000 original version etc.) had a broken initial panel zoom.
  • Fix: Backgrounds textures not correctly loaded in the Minobu route for BVE2.
  • Fix: Inconsistent error messages under some package management situations.
  • Change: The sounds for the default (no) ATS plugin may be overwritten via sound.cfg. Please see the following errata note for further details: https://github.com/leezer3/OpenBVE/wiki/Errata#default-plugin-ats-sounds
  • Change: Route / train specific hacks may be turned off via setting enablebvetshacks to false in the options file. These should generally be left enabled.

Version 1.5.1.5

Significant Changes:

  • New: Bumped openTK version, better support for various joysticks (e.g. Thrustmaster HOTAS-X)
  • New: Object Viewer and Route Viewer support drag + drop.
  • Fix: AI trains could get stuck at the terminal station. (Introduced with 1.5.1.4)
  • Fix: Improved handling of character encoding mismatches in various places.
  • Fix: Blue colored text did not work.
  • Fix: The pitch for the Right Door open sound was incorrect.
  • Fix: Supplying an empty Object string in an extensions.cfg file crashed.
  • Change: Debian package dependancies tweaked to work on more recent versions.
  • Change: Removed various duplicate code from Route Viewer / Object Viewer.

Version 1.5.1.4

Significant Changes:

  • Fix: Improved handling of .Section commands with unexpected contents. (Signals could get stuck on red in rare cases)
  • Fix: Departure occurring at the terminal station.
  • Fix: When using the AI driver & certain .Net plugins, the reverser repeatedly bounced on and off at the terminal station.
  • Fix: Rolling backwards whilst moving off from a station stop on a hill caused the it to trigger again.

Version 1.5.1.3

Behavioural Changes:

  • New: Joystick buttons limit increased to 64, plus various other changes from openTK backend.
  • Fix: Holding down a door button no-longer causes the doors to bounce between open & closed.

Significant Changes:

  • New: XML based markers ( http://openbve-project.net/documentation/HTML/route_marker.html ), allowing for text messages and basic time dependent scripting.
  • New: When a door button is pressed, VirtualKeys.DoorsLeft / VirtualKeys.DoorsRight is raised.
  • New: Panel2.cfg supports the subjects doorbuttonl & doorbuttonr
  • New: Animated objects support the subject leftDoorsButton & rightDoorsButton
  • Change: LBA and large GC objects enabled. (Fixes some issues with NYCTA routes)
  • Change: Workaround for some Chinese BVE2 routes not finding the default train correctly.
  • Change: The non-visible ‘NUL’ character is ignored if encountered during routefile processing.
  • Fix: Missing error message in dynamic background parser.
  • Fix: Using ‘SIGNAL’ at the start of a comment in a routefile could be misinterpreted.
  • Fix: Issue when using the ‘Back’ button whilst creating a package under some circumstances.
  • Fix: Workaround for certain malformed paths whilst loading a .animated file.
  • Fix: Car based plugin sounds not working correctly.
  • Fix: VirtualKeys.GearDown not working correctly.