ExplosionEngine Explosion Save

💥 A modern cross-platform game engine (WIP)

Project README
Explosion Logo

Introduction

Explosion is a cross-platform C++ game engine, based on modern graphics api (aka Vulkan, DirectX 12, Metal), powered by ECS gameplay framework.

Build

We use cmake as build tool, the following table contains supported platform, toolchain and generator:

Platform Arch Toolchain Generator
Windows x64 Visual Studio Visual Studio 2019
Visual Studio 2022
Ninja
Ninja Multi-Config
macOS x64 / arm64 Apple Clang Unix Makefiles
Ninja
Ninja Multi-Config

By cause of cmake, we recommend CLion as Explosion's IDE, which can help you build and manage project simplely, and brings best coding experience to you. When use CLion as IDE, you just need open the project and configure cmake toolchain and generator in settings, press build and everything is down.

If you want to continue with command line mode, the following commands may help:

# for single config generator, such as Ninja, Unix Makefiles
cmake -S . -B <build_dir> -G <generator_name> -DCMAKE_BUILD_TYPE=<build_config>
cmake --build <build_dir>

# for multi config generator, such as Visual Studio, Ninja Multi Config
cmake -S . -B <build_dir> -G <generator_name>
cmake --build <build_dir> --config <build_config>

The parameters' meaning:

  • <build_dir>: Build directory for saving cmake temporal files and dist binaries. You can transfer a build or any directory you like.
  • <build_config>: Build config of cmake, such as Debug or Release.
  • <generator_name>: C++ generator which cmake will use to build project, you can transfer any generator in table list above, such as Visual Studio 2019.

After build the project, you can get all dist binaries in <build_dir>/dist.

Third Party Project Usage

Thanks all those following projects:

Sponsor

JetBrains Open Source

License

MIT @ Explosion Development Team All right Reserved 2023.

Open Source Agenda is not affiliated with "ExplosionEngine Explosion" Project. README Source: ExplosionEngine/Explosion
Stars
174
Open Issues
18
Last Commit
2 weeks ago
License
MIT

Open Source Agenda Badge

Open Source Agenda Rating