Serious Sam Classic: Vulkan
Vulkan Serious Engine port based on open source version.
Prerequisites:
- Vulkan Header files and API registry
- Vulkan Validation Layers
- Vulkan Installable Client Driver (ICD) Loader
Serious Engine:
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 filesEngine
Serious Engine 1.10EngineGUI
Common GUI things for game toolsEntitiesMP
All the entity logicGameGUIMP
Common GUI things for game toolsGameMP
All the game logicModeler
Serious ModelerRCon
Used to connect to servers using an admin passwordSeriousSam
The main game executableSeriousSkaStudio
Serious Ska StudioWorldEditor
Serious EditorDecodeReport
Used to decode crash *.rpt filesDepend
Used to build a list of dependency files based on a list of root filesLWSkaExporter
Exporter for use in LightWaveMakeFONT
Used for generating *.fnt filesShaders
Compiled shadersGameAgent
The serverlist masterserver written in Pythonlibogg
,libvorbis
Third party libraries used for playing OGG-encoded ingame music (see http://www.vorbis.com/ for more information)
Prepare building for Debian/Ubuntu based OS
Type this in your terminal:
sudo apt-get install build-essential libsdl2-dev cmake libvorbis-dev flex bison git libxxhash-dev
sudo apt-get install libvulkan1 libvulkan-dev vulkan-validationlayers vulkan-validationlayers-dev
Note: libsdl2-dev version >= 2.0.6, vulkan packages version >= 1.2.xxx
- For Debian 10, you can install vulkan packages from backports.
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://gitflic.ru/project/tx00100xt/serioussamclassic-vk.git SeriousSamClassic-VK
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-VK/SamTFE is the directory of the game Serious Sam Classic The First Encounter, SeriousSamClassic-VK/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-VK
mkdir build
cd build
cmake ..
make -j4
make install
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/serioussam
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/serioussam/ubuntu YOUR_UBUNTU_VERSION_HERE main
deb-src https://ppa.launchpadcontent.net/tx00100xt/serioussam/ubuntu YOUR_UBUNTU_VERSION_HERE main
After adding ppa, run the commands:
sudo apt install serioussamckassic-vk serioussamclassic-xplus
Gentoo
To build a game for gentoo, use a https://gitflic.ru/project/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-vk
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-VK
mkdir build
cd build
cmake -DRPI4=TRUE ..
make -j4
make install
FreeBSD
Setting up the repository
Type this in your terminal:
git clone https://gitflic.ru/project/tx00100xt/serioussamclassic-vk.git SeriousSamClassic-VK
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-VK/SamTFE is the directory of the game Serious Sam Classic The First Encounter, SeriousSamClassic-VK/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-VK
mkdir build
cd build
cmake ..
make -j4
make install
macOS
Install dependes
brew install bison flex sdl2 libogg libvorbis zlib-ng cmake git vulkan-loader vulkan-headers
Setting up the repository
Type this in your terminal:
git clone https://gitflic.ru/project/tx00100xt/serioussamclassic-vk.git SeriousSamClassic-VK
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-VK/SamTFE is the directory of the game Serious Sam Classic The First Encounter, SeriousSamClassic-VK/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-VK
mkdir build
cd build
cmake ..
make -j4
make install
Building OpenGL version only
If your video card does not support Vulkan and you do not have the Vulkan libraries and header files installed, then you can build a version only with an OpenGL render. You just need to add one key(-DUSE_SYSTEM_VULKAN=FALSE) for the cmake command. Example:
cd SeriousSamClassic-VK
mkdir build
cd build
cmake -DUSE_SYSTEM_VULKAN=FALSE ..
make -j4
make install
Running
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
- Locate the game directory for “Serious Sam Classic The First Encounter” (steam)
- Build game from source code or Download latest release and copy the latest files from the game directory to SamTFE/Bin
- 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
- 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
- Locate the game directory for “Serious Sam Classic The Second Encounter” (steam)
- Build game from source code or Download latest release and copy the latest files from the game directory to SamTSE/Bin
- 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
- 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)
- Just add string for cmake command:
cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr
- Build game from source code.
- Install the game:
cd build
sudo make install
- 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
- 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. Please note that when installing the game on a system, all content of the original game is required (including directories: Controls, Data, Demos, Help, and so on) in directories /usr/share/serioussam(se) or ~/.local/share/Serious-Engine/serioussam(se), depending on the directory you select.
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.
Linux, FreeBSD, macOS, Raspberry PI OS
Building XPLUS (for SS:TFE and SS:TSE)
Type this in your terminal:
cd SeriousSamClassic-VK
mkdir build-xplus
cd build-xplus
cmake -DXPLUS=TRUE ..
make -j4
make install
Note: for Raspberry Pi4 just add -DRPI4=TRUE for cmake command.
Download: Xplus TFE from Google Drive or Xplus TFE from pCloud, and unpack to SeriousSamClassic-VK/SamTFE/Mods directory. Xplus TSE from Google Drive or Xplus TSE from pCloud,, and unpack to SeriousSamClassic-VK/SamTSE/Mods directory. You can also download the archive using curl or wget:
cd SeriousSamClassic-VK
wget https://archive.org/download/sam-tfe-xplus/SamTFE-XPLUS.tar.xz
wget https://archive.org/download/sam-tse-xplus/SamTSE-XPLUS.tar.xz
tar -xJvpf SamTFE-XPLUS.tar.xz -C SamTFE
tar -xJvpf SamTSE-XPLUS.tar.xz -C SamTSE
or
cd SeriousSamClassic-VK
for var in a b c; do wget https://github.com/tx00100xt/serioussam-mods/raw/main/SamTFE-XPLUS/SamTFE-XPLUS.tar.xz.parta$var; done; cat SamTFE-XPLUS.tar.xz.part* > SamTFE-XPLUS.tar.xz
for var in a b c; do wget https://github.com/tx00100xt/serioussam-mods/raw/main/SamTSE-XPLUS/SamTSE-XPLUS.tar.xz.parta$var; done; cat SamTSE-XPLUS.tar.xz.part* > SamTSE-XPLUS.tar.xz
tar -xJvpf SamTFE-XPLUS.tar.xz -C SamTFE
tar -xJvpf SamTSE-XPLUS.tar.xz -C SamTSE
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://gitflic.ru/project/tx00100xt/serioussamclassic-vk.git SeriousSamClassic-VK
cd SeriousSamClassic-VK
./build-linux64demo.sh # use build-linux32demo.sh for 32-bits
Windows
- This project can be compiled starting from Windows 7 and higher.
- Download and Install Vulkan SDK 1.3.204.1 or higher.
- Download and Install Visual Studio 2015 Community Edition or higher.
- Download and Install Windows 10 SDK 10.0.14393.795 or other.
- 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
macOS
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
andSources/libvorbis
) by Xiph.Org Foundation
Описание
The first open source linux port with support Vulkan based on https://github.com/sultim-t/Serious-Engine-Vk and https://github.com/icculus/Serious-Engine