Jump to content

OpenRCT2

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by TheCoffeeCoder (talk | contribs) at 19:14, 29 June 2017 (Vandalism - Undid revision 788145660 by Izno (talk)). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

OpenRCT2
Original author(s)Ted John
Developer(s)OpenRCT2 Team
Initial release7 December 2014; 9 years ago (2014-12-07)
Stable release
0.0.7 / 3 May 2017; 7 years ago (2017-05-03)[1]
Repositoryhttps://github.com/OpenRCT2/OpenRCT2/
Written inC, C++
Operating system
PlatformIA-32, x64, ARM
Available in20 languages (some incomplete)
List of languages
ca-ES cs-CZ de-DE en-GB en-US es-ES fi-FI fr-FR hu-HU it-IT ja-JP ko-KR nb-NO nl-NL pl-PL pt-BR ru-RU sv-SE zh-CN zh-TW
TypeConstruction and management simulation
LicenseGNU GPLv3
Websitehttps://openrct2.website

OpenRCT2 is a construction and management simulation computer game that simulates amusement park management. It is an open source re-implementation and expansion of the 2002 Chris Sawyer video game RollerCoaster Tycoon 2.[2]

OpenRCT2 replicates all the features of RollerCoaster Tycoon 2 (RCT2) and includes a number of enhancements, including improved compatibility and ports for modern operating systems, multiplayer mode, additional translations, user interface improvements and the reintroduction of some features dropped from the earlier RollerCoaster Tycoon including backwards compatibility for its scenarios and saved games[3]. Although OpenRCT2 does not share any code with RollerCoaster Tycoon 2, it currently requires the original audio and graphics files for it to be played[4], until they are replaced with royalty free equivalents.[5].

OpenRCT2 is free and open-source software licensed under the GNU General Public License version 3.0.[6] and is under continuous development on GitHub.

History

Initial experiments were first conducted in 2013 by Ted John (IntelOrca), who inspired by OpenTTD (a clone of Transport Tycoon) wanted to start an equivalent project for RollerCoaster Tycoon 2.[7] In order to create an accurate clone of RollerCoaster Tycoon 2, the game was incrementally written in platform independent C[8] by reverse engineering the disassembly and calling back into the original game's binary for procedures that had not yet been written. This allowed OpenRCT2 to be completely playable from the beginning while also allowing additional functionality to be implemented prior to the finished goal of a full implementation in C.[7]

The OpenRCT2 project was officially launched on GitHub in April 2014.[7] Its initial release allowed the game to be played in a window (using SDL2) which was not previously possible [9]. Following its launch the positive public reaction on social media prompted many more developers to contribute.[7] The stated goal of the project is to run RollerCoaster Tycoon 2 on modern operating systems, fix bugs and to provide additional features including translations, support for macOS and Linux, support for higher resolutions, the ability to increase simulation speed, and online multiplayer functionality. The project is hosted as GPLv3 licensed open-source software on GitHub. [10][11]

From October 15, 2016, OpenRCT2 no longer called any code from RollerCoaster Tycoon 2 and could be played as a completely independent binary[12]. However, the graphics and other resources for RollerCoaster Tycoon 2 are still required.[13]

Gameplay

OpenRCT2 gameplay is very similar to RollerCoaster Tycoon and its sequels. The player must build and maintain an amusement park in order to achieve a specific goal depending on the scenario being played. The objective is commonly to attract a specific number of guests into the park whilst maintaining a good park rating. OpenRCT2 can be played in two modes; scenario and sandbox. 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.[2]

Multiplayer

File:OpenRCT2 multiplayer.png
A screenshot of a multiplayer game in OpenRCT2

OpenRCT2 supports multiplayer (a feature not present in RollerCoaster Tycoon 2), where players can cooperatively build a shared park. A player can host a server which allows other players to join. Moderation of servers can be achieved by the host applying different permissions to each player such as construction, removal of rides, applying cheats or kicking other players to help reduce griefing. Servers can also be password protected so that only trusted players can join.[14]

Several communities exist which administrate one or more multiplayer servers with different rules and playing styles.[15] For example Tycoon Paradise requires players to submit screenshots of their park creation which then must be approved in order to become a member and play on their servers. This is done as a means of ensuring good quality park-making.

Platforms

In contrast to RollerCoaster Tycoon 2, OpenRCT2 can be compiled on many different platforms. Simple DirectMedia Library 2 (SDL2) is used to provide the video, sound, input and music for the game. This is however not needed for headless servers which can run as a standalone console application. The officially supported and tested operating systems are:

Unofficially supported operating systems include: Fedora[16], OpenBSD[17] and OpenSUSE[18].

Research

OpenRCT2 has been the subject of research projects, experiments and surveys.

Procedural roller coaster generation

Kevin Burke presented a talk about procedurally generating roller coasters using genetic algorithms for RollerCoaster Tycoon 2 at OSCON, 2015[19] and Twilio SIGNAL 2016[20] respectively. In order to conduct his research, Kevin needed technical information about the data structures RCT2 used for its track layouts and he collaborated with the OpenRCT2 developers to understand its roller coaster construction code. This not only helped further OpenRCT2's progress but also informed his study and allowed tracks generated from the Go program (used to write the algorithm) to be imported into both RCT2 and OpenRCT2.

Kevin's work was later followed up by William Leland in July 2017 as an academic research project to determine whether the excitement of roller coasters (determined by the game's ranking logic) could be improved by computer generation of tracks using genetic algorithms.[21]

Real-time lighting

OpenRCT2 with real-time lighting
Screenshots of real-time lighting in OpenRCT2.

In June 2016, an experiment was carried out to add real-time lighting to the game in order to simulate a night time mode where the park is lit up by lights from lamps and vehicles. Whilst the game still renders 8-bit graphics, the modification blended the 8-bit surface with another 32-bit surface containing light glows which was calculated on the fly on a separate thread.[22] The performance of the game dropped due to the light occlusion and blending being software bound. There were also a number of side effects including the light showing over the top of the game's internal windows. The modified version of OpenRCT2 was published and very well received, being praised as "beautiful" and making RCT2 look visually better.[23][24]

Survey

In July 2016, a survey was conducted by the OpenRCT2 team to collect player demographics and opinions on what players liked or disliked in RCT2, OpenRCT2 and what they would like to see added to the game. Answers from over 1000 players were collected over a period of two weeks with the results and an analysis by Ted John posted on Reddit on July 17 2016. The survey showed that approximately 76% of the players that answered the survey had played OpenRCT2 and that 61% of all participants discovered the project via Reddit. It also showed that of the participants that had played OpenRCT2, almost 32% of them stated that their favourite feature was the ability to play the game in a window and or at any resolution. 22% of players said their favourite feature was multiplayer and another 22% said they they their favourite was the improved interface.[25]

Reception and impact

See also

References

  1. ^ "OpenRCT2". Releases. Retrieved 2017-06-27.
  2. ^ a b "OpenRCT2: An open source re-implementation of RollerCoaster Tycoon 2". OpenRCT2. Retrieved 2017-06-27.
  3. ^ "OpenRCT2". OpenRCT2. Retrieved 2017-06-27. OpenRCT2 attempts to provide everything from RCT2 as well as many improvements...
  4. ^ "OpenRCT2 project". OpenRCT2.org. Retrieved 2017-06-27. An installation of RollerCoaster Tycoon 2 is required in order to play.
  5. ^ liamdawe (25 April 2017). "OpenRCT2, an open source game engine for RollerCoaster Tycoon 2". GamingOnLinux. Retrieved 2017-06-27. The developers have stated they do plan a set of free assets for use {{cite news}}: Cite has empty unknown parameter: |dead-url= (help)
  6. ^ "OpenRCT2". OpenRCT2. Retrieved 2017-06-27. OpenRCT2 is licensed under the GNU General Public License version 3.
  7. ^ a b c d Hi I'm Mike Gaming (2015-06-06). "OpenRCT2 Podcast - Episode 1" (Podcast). Retrieved 2017-06-27.
  8. ^ Gijs Scheltens (12 June 2015). "Open source-project moderniseert RollerCoaster Tycoon 2". gamer.nl. Retrieved 2017-04-04.
  9. ^ John, Ted (April 14, 2014). "More info on the project? · Issue #1 · OpenRCT2/OpenRCT2". GitHub. Retrieved 2017-06-27. Currently the game runs and renders in an SDL2 window which can be resized freely.
  10. ^ "OpenRCT2 project - Open-Source adaption of RollerCoaster Tycoon 2, gets a beta release". indieretronews.com. September 8, 2015. Retrieved 2015-11-15. I'm sure many of you remember the awesome game that is RollerCoaster Tycoon 2; a game by Chris Sawyer and published by Infograms in which you manage your very own theme park, with all it's rides, shops, guests and economic fortune. Well that same game is now being given a much needed adjustment with the latest release of OpenRCT2 Project. An open source development which improves the game even further with new features, original bug fixes, raised game limits and much more! [...] Development of OpenRCT2 started on April 2nd 2014 by Ted 'IntelOrca' John and thanks to numerous contributions from others
  11. ^ "OpenRCT2". GitHub. Retrieved 2015-11-15.
  12. ^ "[OpenRCT2] No longer uses any code from the original game - Congratulations to everyone involved! • /r/rct". reddit. Retrieved 2016-10-23.
  13. ^ "OpenRCT2 | changelog". OpenRCT2. Retrieved 2017-06-27. This is the first fully implemented version of OpenRCT2. RCT2.EXE is no longer required. {{cite web}}: Cite has empty unknown parameters: |1= and |dead-url= (help)
  14. ^ OpenRCT2 | Multiplayer, OpenRCT2, 2017-06-27, retrieved 2017-06-27
  15. ^ Hi I'm Mike Gaming (2015-12-07). "OpenRCT2 Podcast - Episode 3" (Podcast). Retrieved 2017-06-27.
  16. ^ "vurpo/openrct2 Copr". copr.fedorainfracloud.org. Retrieved 2017-06-27. {{cite web}}: Cite has empty unknown parameter: |dead-url= (help)
  17. ^ "Add OpenBSD support. by ibara · Pull Request #5706 · OpenRCT2/OpenRCT2". GitHub. Retrieved 2017-06-27.
  18. ^ "software.opensuse.org". software.opensuse.org. Retrieved 2017-06-27. {{cite web}}: Cite has empty unknown parameter: |dead-url= (help)
  19. ^ Burke, Kevin (2016-07-01). Hacking Roller Coaster Tycoon. OSCON. Portland, OR. Retrieved 2017-06-27.
  20. ^ Burke, Kevin (2015-08-13). Hacking Roller Coaster Tycoon with Genetic Algorithms and Go - Kevin Burke. Twilio SIGNAL. San Francisco. Retrieved 2017-06-27.
  21. ^ LELAND, Joshua William (June 2017). "Complex Data Structures with Genetic Algorithms: Can a Computer make Exciting Rollercoasters in Rollercoaster Tycoon 2?". Discovery, Invention & Application. Retrieved 2017-06-27. {{cite journal}}: Cite has empty unknown parameter: |first name 1= (help)
  22. ^ JeroenDStout (June 2, 2016). "Expanded rendering - light fx". GitHub. Retrieved 2017-06-27.
  23. ^ "[OpenRCT2 mod] Experiments with real-time light in night-time OpenRCT2". Reddit. May 31, 2016. Retrieved 2017-06-27.
  24. ^ "OpenRCT2 - Open Source RollerCoaster Tycoon, teased with dynamic lighting!". www.indieretronews.com. 2016-06-02. Retrieved 2017-06-27.
  25. ^ John, Ted (July 17, 2016). "OpenRCT2 Survey Results". Reddit. Retrieved 2017-06-27.