Eine freie Open Source Portierung von RollerCoaster Tycoon 2. Sie basiert massiv auf Inhalten des Originalspiels und fühlt sich daher selbst für Liebhaber des Klassikers wie das Original an. Das Spiel selbst wurde in einer modernen Programmiersprache neu geschrieben, was es der Community leichter macht Inhalte hinzuzufügen oder bereits bestehende Inhalte zu verbessern. Auf der Homepage wird ein direkter Vergleich zu OpenTTD gestellt, was den zukünftigen Werdegang erahnen lässt. Zum Spielen sind die Originaldateien von RollerCoaster Tycoon 2 erforderlich, fertige Binaries werden von dem Entwickler direkt bereitgestellt.
Es wird sogar eine Twitch-Integration angeboten.
Installation
OpenRCT2
Man benötigt die Original-Dateien des Spiels RollerCoaster Tycoon 2. Neben den vielen Optionen zum Kauf der Daten besteht auch die Möglichkeit Dateien der frei zugänglichen Demo (siehe auch Rechts unter Downloads, Demo ist auf 1h beschränkt, aber nicht bei OpenRCT2) zu verwenden. Die Entwickler bitten allerdings darum das Spiel zu kaufen um Chris Sawyer für sein Machwerk auch weiterhin Tribut und Anerkennung zu zollen.
Binaries
Die Binaries könnt ihr fertig gebaut für Linux von der Webseite herunterladen. Entpackt dieses, beim Starten des Spiels öffnet sich dann ein Dialog, dort könnt ihr das eben angelegte und befüllte Verzeichnis angeben. Schon startet das Spiel.
Unter openSUSE Leap 42.2 mussten noch die beiden Pakete libzip und libjansson nachinstalliert werden, erstere brauchte noch einen Symlink von der Version 2 auf die vorhandene Version 4.
Inzwischen gibt es auf der Download-Seite auch ein AppImage für euch.
Spieldateien
Demo
Kopiert den Inhalt der Demo-Zip-Datei in ein eigenes Verzeichnis z.B. data-orig.
GOG
Ladet die Windows-Setup-Datei herunter. Erstellt dann in eurem OpenRCT2-Verzeichnis einen Ordner z.B. "data-orig". Wechselt in dieses Verzeichnis und entpackt das Windows-Setup mit innoextract über folgendes Kommando:
innoextract -L -e setup_rollercoaster_tycoon_2_triple_thrill_pack_2.01.043_\(17987\).exe
In dem Setup mussten dann noch die beiden neuen Unterverzeichnisse "data" in "Data", "scenarios" in "Scenarios" und "objdata" in "ObjData" umgebannt werden.
Selbst bauen
Vor dem ersten Start des Spiels müssen die originalen Spieldateien zu verlinken.
Hierzu öffnet man die Datei config.ini
unter $XDG_CONFIG_HOME/OpenRCT2/config.ini
(typischerweise ~/.config/OpenRCT2/config.ini
) bzw. legt diese dort an.
Dort hinein schreibt man die beiden folgenden Zeilen oder benennt die Datei aus dem Anhang um:
[general] game_path = "/euer/Pfad/zu/den/Spieldateien/" ^ Beispielsweise "/home/user/.wine/dosdevices/c:/GOG Games/RollerCoaster Tycoon 2 Triple Thrill Pack (German)/"
Arch Linux
Das aktuelle Entwicklerversion liegt im AUR und kann z.B. mit yay openrct2-git
installiert werden. Wer lieber Releases mag kann z. B. mit yay openrct2
auf die letzte Version zurückgreifen.
In beiden Fällen solltet Ihr den Anweisungen auf dem Bildschirm folgen.
Manuell
Das Programm selbst zu kompilieren (unter bspw. Ubuntu) ist ein im Vergleich schwieriger Prozess der viele Fallstricke aufweist. Zum einen fahren viele Benutzer bereits eine 64bit Distribution, für die Kompilierung werden aber explizit einige 32bit-dev Pakete benötigt. Zum anderen gibt es Probleme mit den 'curl'-Bibliotheken, was sich mit einem cmake-Zusatz aber umgehen lässt.
Vorbereitungen
Um selbst kompilieren zu können benötigt man mindestens
- SDL2, SDL2_ttf, speex, curl, openssl, jansson
Unter Ubuntu oder Debian lässt sich alles benötigte laut dieser Seite wie folgt installieren:
sudo dpkg --add-architecture i386 sudo apt-get update sudo apt-get install --no-install-recommends -y --force-yes cmake libsdl2-dev:i386 libsdl2-ttf-dev:i386 gcc-4.8 pkg-config:i386 g++-4.8-multilib gcc-4.8-multilib libjansson-dev:i386 libspeex-dev:i386 libspeexdsp-dev:i386 libcurl4-openssl-dev:i386 libcrypto++-dev:i386 wget https://launchpad.net/ubuntu/+archive/primary/+files/libjansson4_2.7-1ub... wget https://launchpad.net/ubuntu/+archive/primary/+files/libjansson-dev_2.7-... sudo dpkg -i libjansson4_2.7-1ubuntu1_i386.deb sudo dpkg -i libjansson-dev_2.7-1ubuntu1_i386.deb
Sind alle Notwendigkeiten gegeben, beschafft man sich die eigentlichen Quelldateien von der Github-Seite und entpackt diese an eine gewünschte Stelle.
Im Anschluss darf man sich mit dem build-prozess beschäftigen. Erstellt einen Ordner 'build' in eurem openRCT2-Ordner. In diesem navigiert ihr dann im Terminal und gebt die nachfolgenden Befehle ein.
rm -R CMakeFiles CMakeCache.txt cmake_install.cmake PKG_CONFIG_PATH=/usr/lib/i386-linux-gnu/pkgconfig/:$PKG_CONFIG_PATH cmake ../ make all g2
Problemfälle
/usr/include/features.h:374:25: fatal error: sys/cdefs.h: Datei oder Verzeichnis nicht gefunden
Sollte
/usr/include/features.h:374:25: fatal error: sys/cdefs.h: Datei oder Verzeichnis nicht gefunden
beim make-Prozess auftreten, lässt sich dies hoffentlich durch das Ausführen von
sudo apt-get install gcc-multilib
beheben.
src/cmdline.c:22:31: fatal error: argparse/argparse.h: Datei oder Verzeichnis nicht gefunden
Die folgende Fehlermeldung
~/OpenRCT2-develop/src/cmdline.c:22:31: fatal error: argparse/argparse.h: Datei oder Verzeichnis nicht gefunden
verschwand, nachdem die Zip-Datei orctlibs.zip heruntergeladen und der Inhalt des sich darin befindlichen Ordners local in den Ordner lib in den OpenRCT2 Ordner kopiert wurde. ( cp -r "$srcdir/local" lib
)
/usr/include/c++/4.8/exception:37:28: fatal error: bits/c++config.h: Datei oder Verzeichnis nicht gefunden
Die Meldung
/usr/include/c++/4.8/exception:37:28: fatal error: bits/c++config.h: Datei oder Verzeichnis nicht gefunden
wird vermutlich durch das fehlende Paket lib32stdc++-4.8-dev geworfen. Installiert dieses über den Paketmanager.
unter /usr/include/x86_64-linux-gnu/c++/4.8/32/bits/ sollte dann besagte c++config.h zu finden sein.
/usr/include/curl/curlrules.h:143:41: error: size of array ‘__curl_rule_01__’ is negative [CurlchkszEQ(long, CURL_SIZEOF_LONG)];
Stolpert man beim kompilieren über die folgenden Meldungen
/usr/include/curl/curlrules.h:143:41: error: size of array ‘__curl_rule_01__’ is negative [CurlchkszEQ(long, CURL_SIZEOF_LONG)]; /usr/include/curl/curlrules.h:153:53: error: size of array ‘__curl_rule_02__’ is negative [CurlchkszEQ(curl_off_t, CURL_SIZEOF_CURL_OFF_T)];
ist es am einfachsten cmake mit einem Parameter zu starten, welcher CURL aus dem Prozess ausschliesst.
cmake -DDISABLE_HTTP_TWITCH=On $restliche_cmake_optionen
collect2: error: ld returned 1 exit status
Falls im Terminal folgende Fehlermeldung auftaucht
[100%] Building C object CMakeFiles/openrct2.dir/lib/lodepng/lodepng.c.o Linking CXX executable openrct2 /usr/bin/ld: cannot find -lSDL2_ttf /usr/bin/ld: cannot find -lSDL2 /usr/bin/ld: cannot find -lspeexdsp collect2: error: ld returned 1 exit status
lässt sich dies durch einige simlinks für die betroffenen Komponenten korrigieren. Ein beispielhaftes Vorgehen würde so aussehen (je nach Distribution zu verändern):
sudo ln -s /usr/lib/i386-linux-gnu/libSDL2-2.0.so.0 /usr/lib/i386-linux-gnu/libSDL2.so sudo ln -s /usr/lib/i386-linux-gnu/libSDL2_ttf-2.0.so.0 /usr/lib/i386-linux-gnu/libSDL2_ttf.so sudo ln -s /usr/lib/i386-linux-gnu/libspeexdsp.so.1 /usr/lib/i386-linux-gnu/libspeexdsp.so
src/drawing/sprite.c:110 (gfx_load_g2)]: Unable to load g2 graphics
Bekommt man nun noch die Fehlermeldung, dass irgendwelche g2 Grafiken nicht gefunden werden,
FATAL[/home/michael/spiele/OpenRCT2-develop/src/drawing/sprite.c:110 (gfx_load_g2)]: Unable to load g2 graphics
führt man die nun vorliegende openrct2 wie folgt aus
./openrct2 sprite build data/g2.dat resources/g2/
Dann sollte/könnte/dürfte vielleicht gegebenenfalls eventuell unter Umständen das Spiel spielbar sein.
Trivia:
In einer 32bit Chroot-Umgebung / auf einer 32bit virtuellen Maschine traten die meisten der oben beschriebenen Probleme gar nicht erst auf.
Dedicated Server
Den Server könnt ihr im Spiel aus dem Menü heraus starten.
Zusätzlich gibt es die Möglichkeit den Server im Terminal laufen zu lassen:
openrct2 --headless --port 11753 ~/.config/OpenRCT2/save/Savegamename.sv6
- Anmelden oder Registrieren um Kommentare zu schreiben
- 10342 Aufrufe
Der Multiplayer-Modus ist noch die reinste de-sync Hölle, macht aber unheimlich Spaß.
Läuft auf älterer Hardware (Eee PC 1001, Intel Atom SingleC 1,6Ghz, 1GB RAM, IntelHD) sowie in virtuellen Maschinen (VirtualBox).
Feinstes Retro.