Oxylus is a simple yet powerful data-driven game engine built in C++ with a focus on developer productivity and performance. It is free and will be open-source forever!
Be aware that Oxylus is still in it's early stages of development. Some important features and documentation might be missing. Oxylus will have many API breaking changes both on C++ and Lua. Only use if you're okay with these.
- Powerful: Full support for both 2D and 3D development
- Intuitive: Beginner-friendly yet endlessly adaptable for power users
- Data-Driven: Built on a "true" Entity Component System (ECS) for efficient data handling
- Modular: Use only the parts you need, swap out the rest
- Fast: Optimized for speed with parallel processing where possible
- Code-First: The editor is optional, build entire games programmatically or use the editor as a productivity aid
- Modular Vulkan renderer built using vuk with modern rendering features:
- Meshlet Rendering
- GI with Brixelizer
- GTAO
- SSSR
- AMD FSR 3
- PCF Cascaded Directional, Spot and Point Light Shadows
- Physically Based Bloom
- Depth Of Field
- HDR
- Tonemapping
- Chromatic Aberration
- Film Grain
- Vignette
- Sharpen
- and many more various post-processing effects.
- 2D Pipeline
- Animated sprites
- Tilemaps
- Multithreaded physics with Jolt.
- Lua scripting with flecs events and systems.
- Automatic component reflection with sol3 and flecs.
- A featureful editor built with Dear ImGui to aid the development process.
- 3D Audio with miniaudio
Windows, Linux and Mac (with MoltenVK) is supported.
- Xmake
- Vulkan SDK.
- A compiler that supports C++23.
- To configure the project run:
xmake f --toolchain=clang --runtimes=c++_static -m debug
- Change
--toolchain=
for the toolchain you want to use. - Pick a mode
-m debug, release, dist
- Optionals:
--lua_bindings
Compile lua bindings (true
by default)--profile
Enable tracy profiler (false
by default)
- Change
- To build the project run:
xmake build
- To run the editor with xmake run:
xmake r OxylusEditor
- Or to manually run it make sure to copy required binaries in
/build/bin
to executable directory created by this command:xmake install -o ./build