An open source re-implementation of Roller Coaster Tycoon 2.
C C++ Objective-C PowerShell XC NSIS Other
Pull request Compare This branch is 2729 commits behind OpenRCT2:develop.
Latest commit 8f25470 Jul 29, 2016 @wolfreak99 wolfreak99 committed with Gymnasiast Add cheat to reset date (#4188)
Failed to load latest commit information.
.github Make issue template more consistent and friendlier for newer people Jun 9, 2016
OpenRCT2.xcodeproj Completely Remove DrawImageMaskedShader from XCode project Jul 27, 2016
data Add cheat to reset date (#4188) Jul 29, 2016
debian Merge branch 'master' into develop Apr 15, 2016
distribution Add cheat to reset date (#4188) Jul 29, 2016
dockerfiles Update docker files (#3752) May 27, 2016
resources embed OpenRCT2 icon for Windows (#3372) Apr 21, 2016
scripts CI: Always add build symbols to artefacts Jul 11, 2016
src Add cheat to reset date (#4188) Jul 29, 2016
.gitattributes Added Xcode Project Dec 20, 2015
.gitignore remove VS filters May 28, 2016
.travis.yml Add CMake target not using RCT2, use it for linux64 job Jun 16, 2016
CMakeLists.txt Enforce proper declarations for every function Jul 14, 2016
CMakeLists_mingw.txt Fix CMakeLists for MinGW cross-compilation Dec 28, 2015 Update Sep 24, 2015
appveyor.yml add caching of secure-file May 4, 2016 New file naming convention for screenshots Jul 24, 2016
curl-ca-bundle.crt add twitch integration, part 2 May 25, 2015
licence.txt (test commit for travis please ignore) May 25, 2014
openrct2.exe patch exe to remove DirectDraw, DirectInput and DirectPlay dependencies. Aug 18, 2015
openrct2.sln clean up VS solution and project Jan 9, 2016
openrct2.vcxproj Merge draw image and draw masked image shaders Jul 27, 2016
openrct2.vcxproj.user integrate variable: gWindowMapFlashingFlags May 13, 2016 Update Jul 28, 2016
setenv.ps1 setup AppVeyor CI Dec 22, 2015


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

Build Status

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




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 offers precompiled builds and installers of the latest stable 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.

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



Mac / Linux:

  • sdl2
  • sdl2-ttf
  • speexdsp
  • curl (only if building with network support)
  • jansson (only if building with network support)
  • iconv (part of glibc on Linux)
  • cmake All libs listed here (bar cmake) required in 32 bit variants.

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 VS2015, run PowerShell and then navigate to the repository.
  3. Run the setenv.ps1 script in the repository to set up your PowerShell environment for OpenRCT2 development. This will warn you of any missing applications required to build OpenRCT2.
  4. Run install to download the required dependencies to build OpenRCT2.
  5. Run build all to build all the required components for OpenRCT2.
  6. Run run to run OpenRCT2.

These PowerShell scripts are stored in .\scripts\ps and have parameters. Once you have used the build script once, further development can be done within Visual Studio by opening openrct2.sln. The build scripts have several commands allowing you to rebuild certain components such g2.dat or language files.


We support native builds for macOS (limited to i386 only for now). Make sure that you have Homebrew installed and than run the following commands to install all the needed libraries and build OpenRCT2.

# Install libraries

# Build OpenRCT2

# Run the game


We support native builds for Linux (limited to i386 only for now). As the easiest approach depends on your distribution, please take a look at the 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.

5 Licence

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

6 More information