Dæmon is the standalone game engine that powers the multiplayer first person shooter Unvanquished.
| Windows | macOS | Linux |
|---|---|---|
ℹ️ We provide ready-to-use downloads for the Unvanquished game on the Unvanquished download page, builds of the Dæmon engine are included.
ℹ️ The Unvanquished game logic source code can be found there: github.com/Unvanquished/Unvanquished.
To fetch and build Dæmon, you'll need:
git,
cmake,
and a C++14 compiler.
The following are actively supported:
gcc ≥ 9,
clang ≥ 11,
Visual Studio/MSVC (at least Visual Studio 2019).
Required:
zlib,
libgmp,
libnettle,
libcurl,
SDL2,
GLEW,
libpng,
libjpeg ≥ 8,
libwebp ≥ 0.2.0,
Freetype,
OpenAL,
libogg,
libvorbis,
libopus,
libopusfile.
Optional:
ncurses.
MSYS2 is the recommended way to build using MinGW on a Windows host.
Required packages for 64-bit: mingw-w64-x86_64-gcc, mingw-w64-x86_64-cmake, make
Required packages for 32-bit: mingw-w64-i686-gcc, mingw-w64-i686-cmake, make
Daemon requires several sub-repositories to be fetched before compilation. If you have not yet cloned this repository:
git clone --recurse-submodules https://github.com/DaemonEngine/Daemon.gitIf you have already cloned:
cd Daemon/
git submodule update --init --recursiveℹ️ If cmake complains about missing files in libs/crunch/ folder or similar issue then you have skipped this step.
💡️ Instead of -j4 you can use -jN where N is your number of CPU cores to distribute compilation on them. Linux systems usually provide a handy nproc tool that tells the number of CPU core so you can just do -j$(nproc) to use all available cores.
Enter the directory before anything else:
cd Daemon/- Run CMake.
- Choose your compiler.
- Open
Daemon.slnand compile.
Produced files will be stored in a new directory named build.
cmake -H. -Bbuild
cmake --build build -- -j4💡️ For a 32-bit build use the cross-toolchain-mingw32.cmake toolchain file instead.
cmake -H. -Bbuild -DCMAKE_TOOLCHAIN_FILE=cmake/cross-toolchain-mingw64.cmake
cmake --build build -- -j4ℹ️ On Windows you'll have to use daemon.exe and daemonded.exe instead of ./daemon and ./daemonded, everything else will be the same.
To run a game you would need a pkg/ folder full of .dpk files provided by the Dæmon-based game you want to run. This pkg/ folder has to be stored next to the daemon binary.
You then run the game this way:
./daemon
If you want to run a dedicated server, you may want to use the non-graphical daemonded server binary and start a map this way:
./daemonded +map <mapname>
Map names and other options may be specific to the game.