Awesome Open Source
Awesome Open Source


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.


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

Alternative Project Comparisons
Related Awesome Lists
Top Programming Languages
Top Projects

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
Game (82,936
2d (9,102
Opengl (9,102
Pascal (6,570
Sdl2 (5,231
Multiplayer (4,333
2d Game (676
Shooter (145
2d Platformer Game (44
Action Game (31
Soldat (12