zslevi0
Posts: 3
Joined: Wed Nov 13, 2013 3:54 pm

Serious Sam: TSE

Thu Dec 21, 2017 10:45 am

Hey Everyone,

I've seen somewhere a video of someone playing Serious Sam on an RPi 3, which was one of my favourite childhood games, so I thought I'd give it a try too. Croteam published the source code of their first Serious Engine, someone modified it to make it work on Linux, then ptitseb modified it to run well on ARM code (mainly for Open Pandora).
I compiled and tested it, and it is working amazingly well, on 1024x600 on Quality settings it runs between 40-60 fps, which is enough for an enjoyable gameplay. I thought I'd share how I got it to work since this is currently the best game on RPi in my opinion.

I used this version: https://github.com/ptitSeb/Serious-Engine

Prerequisites:
- Raspberry Pi 3
- Raspbian Stretch (latest)
- Original Serious Sam game files (I have the original CD and copied the files from it.)
- Network connection
Installing:
- Install raspbian on a microSD card then start your RPi.
- Update your system:

Code: Select all

sudo apt update
sudo apt upgrade
- Update the firmware:

Code: Select all

sudo rpi-update
- Select proper OpenGL driver & set GPU memory to 128M:

Code: Select all

sudo raspi-config
Advanced Options --> Memory Split --> 128
Advanced Options --> GL driver -> GL (Full KMS)
Reboot when finished.
- Install the necessary dependencies:

Code: Select all

sudo apt install flex bison cmake libvorbis-dev libogg-dev libsdl2-dev
- Download the engine:

Code: Select all

git clone https://github.com/ptitSeb/Serious-Engine.git
- Then go to Serious-Engine/Sources directory
- Edit build-linux64.sh file, and comment out the first two lines of code and add NCPU=5 like this:

Code: Select all

#NCPU=`cat /proc/cpuinfo |grep vendor_id |wc -l`
#let NCPU=$NCPU+2
NCPU=5
- Set the flag to Release in build-linux64.sh then save. IT IS IMPORTANT! If you do not set it to Release then the average fps will be half of what it should be.
- Just type in the following and wait to finish:

Code: Select all

./build-linux64.sh
- After the compilation finished, copy executables and libs:

Code: Select all

cp cmake-build/ssam ../Bin/
cp cmake-build/Debug/* ../Bin/Debug/
- Copy original game files into Serious-Engine directory (*.gro files, Levels, Demos etc.)

That is it, now you can start the game from Serious-Engine directory using this command:

Code: Select all

Bin/ssam
Here's a video of the first run: https://www.youtube.com/watch?v=MDKdhcvZ4Ec

First Ecnounter also works, you just need to use -DTFE=True flag in build-linux64.sh file.
Please keep in mind that the game has some issues, e.g. NETRICSA/Menu Animation is not working properly, some rendering glitches, missing graphical effects.
Last edited by zslevi0 on Wed Jan 03, 2018 9:23 am, edited 1 time in total.

ptitSeb
Posts: 136
Joined: Tue May 19, 2015 2:49 pm

Re: Serious Sam: TSE

Fri Dec 22, 2017 1:07 pm

Nice tuto.

I was wondering what was wrong with latest code that broke RPi build, but I think I found it. If you can try with latest sources code from the github repo :)

Also, sliglty chnages the build-linux64.sh so you can pass the "-DTFE=true" to it.

About the graphical glitches, I'm surprised. On the Pandora (and ODroid IIRC), I don't have any graphical glitches now. It's all working correctly. So maybe this is linked to the OpenGL driver? If you can try using GLES driver (closed sources?) and with gl4es and see if you still have graphical issue with this configuration.

zslevi0
Posts: 3
Joined: Wed Nov 13, 2013 3:54 pm

Re: Serious Sam: TSE

Wed Dec 27, 2017 9:58 pm

ptitSeb wrote:
Fri Dec 22, 2017 1:07 pm
Nice tuto.

I was wondering what was wrong with latest code that broke RPi build, but I think I found it. If you can try with latest sources code from the github repo :)

Also, sliglty chnages the build-linux64.sh so you can pass the "-DTFE=true" to it.

About the graphical glitches, I'm surprised. On the Pandora (and ODroid IIRC), I don't have any graphical glitches now. It's all working correctly. So maybe this is linked to the OpenGL driver? If you can try using GLES driver (closed sources?) and with gl4es and see if you still have graphical issue with this configuration.
Ohh, thank you for having a look at it :) I will try it in the following days and post the results.

salvaliebana
Posts: 26
Joined: Wed Sep 13, 2017 3:27 am

Re: Serious Sam: TSE

Fri May 18, 2018 2:36 am

what do you mean with "set the flag to release"??

Return to “Gaming”

Who is online

Users browsing this forum: No registered users and 14 guests