Rollercoaster tycoon
-
Just wanted to report that I got the latest version of openrct2 built on my rpi 4. Looks like we finally have a more recent version of cmake to work with. Performance using the software renderer with hardware display gets me about 40fps which is great! However I'm still getting the strange mouse/pointer issue. I reported it on GitHub, if that gets fixed I think this would be a great addition to RetroPie ports.
-
If anyone else who knows a bit more about compiling is able to test out openrct2 I would be interested to hear if they encounter the same issue with the mouse pointer. I watched a couple YouTube videos of people running openrct2 on their raspberry Pi's through a desktop environment and they didn't seem to have issues with the mouse pointer. I have tried running openrct2 through matchbox window manager but I don't know enough to figure out quite how to get it to work. It always tells me it cannot open the display.
-
So I got a little further with matchbox, I'm having issues though getting it to display the correct resolution and the screen sometimes flickers but the mouse cursor issue is resolved!
-
Had some issues where matchbox wanted to change res to 4k mode (this is why the game was just a small window). Even though I had my config.txt set to 1080p mode I had to block all 4k modes to get to display correctly. But game is running great now and I just finished my first park!
-
@quicksilver that is sweet, now i want to get my Pi4. lol
nice park btw
-
@ExarKunIv if the version of cmake has been updated in raspbian stretch I would think you could get this up and running on a pi 3 too.
-
@quicksilver well that would be cool. not that i would have a clue on how to find out what version of cmake is on the pi3 right now,
-
@ExarKunIv I'll give it a shot on my pi 3b+ and report back
-
This post is deleted! -
Awesome that you finally got it working. It must be because of the higher cmake version that the port requires. I can see this potentially becoming one of RetroPie's official source ports in future versions.
I wonder if it there are more tycoon games out there that has been ported. I just received Zoo Tycoon Complete Edition for free in my local neighborhood and that game works on Windows 10.
-
@tpo1990 said in Rollercoaster tycoon:
Awesome that you finally got it working. It must be because of the higher cmake version that the port requires. I can see this potentially becoming one of RetroPie's official source ports in future versions.
That would be really neat. Im new to all of this stuff and still learning so I'm not sure how to get it to run through runcommand or create a build script. Do you have any resources that you used to learn how to do that? You are kinda like the king of source ports around here. :) Also if at some point you decide to try to add openrct2 to RetroPie I would be glad to assist in anyway I can.
-
@ExarKunIv cmake in raspbian stretch repository is still stuck on version 3.7. I'm sure there is a way to build cmake from source but I don't think I'm going to mess with that right now. I would just get a pi 4 if I were you ;)
-
@quicksilver yea i was kinda thinking that, maybe for my birthday i get me a gift for my self. :)
-
@quicksilver To manually create a runcommand launch file there are some setup that you need to do first. You will need to create a config folder and a
emulators.cfg
file for the port and point it to the binary that you created/built with cmake in the source directory that you used. Then create the runcommand launch fileopenrtc2.sh
and point to the config folder.An example would be
- Create a config folder for the port named
openrtc2
ex: /opt/retropie/configs/ports/openrtc2 - Inside the config folder, create a
emulators.cfg
and edit the file with typing the correct path to the the openrtc2binary
in your source directory. - Create a runcommand launch file inside "/home/pi/RetroPie/roms/ports/"name it openrtc2 and edit the file with typing the correct path to the config folder.
The emulators.cfg file will look something like this:
openrtc2 = "/home/pi/Downloads/openrtc2/openrtc2" default = "openrtc2"
The runcommand launch file will look something like this:
#!/bin/bash "/opt/retropie/supplementary/runcommand/runcommand.sh" 0 _PORT_ "openrtc2"
If this doesn't work, you could also try by just only creating the runcommand launch file and make it look like this.
#!/bin/bash cd /home/pi/Downloads/openrtc2 ./openrtc2
It is quite possible to get it working on a Raspberry PI 3B/3B+ but it will require one to update the cmake version. I know it can be done since I once did it on my Raspberry Pi 3B. Unfortunately I don't remember precisely how I did it. I think I manually compiled the newer cmake version and then it worked with compiling the source port that i tried at the moment.
- Create a config folder for the port named
-
@tpo1990 said in Rollercoaster tycoon:
It is quite possible to get it working on a Raspberry PI 3B/3B+ but it will require one to update the cmake version. I know it can be done since I once did it on my Raspberry Pi 3B. Unfortunately I don't remember precisely how I did it.
Same here, I did have it running on my pi3 at one point but I don't remember the steps I took to get there. Thanks for all the great info, I'll look into this for sure. Learning this stuff is a ton of fun.
-
Great work I can't wait to play this. If only I had the slightest clue how to do what you've done.. I'd be on it by now 😂
If you ever feel the need to make an idiots guide and want an idiot to test it... Let me know 👍😂
-
@Jste84 I'll see about posting a step by step list of how to manually compile it for a pi 4. I'm not 100% sure that I'm doing everything correctly (even though it seems to be working) so it may be good to post if for some peer review as well.
-
@quicksilver if you do that I'll happily test
-
@quicksilver That is exactly my experience as well just with a different game/source port that I got running earlier on my Pi 3B. Even though it takes time to learn it all, once you have managed to get a better knowledge of understanding how Linux works with compiling and installing you will get the success of it and just feel great for what you have accomplished. ;-)
Just keep on the good work and eventually you will get there. :-)
Your welcome. I will gladly help you out as much as I can. Just let me know.
-
So here are the build instructions for anyone who is interested. This will get OpenRCT2 up and running on your pi 4 (im sure the game can be run on pi 3 as well but you'll need to manually compile a newer version of cmake). The game can be run without a window manager but performance is not as good and there is an issue with the mouse cursor. I will add instructions on how to run through matchbox-window-manager but I will need some peer review with that part because I dont think I have it working 100% correctly.
First step is to install needed dependencies:
sudo apt-get install --no-install-recommends -y cmake libsdl2-dev libicu-dev \ gcc pkg-config libjansson-dev libspeex-dev libspeexdsp-dev libcurl4-openssl-dev \ libcrypto++-dev libfontconfig1-dev libfreetype6-dev libpng-dev libssl-dev libzip-dev \ build-essential make
Next we need to get the source from the repository (change
master
todevelop
if you want bleeding edge version):git clone -b master --depth 1 --recursive https://github.com/OpenRCT2/OpenRCT2.git
Next, we need to compile (this may take a while):
cd OpenRCT2 mkdir build && cd build cmake ../ -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-Ofast -DNDEBUG -mcpu=cortex-a72" make -j4
Now run
make install
this will download required resources (json objects, title sequences) and installs openrct2 under /usr/local by default:make install
OpenRCT2 requires original game files to run, I installed RCT1 (optional) and RCT2 on my windows computer then copied the install directories to
/home/pi/RetroPie/roms/ports/
. Im not sure if there is a better way of doing it or if a different location for the files should be used but this method does work. On first boot of OpenRCT2 it will ask for the location of the game files, or you can input the location manually by editing the config.ini located at/home/pi/.config/OpenRCT2/
To start the game run
./openrct2
from the build directory.This section I need help on
Running the game without the window manager performance will not be as good and the mouse cursor has issues. So what I did was install matchbox window manager, xorg, and x11-xserver-utils:sudo apt-get install xorg matchbox-window-manager x11-xserver-utils
Then I run the game using this command:
xset -dpms s off s noblank matchbox-window-manager & startx /home/pi/OpenRCT2/build/openrct2
However I get an error saying that xset cannot open the display, but the game still boots (im assuming because of the startx command?) I had issues with the game automatically running in 4k mode so I had to force 4k mode off in my
/boot/config.txt/
I also noticed that when running the game this way that you cannot scroll the screen by moving your mouse to the edge of the screen, to work around this you can right click-hold and drag to move the screen around. Im hoping this is an issue because of something Im doing incorrectly (which I am sure I am). So if anyone who knows how all of this x server stuff works I would appreciate some pointers on getting this part to work right.Some pointers for performance: Once the game is up and running I lowered the display res via the ingame options to 720p and increased the window scale to 1.5. I also used "software (hardware display)" as the drawing engine because everything looks a bit clearer/sharper. Uncapping the framerate also makes for a smoother gameplay experience because the default FPS is capped at 40. Also make sure that the games config.ini has proper permissions otherwise changing settings in game wont persist between game sessions.
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.