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

Current News & Updates:

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.

Significant Changes:

  • New: Add rendered event for Rail Sounds change when events overlay is active.
  • New: Coupler objects displayed in Object Viewer.
  • New: Add RouteLimit to the available functions for panels and animated objects.
  • New: Use a different icon for disks at the root of the main menu under Windows.
  • Change: Improve TrackFollowingObjects in certain cases.
  • Change: Only flush the black-box log to disk once every 30s (Reduces disk writes and stutter in some cases)
  • Change: Minor improvements to the original X parser.
  • Change: The ‘incorrect’ lighting behaviour described here is used when hacks are active.
  • Change: Update hu-HU, id-ID and zh-CN translations- Thanks!
  • Change: Detect and warn when vertices are declared outside of a MeshBuilder, as this may produce unexpected consequences.
  • Fix: Assimp X Parser didn’t support global materials.
  • Fix: Assimp X Parser failing to support exponent numbers.
  • Fix: Glitch when using two rail commands in a block.
  • Fix: Crash when creating a package, but no files were selected to package.
  • Fix: Crash when attempting to install a package into a UAC protected directory as a non-elevated user.
  • Fix: Crash when GL3.3 not supported by the system.
  • Fix: Crash with a zero-byte sound.cfg file
  • Fix: Rotational / projection matrix glitch in 3D cabs
  • Fix: 3D cab incorrectly lit in the new renderer.
  • Fix: An AI driver for the player train was limited by Route.Velocity
  • Fix: An AI driver for a player train with air brakes bounced on the brakes at the terminal station.
  • Fix: Certain animated objects could be missing or incorrectly disposed of.
  • Fix: Newline bug when the default train was not found.

Significant Changes:

  • Fix: Improve several further issues with the new renderer, and make this slightly faster again.
  • Fix: Crash with a route containing a single station at which no trains were set to stop.
  • Fix: Issues where a TFO was not found in the expected directory could either crash or cause unexpected behaviour.
  • Fix: If a train contained mixed encodings, some could be read incorrectly.
  • Fix: Changing the game mode without starting a new game didn’t stick.
  • Change: Shift rails to a dictionary based accessor. This should make some NYCTA content which uses extremly high rail numbers work a lot better.
  • Change: Update pt-PT language file.
  • New: Allow to be used as an alternative for trains which are not intended to be drivable.
  • New: Allow the consist for TFOs to be reversed.

My apologies, another bugfix release, but an important one :(

Significant Changes:

  • Fix: Point / rail sounds not working correctly

This is a maintenence release, aimed at improving the performance of the new renderer introduced in OpenBVE

In most cases, it should now be either considerably faster than the old renderer, or at most a little slower. Work is still ongoing in this regard, and there are hopefully more boosts in the pipeline.

It however introduces one new errata item concerning polygon lighting-