An open source re-implementation of RollerCoaster Tycoon 2 🎢
Go to file
Ted John d0b4af8b3d Fix DownloadDependency task for VS2017 RC 2016-12-17 02:58:19 +00:00
.github Update ISSUE_TEMPLATE.md 2016-10-07 17:58:01 +01:00
.vscode Add vscode launch configuration 2016-12-12 20:29:44 +00:00
OpenRCT2.xcodeproj Update Xcode Project 2016-12-16 16:11:03 -06:00
data Remove title sequences 2016-12-16 17:21:16 +00:00
debian Add libzip-dev as a dependency to debian control file 2016-12-16 01:25:02 +00:00
distribution Add fix for high lateral G-forces penalty to changelog 2016-12-16 12:22:26 +01:00
dockerfiles Add Dockerfiles with Ubuntu 16.04 for mingw, i686, amd64 2016-12-15 16:21:11 +01:00
resources Fix #4817: Game icon looking blurry with windows scaling feature at 125% 2016-12-14 00:27:37 +00:00
scripts Use VS2017RC beta image on appveyor 2016-12-16 17:11:26 +00:00
src Fix #4884: Build hash info at intro is empty 2016-12-16 17:17:22 +00:00
test Move addresses and hook into rct2 sub directory 2016-12-16 01:25:05 +00:00
.clang-format Add .clang-format style file (#4836) 2016-11-30 19:01:02 +01:00
.gitattributes Added Xcode Project 2015-12-20 14:53:40 -06:00
.gitignore Write new task for downloading dependencies 2016-12-16 22:42:16 +00:00
.travis.yml Migrate Linux Travis-CI jobs to docker containers 2016-12-15 16:55:17 +00:00
CMakeLists.txt Make CMake require and link libzip 2016-12-16 01:25:02 +00:00
CMakeLists_mingw.txt Fix CMakeLists for MinGW cross-compilation 2015-12-28 01:17:28 +01:00
CONTRIBUTING.md Fix spelling error 2016-12-11 19:24:40 +00:00
appveyor.yml Use VS2017RC beta image on appveyor 2016-12-16 17:11:26 +00:00
contributors.md Update contributors.md for pathfinding improvements. 2016-11-06 17:34:03 +01:00
licence.txt (test commit for travis please ignore) 2014-05-25 22:35:54 +02:00
openrct2.common.props Define ZIP_STATIC 2016-12-16 01:25:01 +00:00
openrct2.exe patch exe to remove DirectDraw, DirectInput and DirectPlay dependencies. 2015-08-18 21:32:21 +01:00
openrct2.proj Use DownloadDependency for libs and gtest 2016-12-17 00:21:03 +00:00
openrct2.sln Add test configurations 2016-12-02 02:49:50 +00:00
openrct2.targets Fix DownloadDependency task for VS2017 RC 2016-12-17 02:58:19 +00:00
openrct2.vcxproj Move addresses and hook into rct2 sub directory 2016-12-16 01:25:05 +00:00
readme.md Fix typo in msbuild command 2016-12-11 13:44:09 +00:00

readme.md

OpenRCT2

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 OpenRCT2.org
develop AppVeyor Travis CI OpenRCT2.org

Chat

English:
Gitter
Gitter
Nederlands:
Gitter

Contents

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 GOG.com.

OpenRCT2.org 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.

Some Linux distributions offer native packages already. 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 GOG.com.

Windows:

  • Vista / 7 / 8 / 10
  • Visual Studio 2015 Update 2+ (Enterprise / Professional / Community (Free))
  • 7-Zip (for deployment only)
  • NSIS (for deployment only)

macOS:

  • 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)

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

Windows:

  1. Check out the repository. This can be done using GitHub Desktop or other tools.
  2. Open a new Developer Command Prompt for VS2015, 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

macOS:

Xcode:

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.

CMake:

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 sdl2_ttf speex

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

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

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

Linux:

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

mkdir build
cd build
cmake ../
make

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.

5 Licence

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

6 More information