![]() |
Owl Engine 0.0.1
Very simple Game Engine for learning purpose
|

Owl aims to be a simple game engine. The main goal of this engine is learning game engine development.
The full documentation is available on the dedicated website .
We try to be multiplatform and using different compilers:
x64g++ 14 (and above)clang++ 19 (and above)x64 & arm6422.04 (glibc 2.35) g++ 12 (and above)22.04 (glibc 2.35) clang++ 15 (and above)Different inputs backend are available:
Null - for no windowing nor mouse/keyboard/gamepad managed input (for server use)GLFW - for windowing and user input management using glfw library.This engine requires a graphic card that supports one of the following renderer:
Null - for no graphic rendering (Server for example)OpenGL - Use OpenGL 4.5 (you must have Graphics device that supports it. Known that most arm644 device does not support it)Vulkan - Use Vulkan 1.3 (you must have Graphics device that supports it)This engine supports different sound device for either input stream or sound play:
Null - for no sound (Server for example)OpenAL - Use OpenAL (you must have Sound device that supports it, and the required lib/drivers installed)Dependencies are managed by my dependency tool: DepManger .
As we are using file based dependency definition in depmanager.yml, the dependency will be automatically downloaded with the right version during cmake configure step (the depmanager client should be configured to use a repository that contains the right packages).
Dependencies are hosted by my dependency server DepManagerServer.
Dependencies in the configuration file have explicit version number, that is done on purpose: it then requires a commit to upgrade (so keep a track of upgrades and keep stable the potential build of old revisions of this code).
All the dependencies and their recipes for DepManager are available in a separate repository OwlDependencies.
Most are configured as git submodules.
To build the engine Cmake (>3.24) is required.
Most user will use one of the cmake's preset defined.