man(1)

NAME

serioussam-vk is open source game engine version developed by Croteam for Serious Sam Classic with Vulkan support (Windows, Linux, FreeBSD, OpenBSD, Raspberry Pi OS, macOS). Based on https://github.com/sultim-t/Serious-Engine-Vk and linux port https://github.com/icculus/Serious-Engine

SYNOPSIS
Open terminal and put command:

serioussam
    - For start Serious Sam Classic The First Encounter.

serioussamse
    - For start Serious Sam Classic The Second Encounter.

  COMMAND LINE OPTIONS
serioussam(se) [+level levelname] [+game modname] [+portable]
        [+connect ip:port] [+script scriptname] [+logfile filename]

DESCRIPTION

Serious Sam: First Encounter is a high-adrenaline action-arcade shooter heavily focused on frantic arcade-style single player action. In a world where cyberpunk meets fantasy-fiction and advanced technology is mixed with black magic and psycho-powers, Sam travels through the beautiful world of ancient Egypt and several diverse planets, confronting countless Mental's minions on his way to the Mental's base.

Serious Sam: Second Encounter introduces three worlds where cyberpunk once again meets fantasy fiction, and features frantic action in 12 massive single player levels. The Second Encounter includes three new episodes based in beautifully detailed ancient civilizations: South America, Babylon, and The Medieval Age. With fourteen total weapons at his disposal, three brand new, Sam is more serious than ever. He battles against hordes of old enemies and seven adversarial species in an effort to reach the Mental once and for all.

Having successfully defeated the Mental forces in ancient Egypt, Sam "Serious" Stone seizes an abandoned spacecraft. On course in his crusade to finally assassinate the great evil Mental, our hero's spaceship suddenly tumbles into the South American Mountains - Sam seems destined to stay on Earth. He must fight the tougher, now more experienced members of Mental's destructive forces and find a new way to reach the notorious Mental himself.

COMMAND LINE OPTIONS

+level
    Starts the specified game level.
        Example: serioussam +level "Levels//01_Hatshepsut.wld"

+portable
    Enables full portable mode for Linux. All saves, recorded demo files, settings files will be saved in the root directory of the game.

+connect
    Connects to the server using the specified ip and port.
        Example: serioussam +connect 192.168.0.100:25600

+script
    At startup, it launches a custom script for execution.
        Example: serioussam +script "Scripts//Myset.ini"

+game
    Runs the specified modification.
        Example: serioussam +game XPLUS

+logfile
    Specifies an alternative file for logging.
        Example: serioussam +logfile "Mylog.log"

CONSOLE COMMANDS

Note: the man contains only new commands. You can look at the remaining commands in file ShellSymbols.txt in HELP of the game directory.

hud_bShowKills
    - Shows the number of killed and remaining monsters on the map. Disabled by default.

hud_bShowPing
    - Shows ping in a multiplayer game. Enabled by default.

hud_bShowScore
    - Allows you to remove the top line in the HUD with the number of score. Disabled by default.

gam_bFixIlluminationsMethod
    - Fix a bug with texture highlighting in the First Encounter.
    Variable | Method used
    0 | none
    1 | fix textrure settings
    2 | create additional lighting (better). Setting by default

hud_bWeaponsIconScale
    - Sets the size for displaying the size of weapon icons in HUD.
    Variable | Icon size
    0 | small weapon icons
    1 | big weapon icons (set by default)

gfx_vk_iPresentMode
    - What present mode to use: 0=FIFO, 1=Mailbox, 2=Immediate

gfx_vk_iMSAA
    - MSAA: 0=1x, 1=2x, 2=4x, 3=8x

INTRIDUCTION

This implementation of the source code provides for installation in the system, in the /usr/bin, /usr/lib, /usr/share directories.

During the launch of the game, the engine determines the place of launch, and if the launch occurred from the /usr/bin directory, it switches to the libraries search mode in the system directories. Also adds searching for game data in various directories. About the search for game data will be written below.

Otherwise, the engine considers that a local launch of the game has occurred and will look for game data in the root directory of the game. User data, such as game settings, log, saves, demos will be located in:

~/.local/share/Serious-Engine/serioussam/ - for TFE ~/.local/share/Serious-Engine/serioussamse/ - for TSE

If you start the game with the +portable key, then there will be a full portable mode and user data, such as game settings, log, saves, demos will also be located in the root directory of the game.

  Naming conventions for executable files and libraries

Internal game name for Serious Sam The First Encounter is serioussam, for Serious Sam The Second Encounter is serioussamse. These names are initially accepted in the engine and are used for example in a network game and a master server.

  Location of executables, libraries, and modification libraries

The executable files of the game are located in the '/usr/bin' directory.

/usr/bin/"internal game name"

The dedicated server and the font creation utility for the game are also located in this directory.

/usr/bin/"internal game name"-ded /usr/bin/"internal game name"-mkfont

The game libraries will be searched in the following directories:

/usr/lib/"internal-game-name"/ /usr/lib64/"internal game name"/ /usr/lib/i386-linux-gnu/"internal game name"/ /usr/lib/x86_64-linux-gnu/"internal game name"/ /usr/lib/arm-linux-gnueabihf/"internal game name"/ /usr/lib/aarch64-linux-gnu/"internal game name"/ /usr/lib/riscv64-linux-gnu/"internal game name"/ /usr/lib/s390x-linux-gnu/"internal game name"/ /usr/lib/powerpc64-linux-gnu/"internal game name"/

The location of the libraries of modifications is also on the same principle.

/usr/lib/"internal game name"/Mods/"Mod name"/ /usr/lib64/"internal game name"/Mods/"Mod name"/ /usr/lib/i386-linux-gnu/"internal game name"/Mods/"Mod name"/ /usr/lib/x86_64-linux-gnu/"internal game name"/Mods/"Mod name"/ /usr/lib/arm-linux-gnueabihf/"internal game name"/Mods/"Mod name"/ /usr/lib/aarch64-linux-gnu/"internal game name"/Mods/"Mod name"/ /usr/lib/riscv64-linux-gnu/"internal game name"/Mods/"Mod name"/ /usr/lib/s390x-linux-gnu/"internal game name"//Mods/"Mod name"/ /usr/lib/powerpc64-linux-gnu/"internal game name"//Mods/"Mod name"/

Game libraries are assigned a suffix defined in file ModEXT.txt The suffix is assigned to both game libraries and mod libraries. The game library engine must be located in the standard library search area. In one of:

/usr/lib /usr/lib64 /usr/lib/i386-linux-gnu /usr/lib/x86_64-linux-gnu /usr/lib/arm-linux-gnueabihf /usr/lib/aarch64-linux-gnu /usr/lib/riscv64-linux-gnu /usr/lib/s390x-linux-gnu /usr/lib/powerpc64-linux-gnu

The game executable first loads the engine library, which loads the remaining libraries from the subdirectory with the game's internal name. To get output names by convention, use the cmake build key -DUSE_SYSTEM_INSTALL=On or -DCMAKE_INSTALL_PREFIX:PATH=/usr

In accordance with the naming convention, we get the following location of the executable files, game libraries Serious Sam The First Encounter and Serious Sam The Second Encounter for Debian/Ubuntu:

/usr/bin/serioussam /usr/bin/serioussam-ded /usr/bin/serioussam-mkfont /usr/lib/x86_64-linux-gnu/libEngine.so /usr/lib/x86_64-linux-gnu/serioussam/libShaders.so /usr/lib/x86_64-linux-gnu/serioussam/libGame.so /usr/lib/x86_64-linux-gnu/serioussam/libEntities.so /usr/lib/x86_64-linux-gnu/serioussam/libamp11lib.so /usr/bin/serioussamse /usr/bin/serioussamse-ded /usr/bin/serioussamse-mkfont /usr/lib/x86_64-linux-gnu/libEngineMP.so /usr/lib/x86_64-linux-gnu/serioussamse/libShaders.so /usr/lib/x86_64-linux-gnu/serioussamse/libGameMP.so /usr/lib/x86_64-linux-gnu/serioussamse/libEntitiesMP.so /usr/lib/x86_64-linux-gnu/serioussamse/libamp11lib.so

For mod XPLUS: /usr/lib/x86_64-linux-gnu/serioussam/Mods/XPLUS/libGame.so /usr/lib/x86_64-linux-gnu/serioussam/Mods/XPLUS/libEntities.so /usr/lib/x86_64-linux-gnu/serioussamse/Mods/XPLUS/libGameMP.so /usr/lib/x86_64-linux-gnu/serioussamse/Mods/XPLUS/libEntitiesMP.so

For mod Serious Sam Alpha Remake (SSA): /usr/lib/x86_64-linux-gnu/serioussam/Mods/SSA/libGame.so /usr/lib/x86_64-linux-gnu/serioussam/Mods/SSA/libEntities.soq

  Location of game data, user data, and data modifications

During the launch of the game, the engine determines the launch location, and if the launch occurred from the /usr/bin directory, then the game data will be searched for the recommended paths. If the game data is not found using the recommended paths, then the search will be in the home directory, and when the game files are found, the path will be written to the configuration file (not recommended). If the game files are not found, a message box will appear.

Recommended paths for hosting game data:

/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

Mod Data:

/usr/share/serioussam/Mods/"Mod name" - for TFE /usr/share/serioussamse/Mods/"Mod name" - for TSE

or

~/.local/share/Serious-Engine/serioussam/Mods/"Mod name" - for TFE ~/.local/share/Serious-Engine/serioussamse/Mods/"Mod name" - for TSE

It is not allowed to arrange game data parts in different recommended paths. Also, if you chose your own path (which is not recommended), it must be the only one.

The file SE1_10b.gro is not included in the game data distributed on CDs or digital stores. If you chose the first recommended option, set it to:

/usr/share/serioussam/SE1_10b.gro - for TFE /usr/share/serioussamse/SE1_10b.gro - for TSE

PLAYING

This source release does not contain any game data, the game data is still covered by the original EULA and must be obeyed as usual.

To start the game, you'll need the original resurces of a licensed copy of Serious Sam: The First Encounter and Serious Sam: The Second Encounter.

  Steam version

If you have a digital copy of the game on Steam then the resources can be found in: ~/.local/share/Steam/SteamApps/common/Serious Sam Classic The First Encounter and ~/.local/share/Steam/SteamApps/common/Serious Sam Classic The Second Encounter (the default Steam game installation directory on Linux).

  GOG version

If you bought a digital on GOG, you can unpack the resources with the innoextract CLI tool. To install innoextract via your package manager, run:

sudo apt-get install innoextract

Copy files "setup_serious_sam_the_first_encounter_2.0.0.10.exe" and "setup_serious_sam_the_second_encounter_2.1.0.8.exe" to a home directory and run the following commands:

innoextract --gog setup_serious_sam_the_first_encounter_2.0.0.10.exe

innoextract --gog setup_serious_sam_the_second_encounter_2.1.0.8.exe

  Physical version

If you bought a physical copy of the game and you have an ISO of your disk, you can unpack the resources with the any archive manager. Game resources are located in the Install directory of the disk. Just copy all the *.gro files from there, as well as the Levels directory to directories ~/.local/share/Serious-Engine/serioussam and ~/.local/share/Serious-Engine/serioussamse, respectively, for games Serious Sam: The First Encounter and Serious Sam: The Second Encounter.

  Launching the game
To start the game type in console: serioussam or serioussamse. You can also use the launch of the game through the menu. After installing the packages and copying all the data, you can check what we got.

BUGS
There is no multiplayer compatibility between Windows and *nix systems.

AUTHOR
 Alexander Pavlov <t.x00100x.t@yandex.ru>