/SeriousSamClassic

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

Primary LanguageC++GNU General Public License v2.0GPL-2.0

Serious Sam Classic

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

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
  • 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

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 SeriousSamClassic

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 (only for SS:TFE)

Type this in your terminal:

cd SeriousSamClassic/SamTFE/Sources
./build-linux64.sh -DTFE=TRUE	# use build-linux32.sh for 32-bits

Building (only for SS:TSE)

Type this in your terminal:

cd SeriousSamClassic/SamTSE/Sources
./build-linux64.sh        	# use build-linux32.sh for 32-bits

Gentoo

To build a game for gentoo, use a https://github.com/tx00100xt/serioussam-overlay containing ready-made ebuilds for building the game and add-ons.

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/SamTFE/Sources
./build-linux64.sh -DTFE=TRUE -DRPI4=TRUE	# use build-linux32.sh for 32-bits

for Serious Sam Classic The First Encounter, or for Serious Sam Classic The Second Encounter:

cd SeriousSamClassic/SamTSE/Sources
./build-linux64.sh -DRPI4=TRUE           	# use build-linux32.sh for 32-bits

FreeBSD

Setting up the repository

Type this in your terminal:

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

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 (only for SS:TFE)

Type this in your terminal:

cd SeriousSamClassic/SamTFE/Sources
cp -vfr Entities/PlayerWeapons_old.es Entities/PlayerWeapons.es
mkdir cmake-build
cd cmake-build
cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DTFE=TRUE ..
make -j4
cp -v SeriousSam DedicatedServer MakeFONT ecc ../../Bin
cp -v Debug/*.so ../../Bin

Building (only for SS:TSE)

Type this in your terminal:

cd SeriousSamClassic/SamTSE/Sources
cp -vfr EntitiesMP/PlayerWeapons_old.es EntitiesMP/PlayerWeapons.es
mkdir cmake-build
cd cmake-build
cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo ..
make -j4
cp -v SeriousSam DedicatedServer MakeFONT ecc ../../Bin
cp -v Debug/*.so ../../Bin

Note that the CD version of SS:TSE used MP3 for music. You will need to build / get libamp11lib.so and copy it inside Bin with the other libs to have music. Steam version uses ogg and doesn't need this library.

Running

This version of the engine comes with a set of resources (\SE1_10b.GRO) that allow you to freely use the engine without any additional resources required. You can buy the original games on Steam, as a part of a bundle with Serious Sam Revolution ( http://store.steampowered.com/app/227780 )

Serious Sam Classic The First Encounter

Running the game

  1. Locate the game directory for "Serious Sam Classic The First Encounter" (steam)
  2. Build game from source code or Download latest release and copy the latest files from the game directory to SamTFE/Bin
  3. Copy all *.gro files, Help folder and Levels folder from the game directory to SamTFE directory. At the current time the files are:
    • Help (folder)
    • Levels (folder)
    • 1_00_ExtraTools.gro
    • 1_00_music.gro
    • 1_00c.gro
    • 1_00c_Logo.gro
    • 1_00c_scripts.gro
    • 1_04_patch.gro
  4. Start the game
    • ./run_game.sh or ./run_game_hud.sh (for start game with MangoHUD)

Serious Sam Classic The Second Encounter

Running the game

  1. Locate the game directory for "Serious Sam Classic The Second Encounter" (steam)
  2. Build game from source code or Download latest release and copy the latest files from the game directory to SamTSE/Bin
  3. Copy all *.gro files and Help folder from the game directory to SamTSE directory. At the current time the files are:
    • Help (folder)
    • SE1_00.gro
    • SE1_00_Extra.gro
    • SE1_00_ExtraTools.gro
    • SE1_00_Levels.gro
    • SE1_00_Logo.gro
    • SE1_00_Music.gro
    • 1_04_patch.gro
    • 1_07_tools.gro
  4. Start the game
    • ./run_game.sh or ./run_game_hud.sh (for start game with MangoHUD)

Install the game in system (/usr/bin;/usr/lib/;/usr/share)

  1. Edit the build script by adding a parameter to the cmake command:
cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr 
  1. Build game from source code with script.
  2. Install the game:
cd cmake-build
sudo make install
  1. Put game data in (Recommended):
/usr/share/serioussam/ - for TFE
/usr/share/serioussamse/ - for TSE

or

~/.local/share/Serious-Engine/serioussam/ - for TFE
~/.local/share/Serious-Engine/serioussamse/ - for TSE
  1. Type in console:
serioussam       	# for run Serious Sam Classic The First Encounter

or

serioussamse       	# for run Serious Sam Classic The Second Encounter

Note: If the game does not find the data on the recommended paths, then it will independently perform a search.

Serious Sam Classic XPLUS

What is XPLUS? XPLUS is a global modification that changes effects, models, weapons, textures to high definition. XPLUS was created by fans of the game Serious Sam and is distributed for free. Remark: -JD- and VITEK is author this mod for windows.

XPLUS Oasis

XPLUS Dunes

XPLUS Sacred Yards

Linux

Building XPLUS (only for SS:TFE)

Type this in your terminal:

cd SeriousSamClassic/SamTFE/Sources
./build-linux64xplus.sh -DTFE=TRUE	# use build-linux32xplus.sh for 32-bits

FreeBSD

Building XPLUS (only for SS:TFE)

Type this in your terminal:

cd SeriousSamClassic/SamTFE/Sources
cp -vfr Entities/PlayerWeaponsHD.es Entities/PlayerWeapons.es
mkdir cmake-build
cd cmake-build
cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DTFE=TRUE ..
make -j4
cp -v Debug/*.so ../../Mods/XPLUS/Bin

Download: Xplus TFE from Google Drive or Xplus TFE from pCloud, and unpack to SeriousSamClassic/SamTFE/Mods directory. To start the modification, use the game menu - item Modification.

Linux

Building XPLUS (only for SS:TSE)

Type this in your terminal:

cd SeriousSamClassic/SamTSE/Sources
./build-linux64xplus.sh        	    # use build-linux32xplus.sh for 32-bits

FreeBSD

Building XPLUS (only for SS:TSE)

Type this in your terminal:

cd SeriousSamClassic/SamTSE/Sources
cp -vfr EntitiesMP/PlayerWeaponsHD.es EntitiesMP/PlayerWeapons.es
mkdir cmake-build
cd cmake-build
cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo ..
make -j4
cp -v Debug/*.so ../../Mods/XPLUS/Bin

Download: Xplus TSE from Google Drive or Xplus TSE from pCloud,, and unpack to SeriousSamClassic/SamTSE/Mods directory. To start the modification, use the game menu - item Modification.

Building demo version of the game

To build the demo version of the game, official demo files for Windows and official patches for the game from Croteam are used. These files are automatically downloaded and unpacked in demo build scripts.

Type this in your terminal:

git clone https://github.com/tx00100xt/SeriousSamClassic.git SeriousSamClassic
cd SeriousSamClassic
./build-linux64demo.sh        	    # use build-linux32demo.sh for 32-bits

Windows

  • This project can be compiled starting from Windows 7 and higher.
  1. Download and Install Visual Studio 2015 Community Edition or higher.
  2. Download and Install Windows 10 SDK 10.0.14393.795 or other.
  3. Open the solution in the Sources folder, select Release x64 or Release Win32 and compile it.

Supported Architectures

  • x86
  • aarch64
  • e2k (elbrus)

Supported OS

  • Linux
  • FreeBSD
  • Windows
  • Raspberry PI OS

License

  • Serious Engine is licensed under the GNU GPL v2 (see LICENSE file).
  • amp11lib is licensed under the GNU GPL v2 (see amp11lib/COPYING file).

Some of the code included with the engine sources is not licensed under the GNU GPL v2:

  • zlib (located in Sources/Engine/zlib) by Jean-loup Gailly and Mark Adler
  • LightWave SDK (located in Sources/LWSkaExporter/SDK) by NewTek Inc.
  • libogg/libvorbis (located in Sources/libogg and Sources/libvorbis) by Xiph.Org Foundation