Giter Site home page Giter Site logo

justinsanta / daemon Goto Github PK

View Code? Open in Web Editor NEW

This project forked from daemonengine/daemon

0.0 0.0 0.0 26.13 MB

The Dæmon game engine. With some bits of ioq3 and XreaL.

Home Page: https://unvanquished.net

License: BSD 3-Clause "New" or "Revised" License

Shell 0.64% C++ 73.85% Python 0.24% C 17.89% CMake 2.77% GLSL 4.58% ShaderLab 0.02%

daemon's Introduction

Dæmon

Dæmon is the standalone engine that powers the multiplayer first person shooter Unvanquished.

GitHub tag

IRC

Windows macOS Linux
AppVeyor branch Azure branch Azure branch

ℹ️ We provide ready-to-use downloads for the Unvanquished game on the Unvanquished download page, builds of the Dæmon engine are included.

ℹ️ The repository of the source code for the game logic of Unvanquished can be found there.

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

ℹ️ If cmake complains about missing files in libs/crunch/ folder or similar issue then you have skipped this step.

Build Instructions

💡️ 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/

Visual Studio

  1. Run CMake.
  2. Choose your compiler.
  3. 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

💡️ 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

Running a game

ℹ️ 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.

daemon's People

Contributors

amanieu avatar bentley avatar cmf028 avatar computerquip avatar defaultuser avatar devnexen avatar dimhotepus avatar dolcetriade avatar dsalt avatar enneract avatar gimhael avatar gireen avatar gmcode avatar illwieckz avatar jaytersen avatar kangz avatar kharnov avatar maek avatar mbasaglia avatar necessarily-equal avatar neumond avatar sixthly avatar slipher avatar t4im avatar thetheodor avatar timepath avatar trinitrotoluene- avatar veyrdite avatar viech avatar zturtleman avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.