/soldat

Soldat is a unique 2D (side-view) multiplayer action game

Primary LanguagePascalMIT LicenseMIT

Soldat

Soldat is a unique 2D (side-view) multiplayer action game. It has been influenced by the best of games such as Liero, Worms, Quake, Counter-Strike, and provides a fast-paced gaming experience with tons of blood and flesh.

This repository contains the source code of the so-called 1.8 version. Compared to the original version, the code has undergone many changes but is not in a finished state. We hope that by open-sourcing Soldat we can empower our community to improve the game at a faster pace.

Dependencies

  • FreePascal 3.0.4
  • SDL 2.0.12
  • OpenAL
  • FreeType 2.6.1
  • PhysFS 3.0.2
  • GameNetworkingSockets

Building Soldat

Soldat compiles on Windows, Linux and macOS.

  1. Install Lazarus IDE (or a standalone FreePascal Compiler if you want to use Makefiles)
  2. Download pre-built libraries and copy libraries from win64_dlls to client/build and server/build
  3. Clone base repository and run create_smod.sh from it to create a game base archive
  4. Copy soldat.smod to client/build and server/build
  5. Copy base/client/play-regular.ttf to client/build

Compilation using Lazarus IDE

  1. Open server/soldatserver.lpi with Lazarus, press F9 to compile and start the server
  2. Start another instance of Lazarus and open client/soldat.lpi, press F9 to build the game client

Compilation using Makefiles

  1. Create build directory structure: mkdir -p server/build/linux; mkdir -p client/build/linux
  2. Compile server: cd server; make linux_x86_64 (on Windows: make windows_x86_64, on MacOS: make osx_x86_64)
  3. Compile client: cd client; make linux_x86_64
  4. Run server: server/build/soldatserver_x64
  5. Run client: client/build/soldat_x64 -join 127.0.0.1 23073