SkillAgentSearch skills...

SeriousSamClassic

Open source game engine version developed by Croteam for Serious Sam Classic (Windows, Linux, FreeBSD, OpenBSD, NetBSD, macOS, Raspberry Pi OS). Based on https://github.com/Croteam-official/Serious-Engine and linux port https://github.com/icculus/Serious-Engine

Install / Use

/learn @tx00100xt/SeriousSamClassic

README

Serious Sam Classic

Build status License: GPL v2 GitHub release (latest by date) Github downloads

This is the source code for Serious Engine v.1.10, including the following projects:

  • DedicatedServer
  • Ecc The Entity Class Compiler, a custom build tool used to compile *.es files
  • Engine Serious Engine 1.10
  • EngineGUI Common GUI things for game tools
  • EntitiesMP All the entity logic
  • GameGUIMP Common GUI things for game tools
  • GameMP All the game logic
  • Modeler Serious Modeler
  • RCon Used to connect to servers using an admin password
  • SeriousSam The main game executable
  • SeriousSkaStudio Serious Ska Studio
  • WorldEditor Serious Editor
  • DecodeReport Used to decode crash *.rpt files
  • Depend Used to build a list of dependency files based on a list of root files
  • LWSkaExporter Exporter for use in LightWave
  • MakeFONT Used for generating *.fnt files
  • TexConv Used for converting *.tex files to *.tga images
  • Shaders Compiled shaders
  • GameAgent The serverlist masterserver written in Python
  • libogg, libvorbis Third party libraries used for playing OGG-encoded ingame music (see http://www.vorbis.com/ for more information)

Building

More detailed information about building the game for different operating systems and different platforms can be found on the SeriousSamClassic wiki.

There are still many asserts in the engine. Most of them are irrelevant and should be removed, but while it's not done, the asserts will effectively kill the engine when triggered in the Debug build. Use Release or RelWithDebInfo build if you intend to play (automatically set as RelWithDebInfo in the build scripts).

Linux

Setting up the repository

Type this in your terminal:

git clone https://github.com/tx00100xt/SeriousSamClassic.git

Copy official game data (optional)

If you have access to a copy of the game (either by CD or through Steam), you can copy the *.gro files from the game directory to the repository. (SeriousSamClassic/SamTFE is the directory of the game Serious Sam Classic The First Encounter, SeriousSamClassic/SamTSE is the directory of the game Serious Sam Classic The Second Encounter)

Building (for SS:TFE and SS:TSE)

Type this in your terminal:

cd SeriousSamClassic
mkdir build
cd build
cmake ..
make -j4
make install

If you prefer ninja, then add key -GNinja to the cmake. And replace the make command with ninja.

Ubuntu

Instead of building you can install packages from ppa by adding ppa:tx00100xt/serioussam to your system's Software Sources.

sudo add-apt-repository ppa:tx00100xt/serioussamclassic
sudo apt update

This PPA can be added to your system manually by copying the lines below and adding them to your system's software sources.

deb https://ppa.launchpadcontent.net/tx00100xt/serioussamclassic/ubuntu YOUR_UBUNTU_VERSION_HERE main 
deb-src https://ppa.launchpadcontent.net/tx00100xt/serioussamclassic/ubuntu YOUR_UBUNTU_VERSION_HERE main  

After adding ppa, run the commands:

sudo apt install serioussamclassic serioussamclassic-xplus

Gentoo

To build the game, use the ebuild included in the official Gentoo repository.
https://packages.gentoo.org/packages/games-fps/serioussam
This ebuild uses the repo https://github.com/tx00100xt/SeriousSamClassic-VK which
additionally contains the Vulkan render. Everything else is identical to this repository.

You will also need CD images of the games Serious Sam Classic The First Encounter and
Serious Sam Classic The First Encounter.

Type this in your terminal:

echo "games-fps/serioussam -vulkan" >> /etc/portage/package.use/serioussam
emerge -av serioussam --autounmask=y

For game add-ons, use a serioussam-overlay containing ready-made ebuilds for building the add-ons.

Type this in your terminal:

emerge eselect-repository
eselect repository enable serioussam
emaint sync --repo serioussam

The list of add-ons can be found in README

Arch Linux

To build a game under Arch Linux you can use the package from AUR: https://aur.archlinux.org/packages/serioussam

Raspberry Pi

The build for raspberry pi is similar to the build for Linux, you just need to add an additional build key.

cd SeriousSamClassic
mkdir build
cd build
cmake -DRPI4=TRUE ..
make -j4
make install

FreeBSD

Setting up the repository

Type this in your terminal:

git clone https://github.com/tx00100xt/SeriousSamClassic.git

Copy official game data (optional)

If you have access to a copy of the game (either by CD or through Steam), you can copy the *.gro files from the game directory to the repository. (SeriousSamClassic/SamTFE is the directory of the game Serious Sam Classic The First Encounter, SeriousSamClassic/SamTSE is the directory of the game Serious Sam Classic The Second Encounter)

Building (for SS:TFE and SS:TSE)

Type this in your terminal:

cd SeriousSamClassic
mkdir build
cd build
cmake ..
make -j4
make install

If you prefer ninja, then add key -GNinja to the cmake. And replace the make command with ninja. For i386 architecture, add key -DUSE_ASM=OFF to cmake. To build a binary package for installation on the system, you can use the template: https://github.com/tx00100xt/SeriousSamClassic/tree/main/templates

OpenBSD

Install the required packages

doas pkg_add bison cmake ninja git sdl2 libogg libvorbis

Setting up the repository

git clone https://github.com/jasperla/openbsd-wip.git

Add the path to openbsd-wip to PORTSDIR_PATH in /etc/mk.conf Type this in your terminal:

cd openbsd-wip/games/serioussam
make install

Copy official game data

Copy all content of the original game to the appropriate directories:

~/.local/share/Serious-Engine/serioussam/ - for Serious Sam Classic The First Encounter
~/.local/share/Serious-Engine/serioussamse/ - for Serious Sam Classic The Second Encounter

To start the game type in console: serioussam or serioussamse. You can also use the launch of the game through the menu. For more information, type in the console: man serioussam

NetBSD

Install required dependencies:

sudo pkgin install cmake nasm bison SDL2 libogg libvorbis

Copy official game data

If you have access to a copy of the game (either by CD or through Steam), you can copy the *.gro files from the game directory to the repository. (SeriousSamClassic/SamTFE is the directory of the game Serious Sam Classic The First Encounter, SeriousSamClassic/SamTSE is the directory of the game Serious Sam Classic The Second Encounter)

Type this in your terminal:

cd SeriousSamClassic
mkdir build
cd build
cmake ..
make -j4
make install

For i386 use cmake .. -DUSE_ASM=OFF To build a binary package for installation on the system, you can use the template: https://github.com/tx00100xt/SeriousSamClassic/tree/main/templates

macOS

Install dependes

brew install bison flex sdl2 libogg libvorbis zlib-ng cmake git

Setting up the repository

Type this in your terminal:

git clone https://github.com/tx00100xt/SeriousSamClassic.git

Copy official game data (optional)

If you have access to a copy of the game (either by CD or through Steam), you can copy the *.gro files from the game directory to the repository. (SeriousSamClassic/SamTFE is the directory of the game Serious Sam Classic The First Encounter, SeriousSamClassic/SamTSE is the directory of the game Serious Sam Classic The Second Encounter)

Building (for SS:TFE and SS:TSE)

Type this in your terminal:

cd SeriousSamClassic
mkdir build
cd build
cmake ..
make -j4
make install

Flatpak

Serious Sam Classic on flathub
You can also install the game using flatpak from the flathub repository. When you first start the game,
you will be asked to place your game data along the following paths:

~/.var/app/io.itch.tx00100xt.SeriousSamClassic/data/Serious-Engine/serioussam
~/.var/app/io.itch.tx00100xt.SeriousSamClassic/data/Serious-Engine/serioussamse

You can place game data in these paths before starting the game. Then the game will start immediately.
To start the game, use the application menu. More detailed information about flatpak on the SeriousSamClassic Flatpak wiki.

Snap

Get it from the Snap Store
You can also install the game using snap from the snapcraft. When you first start the game,
you will be asked to place your game data along the following paths:

~/snap/serioussam/current/.local/share/Serious-Engine/serioussam
~/snap/serioussam/current/.local/share/Serious-Engine/serioussamse

You can place game data in these paths before starting the game. Then the game will start immediately.
To start the game, use the application menu. More detailed in

View on GitHub
GitHub Stars168
CategoryDevelopment
Updated6d ago
Forks21

Languages

C++

Security Score

100/100

Audited on Mar 29, 2026

No findings