• Stars
    star
    2,158
  • Rank 21,366 (Top 0.5 %)
  • Language
    C++
  • License
    Other
  • Created about 1 year ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Dagor Engine and Tools source code from Gaijin Games KFT

How to Build: Environment

Requirements for building and using the Dagor Engine toolkit: Windows 10 (x64), 16 GB of RAM, 200 GB of HDD/SSD space.

Create a project folder at the root of any drive (the folder name should not contain spaces or non-Latin characters).

md X:\develop && cd X:\develop

Clone the Dagor Engine source code and samples:

git clone https://github.com/GaijinEntertainment/DagorEngine.git
cd DagorEngine

Run the make_devtools.py script. This script will download, install, and configure the build toolkit. You should provide the path to the build toolkit folder as an argument, and the script will create this folder if it doesn't exist.

python3 make_devtools.py X:\develop\devtools

If the script is not run as an administrator, installers of certain programs may request permission for installation, which you should grant. If you plan to use plugins for 3ds Max, press 'Y' when the script asks if you want to install the 3ds Max SDK. The script will also ask to add the path X:\develop\devtools to the PATH environment variable and set the GDEVTOOL variable to point to this folder.

After the script completes its work, the X:\develop\devtools folder will be configured with the following SDKs and tools:

  • FidelityFX_SC - a library for image quality enhancement
  • fmod-studio-2.xx.xx [optional] - FMOD sound library
  • LLVM-15.0.7 - C/C++ compiler and libraries (Clang)
  • nasm - assembler
  • max2024.sdk - 3ds Max 2004 SDK
  • openxr-1.0.16 - library for AR/VR
  • vc2019_16.10.3 - C/C++ compiler and libraries (MSVC)
  • win.sdk.100 - Windows 10 SDK
  • win.sdk.81 - Windows 8.1 SDK
  • ducible.exe - a tool to make builds of Portable Executables (PEs) and PDBs reproducible
  • pdbdump.exe - a tool for dumping the content of PDB files
  • jam.exe - a small build tool that can be used as a replacement for Make

Restart the command line console to make the new environment variables available.

How to Build: Prebuilt Binaries

You will need to download and extract additional binary files from the repository https://github.com/GaijinEntertainment/DagorEngine/releases into the X:\develop\DagorEngine folder:

  • samples-base.7z - contains initial assets that will be compiled into binary files that will be loaded the game
  • samples-prebuilt-game.7z - contains precompiled assets
  • tools-prebuilt.7z - contains the prebuilt engine toolkit

The directory structure should look like this:

X:\develop\DagorEngine\tools\...

X:\develop\DagorEngine\samples\skiesSample\game
                              \skiesSample\develop
                              \skiesSample\prog

X:\develop\DagorEngine\samples\testGI\game
                              \testGI\develop
                              \testGI\prog
  • prog - game source code
  • develop - initial assets
  • game - directory where assets are placed after building and game executable files are located

How to Build: Build from Source Code

To build the "testGI" sample, navigate to the X:\develop\DagorEngine\samples\testGI\prog folder and run the "jam" command. After building, the executable file will be placed in the testGI\game folder.

Run DagorEngine/build_all.cmd to build the entire project toolkit from the source code. This process may take a considerable amount of time.

Open-source roadmap

We are going to open-source more parts of our Engine and tools. These are general and broad plans for next year, can be changed.

Documentation

  • dagor render
  • how to work with dagor assets
  • dagor level editor
  • dagor reactive gui framework

Basic dagor samples

  • Binaries of basic render and game samples (terrain, clouds, water, grass; inputs and controls) with assets sources
  • Sources of basic game samples

The Pretty Games framework

Framework with samples and documentation, based on daslang and dagor. Details yet to come.