An opensource, data-oriented ECS game engine.
use cmake:
git submodule update --init --recursive
cmake -S . -B cmake-build
cmake --build cmake-build
Under Windows, if cmake can't find SDL, you should set SDL2_ROOT
to your SDL path:
cmake -S . -B cmake-build -DSDL2_ROOT=<your-sdl2-path>
in some system, you may want to copy needed dll to your output dir, use:
cmake -S . -B cmake-build -DNICKEL_COPYDLL=ON
to enable auto copy dlls.
Each program should run at project root path
some unittest & demo can build under WASM and show in Web. use
emcmake cmake -S . -B cmake-build
cmake --build cmake-build <your-target>
to build one.
currently support targets are:
rhi_cube
: to show a colorful cuberhi_triangle
: to show basic trianglerhi_texture_cube
: to show a textured cuberhi_normal_map
: to show normal map dmeoyou can view these demos online
library | description |
---|---|
SDL2 | use to support create window, render context and basic input |
gecs | basic ECS framework |
mirrow | TMP framework, use to do dynamic/static reflection and serialization |
stb_image | use to loading images |
Vulkan | Vulkan1.3 |
dear-imgui | use to support GUI in editor |
miniaudio | use to play audio cross platform |
nanobench | use to do benchmark |
nameof | use to get enum name convniently |
freetype2 | use to render ttf font |
lunasvg | use to render svg |
rapidxml | use to parse XML |
tomlplusplus | use to support toml file parse |
esfw | use to watch file changing in editor |
easy_profiler | use to profile |
luau | use to as script |
LuaBridge3 | use to bind cpp to lua/luau |
editor icon: vscode-material-icon-theme