clibequilibrium / EquilibriumEngine

Data-oriented and multi-threaded C11 Game Engine with libraries & shaders hot-reloading.
GNU General Public License v2.0
285 stars 18 forks source link
assimp bgfx cmake data-oriented-design ecs editor entity-component-system flecs game-development game-engine gamedev gltf hot-reloading imgui sdl

Equilibrium Engine

Equilibrium Engine is a data-oriented and multi-threaded C11 game engine that takes advantage of ECS pattern followed by Hot-Reloading of your libraries and shaders which allows you to quickly iterate on different aspects of your projects.

Features

clang is the primarily supported compiler

Hot-Reloading of shaders & scripts

https://user-images.githubusercontent.com/105135724/199751023-b44df702-53ee-445d-8b08-f2b31ed1e369.mp4

Crash protection

Flecs entity inspector

https://user-images.githubusercontent.com/105135724/199751066-ff07918d-c067-463c-93a7-f3cceeaeee6e.mp4

Usage

Equilibrium works on Windows via clang only and was tested some time ago on Ubuntu 20.04 LTS using GCC compiler. More work needs to be done to make sure the engine runs perfectly on both Linux & Mac.

To get started on Windows

You might need Visual Studio build tools installed so clang can link to MSVC static libraries. In case if Visual Studio is your primarily IDE please consider following these steps and check the issues section if you have troubles building the engine.

The rest of the dependencies included within the project:

Screenshots