Skip to content
An open source re-implementation of Chris Sawyer's Locomotion
Branch: master
Clone or download
Latest commit 0a738d3 Apr 24, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Add a basic issue template [ci skip] Apr 10, 2018
cmake Fix Travis CMake builds for Linux and MinGW targets. Oct 8, 2018
data/language nl-NL: Add missing strings, translate a few older ones (#313) Apr 2, 2019
distribution Generate and build macOS app bundles through CMake. Feb 26, 2019
resources Set window icon to OpenLoco logo Feb 24, 2019
.clang-format Unroll macros. Mar 14, 2019
.gitignore Generate and build macOS app bundles through CMake. Feb 26, 2019
.travis.yml Add a refspec for tags to git config to force fetch tags (#292) Mar 5, 2019 Fix #297: Menu click sound not played Mar 11, 2019
CMakeLists.txt Don't warn on unused parameter Mar 6, 2019
LICENSE Update license to reflect project state. (#281) Feb 24, 2019 Add a screenshot to the readme file (#291) Apr 6, 2019
appveyor.yml Update appveyor.yml Mar 1, 2019
docker-compose.yml Change version in docker-compose.yml to 2 Jan 31, 2018
loco.exe Cleanup loco.exe file (#6) Jan 21, 2018
openloco.common.props Allow any Windows SDK to be used via %UCRTVersion% Oct 3, 2018


An open source re-implementation of Chris Sawyer's Locomotion. A construction and management simulation video game that simulates running a transport company.


Build Status

Windows Linux / Mac Download
master AppVeyor Travis CI GitHub release


You only need a GitHub or Twitter account to access these channels.

If you want to help make the game, join the developer channel.

If you need help, want to talk to the developers, or just want to stay up to date then join the non-developer channel for your language.

Language Non Developer Developer
English Gitter Gitter

1 Introduction

OpenLoco is an open-source re-implementation of Chris Sawyer's Locomotion (CSL). CSL is the spiritual successor to Transport Tycoon and OpenLoco aims to improve the game similar to how OpenTTD improved Transport Tycoon and OpenRCT2 improved RollerCoaster Tycoon.

Chris Sawyer's Locomotion was written by Chris Sawyer in x86 assembly building on top of his RollerCoaster Tycoon 2 engine. Much of the code is 1:1 with RollerCoaster Tycoon 2. This means that only select areas of the game such as the update logic should be written. The engine code such as audio, drawing and the window system should be left alone as it would only repeat the work that has already been done for OpenRCT2. It is more beneficial to share as much code as possible between OpenRCT2 and OpenLoco.

2 Downloading the game (pre-built)

OpenLoco requires original files of Chris Sawyer's Locomotion to play. It can be bought at either Steam or

The latest release can be found on GitHub.

3 Building the game

3.1 Building prerequisites

OpenLoco requires original files of Chris Sawyer's Locomotion to play. It can be bought at either Steam or


Linux / macOS:

3.2 Compiling and running


  1. Check out the repository. This can be done using GitHub Desktop or other tools.
  2. Install dependencies using vcpkg or use the nuget package.
  3. Open a new Developer Command Prompt for VS 2017, then navigate to the repository (e.g. cd C:\GitHub\OpenLoco).
  4. Run msbuild openloco.sln
  5. Run mklink /D bin\data ..\data or xcopy data bin\data /EIY
  6. Run the game, bin\openloco

Linux / macOS:

The standard CMake build procedure is to install the required libraries, then:

mkdir build
cd build
CXXFLAGS="-m32" cmake ..

Running the game will need the data directory from the root of the source code next to the binary. Assuming you're in $SRC/build,

ln -s ../data
cp -r ../data ./data 

4 Licence

OpenLoco is licensed under the MIT License.

5 More information

You can’t perform that action at this time.