Dæmon
Dæmon is the standalone engine that powers the multiplayer first person shooter Unvanquished.
Windows | OSX | Linux |
---|---|---|
Workspace requirements
To fetch and build Dæmon, you'll need:
git
,
cmake
,
and a C++11 compiler.
The following are actively supported:
gcc
≥ 4.8,
clang
≥ 3.5,
Visual Studio/MSVC (at least Visual Studio 2019).
Dependencies
Required:
zlib
,
libgmp
,
libnettle
,
libcurl
,
SDL2
,
GLEW
,
libpng
,
libjpeg
≥ 8,
libwebp
≥ 0.2.0,
Freetype
,
OpenAL
,
libogg
,
libvorbis
,
libopus
,
libopusfile
.
Optional:
ncurses
.
MSYS2
Also required:
base-devel
.
64-bit: mingw-w64-x86_64-{toolchain,cmake}
,
or 32-bit: mingw-w64-i686-{toolchain,cmake}
.
MSYS2 is an easy way to get MingW compiler and build dependencies, the standalone MingW on Windows also works.
Downloading the sources for the game engine
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.git
If you have already cloned:
cd Daemon/
git submodule update --init --recursive
libs/crunch/
folder or similar issue then you have skipped this step.
Build Instructions
-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/
Visual Studio
- Run CMake.
- Choose your compiler.
- Open
Daemon.sln
and compile.
Linux, macOS, MSYS2
Produced files will be stored in a new directory named build
.
cmake -H. -Bbuild
cmake --build build -- -j4
Linux cross-compile to Windows
cross-toolchain-mingw32.cmake
toolchain file instead.
cmake -H. -Bbuild -DCMAKE_TOOLCHAIN_FILE=cmake/cross-toolchain-mingw64.cmake
cmake --build build -- -j4
Running a game
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.