Skip to content
An open source re-implementation of RollerCoaster Tycoon 2 🎢
Branch: develop
Clone or download
Pull request Compare This branch is 134 commits behind OpenRCT2:develop.
ZehMatt Implement SetCheatAction. (OpenRCT2#8990)
* Implement SetCheatAction.

* Bump up network version
Latest commit cd8c67d May 4, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Release 0.2.2 Mar 13, 2019
.vs Revert accidental deletion May 1, 2018
.vscode Update vscode config [ci skip] May 4, 2019
OpenRCT2.xcodeproj Add LandSmoothAction.hpp to Xcode project. Mar 27, 2019
cmake Add platform cmake include Feb 5, 2019
data Merge Localisation/master into OpenRCT2/develop. May 4, 2019
debian Release 0.2.2 Mar 13, 2019
distribution Update changelog [ci skip] May 4, 2019
dockerfiles Add ccache to dockerfiles May 29, 2018
resources Change multiplayer toolbar image to framed globe, with pressed state. May 2, 2019
scripts Update appveyor_deploy.ps1 Oct 28, 2018
src Implement SetCheatAction. (OpenRCT2#8990) May 4, 2019
test Port more functions to Ride struct (OpenRCT2#9119) Apr 20, 2019
.clang-format Indent preprocessor directives Jul 23, 2018
.codecov.yml Turn off codecov comments on PRs Apr 25, 2018
.dockerignore Add dockerfile for openrct2-cli Feb 1, 2018
.editorconfig Add .editorconfig Apr 16, 2018
.gitattributes Added Xcode Project Dec 20, 2015
.gitignore Exclude typical cmake build dirs (OpenRCT2#8646) Jan 27, 2019
.travis.yml Release 0.2.2 Mar 13, 2019
CMakeLists.txt Fix OpenRCT2#7913: RCT1/RCT2 title sequence timing is off (OpenRCT2#8980 Mar 27, 2019
CMakeLists_mingw.txt Fix mingw cross-compiler prefix Jan 28, 2018 Compile localisation folder as C++ Jan 6, 2018
appveyor.yml Release 0.2.2 Mar 13, 2019 Add changelog entry; add Xkeeper0 to contributors. [ci skip] May 2, 2019
licence.txt (test commit for travis please ignore) May 25, 2014
openrct2.common.props Update target Windows SDK to 10.0.17763.0 (OpenRCT2#9190) May 2, 2019
openrct2.exe patch exe to remove DirectDraw, DirectInput and DirectPlay dependencies. Aug 18, 2015
openrct2.proj Fix OpenRCT2#7913: RCT1/RCT2 title sequence timing is off (OpenRCT2#8980 Mar 27, 2019
openrct2.sln Build libopenrct2 and libopenrct2ui simultaneously Jun 1, 2018
openrct2.targets Fix DownloadDependency task for VS2017 RC Dec 17, 2016 readme: do not mention the master branch PPA, which is no longer buil… Apr 8, 2019
shell.nix Fix OpenRCT2#7913: RCT1/RCT2 title sequence timing is off (OpenRCT2#8980 Mar 27, 2019


An open-source re-implementation of RollerCoaster Tycoon 2. A construction and management simulation video game that simulates amusement park management. Group Park 5

Build Status

Windows Linux / Mac Download
master AppVeyor Travis CI
develop AppVeyor Travis CI


You only need a GitHub, GitLab, 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.

If you want to help translate the game to your language, please stop by the Localisation channel.

Language Non Developer Developer Localisation
English Gitter Gitter Gitter
Nederlands Gitter


1. Introduction

OpenRCT2 is an open-source re-implementation of RollerCoaster Tycoon 2 (RCT2). The gameplay revolves around building and maintaining an amusement park containing attractions, shops and facilities. The player must try to make a profit and maintain a good park reputation whilst keeping the guests happy. OpenRCT2 allows for both scenario and sandbox play. Scenarios require the player to complete a certain objective in a set time limit whilst sandbox allows the player to build a more flexible park with optionally no restrictions or finance.

RollerCoaster Tycoon 2 was originally written by Chris Sawyer in x86 assembly and is the sequel to RollerCoaster Tycoon. The engine was based on Transport Tycoon, an older game which also has an equivalent open-source project, OpenTTD. OpenRCT2 attempts to provide everything from RCT2 as well as many improvements and additional features, some of these include support for modern platforms, an improved interface, improved guest and staff AI, more editing tools, increased limits, and cooperative multiplayer. It also re-introduces mechanics from RollerCoaster Tycoon that were not present in RollerCoaster Tycoon 2. Some of those include; mountain tool in-game, the "have fun" objective, launched coasters (not passing-through the station) and several buttons on the toolbar.

2. Downloading the game (pre-built)

OpenRCT2 requires original files of RollerCoaster Tycoon 2 to play. It can be bought at either Steam or If you have the original RollerCoaster Tycoon and its expansion packs, you can point OpenRCT2 to these in order to play the original scenarios. offers precompiled builds and installers of the latest master and the develop branch. There is also a cross platform Launcher available that will automatically update your build of the game so that you always have the latest version.

Some Linux distributions offer native packages already. These packages are usually third-party, but we're trying to resolve issues they are facing.

Some *BSD operating systems offer native packages. These packages are usually third-party, but we're trying to resolve issues they are facing.

3. Building the game

3.1 Building prerequisites

OpenRCT2 requires original files of RollerCoaster Tycoon 2 to play. It can be bought at either Steam or



  • Xcode 8

The program can also be built as a command line program using CMake. This type of build requires:

  • Xcode Command Line Tools
  • Homebrew
  • CMake (available through Homebrew)


  • sdl2 (only for UI client)
  • freetype (can be disabled)
  • fontconfig (can be disabled)
  • libzip (>= 1.0)
  • libpng (>= 1.2)
  • speexdsp (only for UI client)
  • curl (only if building with http support)
  • jansson (>= 2.5)
  • openssl (>= 1.0; only if building with multiplayer support)
  • icu (>= 59.0)
  • zlib
  • gl (commonly provided by Mesa or GPU vendors; only for UI client, can be disabled)
  • cmake

3.2 Compiling and running


  1. Check out the repository. This can be done using GitHub Desktop or other tools.
  2. Open a new Developer Command Prompt for VS 2017, then navigate to the repository (e.g. cd C:\GitHub\OpenRCT2).
  3. Run msbuild openrct2.proj /t:build /p:platform=x64.
  4. Run the game, bin\openrct2

Once you have ran msbuild once, further development can be done within Visual Studio by opening openrct2.sln.

Other examples:

set platform=x64
msbuild openrct2.proj /t:clean
msbuild openrct2.proj /t:rebuild /p:configuration=release
msbuild openrct2.proj /t:g2
msbuild openrct2.proj /t:PublishPortable



The recommended way of building OpenRCT2 for macOS is with Xcode. The Xcode build will create a self-contained application bundles which include all the necessary game files and dependencies. Open the project file OpenRCT2.xcodeproj in Xcode and build from there. Building this way will handle the dependencies for you automatically. You can also invoke an Xcode build from the command line using xcodebuild.


A command line version of OpenRCT2 can be built using CMake. This type of build requires you to provide the dependencies yourself. The supported method of doing this is with Homebrew. Once you have Homebrew installed, you can download all the required libraries with this command:

brew install cmake openssl jansson libpng sdl2 speexdsp libzip freetype pkg-config

Once you have the dependencies installed, you can build the project using CMake using the following commands:

mkdir build
cd build
cmake ..
ln -s ../data data

Then you can run the game by running ./openrct2.


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

mkdir build
cd build
cmake ../ # set your standard cmake options, e.g. build type here
make # you can parallelise your build job with e.g. -j8 or consider using ninja
DESTDIR=. make install # the install target creates all the necessary files in places we expect them

Detailed instructions can be found on our wiki.

4. Contributing

OpenRCT2 uses the gitflow workflow. If you are implementing a new feature or logic from the original game, please branch off and perform pull requests to develop. If you are fixing a bug for the next release, please branch off and perform pull requests to the correct release branch. master only contains tagged releases, you should never branch off this.

Please read our contributing guidelines for information.

4.1 Bug fixes

A list of bugs can be found on the issue tracker. Feel free to work on any bug and submit a pull request to the develop branch with the fix. Mentioning that you intend to fix a bug on the issue will prevent other people from trying as well.

4.2 New features

Please talk to the OpenRCT2 team first before starting to develop a new feature. We may already have plans or reasons against it, therefore contacting us will allow us to help you or prevent you from wasting any time. You can talk to us via gitter, see links at the top of this page.

4.3 Translation

You can translate the game into other languages by editing the language files in data/language directory. Please join discussions and submit pull requests to OpenRCT2/Localisation.

4.4 Graphics

You can help create new graphics for the game by visiting the OpenGraphics project. 3D modellers needed!

4.5 Audio

You can help create the music and sound effects for the game, drop by the OpenMusic chat to find out more.

4.6 Scenarios

We also need need scenarios to distribute with the game, when the time comes. For that, we need talented scenario makers! Come chat with us over here!

5. Licence

OpenRCT2 is licensed under the GNU General Public License version 3.

6. More information

Similar Projects

OpenLoco OpenTTD openage OpenRA
Chris Sawyer's Locomotion Transport Tycoon Deluxe Age of Empires 2 Red Alert

7. Sponsors

Companies that kindly allow us to use their stuff:

DigitalOcean JetBrains AppVeyor Travis-CI Backtrace
do_logo_vertical_blue svg jetbrains AppVeyor Travis backtrace
Hosting of various services CLion and other products MSVC CI Linux + macOS CI Minidump uploads and inspection
You can’t perform that action at this time.