• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

.github/H21-Nov-2021-493482

.vscode/H21-Nov-2021-137136

cmake/H21-Nov-2021-487423

data/H21-Nov-2021-252193

debian/H07-May-2022-207187

distribution/H03-May-2022-4,3282,822

resources/H21-Nov-2021-11,83711,798

scripts/H21-Nov-2021-1,024763

src/H21-Nov-2021-603,127525,718

test/H21-Nov-2021-30,80528,375

.clang-formatH A D21-Nov-20212.7 KiB9897

.codecov.ymlH A D21-Nov-202113 21

.commitlint.jsonH A D21-Nov-20211 KiB6867

.dockerignoreH A D21-Nov-202122 54

.editorconfigH A D21-Nov-2021172 129

.gitattributesH A D21-Nov-2021545 2622

.gitignoreH A D21-Nov-20213.8 KiB312248

CMakeSettings.jsonH A D21-Nov-2021553 2222

CONTRIBUTING.mdH A D21-Nov-20212.7 KiB5040

OpenRCT2.entitlementsH A D21-Nov-2021181 65

contributors.mdH A D21-Nov-202110.3 KiB245230

openrct2.common.propsH A D21-Nov-20216.9 KiB12393

openrct2.projH A D21-Nov-20217.9 KiB153118

openrct2.slnH A D21-Nov-20215.9 KiB9795

openrct2.targetsH A D21-Nov-202112.2 KiB331303

readme.mdH A D21-Nov-202114.8 KiB235172

shell.nixH A D21-Nov-20211.5 KiB7164

readme.md

1# OpenRCT2
2An open-source re-implementation of RollerCoaster Tycoon 2. A construction and management simulation video game that simulates amusement park management.
3
4---
5
6![OpenRCT2.org Group Park 5](https://i.imgur.com/e7CK5Sc.png)
7
8---
9
10### Download
11| Latest release | Latest development build |
12|----------------|--------------------------|
13| [![OpenRCT2.org](https://img.shields.io/badge/master-v0.3.5.1-green.svg)](https://openrct2.org/downloads/master/latest) | [![OpenRCT2.org](https://img.shields.io/badge/develop-v0.3.5.1-blue.svg)](https://openrct2.org/downloads/develop/latest) |
14
15---
16
17### Chat
18Chat takes place on Discord. You will need to create a Discord account if you don't yet have one.
19
20If you want to help *make* the game, join the developer channel.
21
22If 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.
23
24If you want to help translate the game to your language, please stop by the Localisation channel.
25
26| Language | Non Developer | Developer | Localisation |
27|----------|---------------|-----------|--------------|
28| English | [![Discord](https://img.shields.io/badge/discord-general-blue.svg)](https://discord.gg/ZXZd8D8) | [![Discord](https://img.shields.io/badge/discord-development-yellowgreen.svg)](https://discord.gg/fsEwSWs) | [![Discord](https://img.shields.io/badge/discord-localisation-green.svg)](https://discord.gg/sxnrvX9) |
29| Nederlands | [![Discord](https://img.shields.io/badge/discord-general-blue.svg)](https://discord.gg/cQYSXzW) | | |
30
31---
32
33# Contents
34- 1 - [Introduction](#1-introduction)
35- 2 - [Downloading the game (pre-built)](#2-downloading-the-game-pre-built)
36- 3 - [Building the game](#3-building-the-game)
37  - 3.1 - [Building prerequisites](#31-building-prerequisites)
38  - 3.2 - [Compiling and running](#32-compiling-and-running)
39- 4 - [Contributing](#4-contributing)
40  - 4.1 - [Bug fixes](#41-bug-fixes)
41  - 4.2 - [New features](#42-new-features)
42  - 4.3 - [Translation](#43-translation)
43  - 4.4 - [Graphics](#44-graphics)
44  - 4.5 - [Audio](#45-audio)
45  - 4.6 - [Scenarios](#46-scenarios)
46- 5 - [Licence](#5-licence)
47- 6 - [More information](#6-more-information)
48- 7 - [Sponsors](#7-sponsors)
49
50---
51
52# 1. Introduction
53
54**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.
55
56RollerCoaster 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](https://openttd.org). 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.
57
58---
59
60# 2. Downloading the game (pre-built)
61
62OpenRCT2 requires original files of RollerCoaster Tycoon 2 to play. It can be bought at either [Steam](https://store.steampowered.com/app/285330/) or [GOG.com](https://www.gog.com/game/rollercoaster_tycoon_2). If you have the original RollerCoaster Tycoon and its expansion packs, you can [point OpenRCT2 to these](https://github.com/OpenRCT2/OpenRCT2/wiki/Loading-RCT1-scenarios-and-data) in order to play the original scenarios.
63
64[OpenRCT2.org](https://openrct2.org/downloads) offers precompiled builds and installers of the latest master and the develop branch. There is also a cross platform [Launcher](https://github.com/LRFLEW/OpenRCT2Launcher/releases) available that will automatically update your build of the game so that you always have the latest version.
65
66[Flathub](https://flathub.org/) offers flatpaks for Linux distributions that support this application distribution system:
67* [Latest stable release](https://flathub.org/repo/appstream/io.openrct2.OpenRCT2.flatpakref)
68* [Latest development build](https://flathub.org/beta-repo/appstream/io.openrct2.OpenRCT2.flatpakref)
69
70Some Linux distributions offer native packages already. These packages are usually third-party, but we're trying to resolve issues they are facing.
71* ArchLinux: [openrct2-git](https://aur.archlinux.org/packages/openrct2-git) (AUR) and [openrct2](https://archlinux.org/packages/community/x86_64/openrct2/) (Community)
72* Ubuntu PPA: [`develop` branch](https://launchpad.net/~openrct2/+archive/ubuntu/nightly) (nightly builds)
73* openSUSE OBS: [games/openrct2](https://software.opensuse.org/download.html?project=games&package=openrct2)
74* Gentoo (main portage tree): [games-simulation/openrct2](https://packages.gentoo.org/packages/games-simulation/openrct2)
75* NixOS (`nixos-unstable` channel): [openrct2](https://github.com/NixOS/nixpkgs/blob/master/pkgs/games/openrct2/default.nix)
76* Fedora 28 i386/amd64: [openrct2](https://copr.fedorainfracloud.org/coprs/nauticalnexus/openrct2/)
77
78Some \*BSD operating systems offer native packages. These packages are usually third-party, but we're trying to resolve issues they are facing.
79* FreeBSD: [games/openrct2](https://www.freshports.org/games/openrct2)
80* OpenBSD: [games/openrct2](https://openports.se/games/openrct2)
81
82---
83
84# 3. Building the game
85
86## 3.1 Building prerequisites
87
88OpenRCT2 requires original files of RollerCoaster Tycoon 2 to play. It can be bought at either [Steam](https://store.steampowered.com/app/285330/) or [GOG.com](https://www.gog.com/game/rollercoaster_tycoon_2).
89
90### Windows:
91- Visual Studio 2019 (Enterprise / Professional / [Community (Free)](https://www.visualstudio.com/vs/community/))
92  - Desktop development with C++
93
94### macOS:
95- Xcode Command Line Tools
96- [Homebrew](https://brew.sh)
97- CMake (available through Homebrew)
98
99
100### Linux:
101- sdl2 (only for UI client)
102- freetype (can be disabled)
103- fontconfig (can be disabled)
104- libzip (>= 1.0)
105- libpng (>= 1.2)
106- speexdsp (only for UI client)
107- curl (only if building with http support)
108- nlohmann-json (>= 3.6.0)
109- openssl (>= 1.0; only if building with multiplayer support)
110- icu (>= 59.0)
111- zlib
112- gl (commonly provided by Mesa or GPU vendors; only for UI client, can be disabled)
113- duktape (unless scripting is disabled)
114- cmake
115- innoextract (optional runtime dependency; used for GOG installer extraction during setup)
116
117Refer to https://github.com/OpenRCT2/OpenRCT2/wiki/Building-OpenRCT2-on-Linux#required-packages-general for more information about installing the packages.
118
119---
120
121## 3.2 Compiling and running
122### Windows:
1231. Check out the repository. This can be done using [GitHub Desktop](https://desktop.github.com) or [other tools](https://help.github.com/articles/which-remote-url-should-i-use).
1242. Open a new Developer Command Prompt for VS 2019, then navigate to the repository (e.g. `cd C:\GitHub\OpenRCT2`).
1253. To build the 64-bit version, use `msbuild openrct2.proj /t:build /p:platform=x64`.
126
127   To build the 32-bit version, use `msbuild openrct2.proj /t:build /p:platform=Win32`.
1284. Run the game, `bin\openrct2`
129
130Once you have ran msbuild once, further development can be done within Visual Studio by opening `openrct2.sln`. Make sure to select the correct target platform for which you ran the build in point #3 (`Win32` for the 32-bit version, `x64` for the 64-bit version), otherwise the build will fail in Visual Studio.
131
132Other examples:
133```
134set platform=x64
135msbuild openrct2.proj /t:clean
136msbuild openrct2.proj /t:rebuild /p:configuration=release
137msbuild openrct2.proj /t:g2
138msbuild openrct2.proj /t:PublishPortable
139```
140
141### macOS:
142#### CMake:
143The recommended way of building OpenRCT2 for macOS is with CMake. CMake can build either a self-contained application bundles which include all the necessary game files and dependencies, or it can build a command line version that links against system installed dependencies. CMake will retrieve the dependences from [Dependencies](https://github.com/OpenRCT2/Dependencies/) automatically. You can build the macOS app using CMake using the following commands:
144```
145mkdir build
146cd build
147cmake ..
148make install
149```
150Then you can run the game by opening `OpenRCT2.app`
151
152To build the command line version, you'll need to disable the macOS app bundle:
153```
154mkdir build
155cd build
156cmake .. -DMACOS_BUNDLE=off
157make
158ln -s ../data data
159```
160Then you can run the game by running `./openrct2`.
161
162To link against system dependencies instead of letting CMake download the dependencies from [Dependencies](https://github.com/OpenRCT2/Dependencies), add `-DMACOS_USE_DEPENDENCIES=off` to your cmake args.
163
164Detailed instructions can be found on [Building OpenRCT2 on macOS using CMake](https://github.com/OpenRCT2/OpenRCT2/wiki/Building-OpenRCT2-on-macOS-using-CMake).
165
166### Linux:
167The standard CMake build procedure is to install the [required libraries](https://github.com/OpenRCT2/OpenRCT2#linux), then:
168```
169mkdir build
170cd build
171cmake ../ # set your standard cmake options, e.g. build type here - For example, -DCMAKE_BUILD_TYPE=RelWithDebInfo
172make # you can parallelise your build job with e.g. -j8 or consider using ninja
173DESTDIR=. make install # the install target creates all the necessary files in places we expect them
174```
175
176You can also use Ninja in place of Make, if you prefer, see Wiki for details.
177
178Detailed instructions can be found on [Building OpenRCT2 on Linux](https://github.com/OpenRCT2/OpenRCT2/wiki/Building-OpenRCT2-on-Linux).
179
180---
181
182# 4. Contributing
183OpenRCT2 uses the [gitflow workflow](https://www.atlassian.com/git/tutorials/comparing-workflows#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.
184
185Please read our [contributing guidelines](https://github.com/OpenRCT2/OpenRCT2/blob/develop/CONTRIBUTING.md) for information.
186
187## 4.1 Bug fixes
188A list of bugs can be found on the [issue tracker](https://github.com/OpenRCT2/OpenRCT2/issues). 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.
189
190## 4.2 New features
191Please talk to the OpenRCT2 team first before starting to develop a new feature. We may already have plans for or reasons against something that you'd like to work on. Therefore contacting us will allow us to help you or prevent you from wasting any time. You can talk to us via Discord, see links at the top of this page.
192
193## 4.3 Translation
194You can translate the game into other languages by editing the language files in ```data/language``` directory. Please join discussions in the [#localisation channel on Discord](https://discordapp.com/invite/sxnrvX9) and submit pull requests to [OpenRCT2/Localisation](https://github.com/OpenRCT2/Localisation).
195
196## 4.4 Graphics
197You can help create new graphics for the game by visiting the [OpenGraphics project](https://github.com/OpenRCT2/OpenGraphics). 3D modellers needed!
198
199## 4.5 Audio
200You can help create the music and sound effects for the game. Check out the OpenMusic repository and drop by our [#open-sound-and-music channel on Discord](https://discord.gg/9y8WbcX) to find out more.
201
202## 4.6 Scenarios
203We would also like to distribute additional scenarios with the game, when the time comes. For that, we need talented scenario makers! Check out the [OpenScenarios repository](https://github.com/PFCKrutonium/OpenRCT2-OpenScenarios).
204
205---
206
207# 5. Licence
208**OpenRCT2** is licensed under the GNU General Public License version 3.
209
210---
211
212# 6. More information
213- [GitHub](https://github.com/OpenRCT2/OpenRCT2)
214- [OpenRCT2.org](https://openrct2.org)
215- [Forums](https://openrct2.org/forums/)
216- [Facebook](https://www.facebook.com/OpenRCT2)
217- [RCT subreddit](https://www.reddit.com/r/rct/)
218- [OpenRCT2 subreddit](https://www.reddit.com/r/openrct2/)
219
220## Similar Projects
221
222| [OpenLoco](https://github.com/OpenLoco/OpenLoco) | [OpenTTD](https://github.com/OpenTTD/OpenTTD) | [openage](https://github.com/SFTtech/openage) | [OpenRA](https://github.com/OpenRA/OpenRA) |
223|:------------------------------------------------:|:----------------------------------------------------------------------------------------------------------:|:-------------------------------------------------------------------------------------------------------:|:-------------------------------------------------------------------------------------------------------------:|
224| [![icon_x128](https://user-images.githubusercontent.com/604665/53047651-2c533c00-3493-11e9-911a-1a3540fc1156.png)](https://github.com/OpenLoco/OpenLoco) | [![](https://github.com/OpenTTD/OpenTTD/raw/850d05d24d4768c81d97765204ef2a487dd4972c/media/openttd.128.png)](https://github.com/OpenTTD/OpenTTD) | [![](https://user-images.githubusercontent.com/550290/36507534-4693f354-175a-11e8-93a7-faa0481474fb.png)](https://github.com/SFTtech/openage) | [![](https://raw.githubusercontent.com/OpenRA/OpenRA/bleed/packaging/artwork/ra_128x128.png)](https://github.com/OpenRA/OpenRA) |
225| Chris Sawyer's Locomotion | Transport Tycoon Deluxe | Age of Empires 2 | Red Alert |
226
227# 7. Sponsors
228
229Companies that kindly allow us to use their stuff:
230
231| [DigitalOcean](https://www.digitalocean.com/) | [JetBrains](https://www.jetbrains.com/) | [Backtrace](https://backtrace.io/) |
232|-------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------|
233| [![do_logo_vertical_blue svg](https://user-images.githubusercontent.com/550290/36508276-8b572f0e-175c-11e8-8622-9febbce756b2.png)](https://www.digitalocean.com/) | [![jetbrains](https://user-images.githubusercontent.com/550290/36413299-0e0985ea-161e-11e8-8a01-3ef523b5905b.png)](https://www.jetbrains.com/) | [![backtrace](https://user-images.githubusercontent.com/550290/47113259-d0647680-d258-11e8-97c3-1a2c6bde6d11.png)](https://backtrace.io/) |
234| Hosting of various services | CLion and other products | Minidump uploads and inspection |
235