A small game engine with strong focus on the Web platform which I developed in my spare time. One of its main features is the inclusion of a custom visual programming language à la Scratch which you can read about in my blog post.
- ovis::utils: a general C++ utility library not necessarily specific to the engine.
- ovis::vm: the virtual machine and parser for the custom visual scripting language.
- ovis::core: the basic structure of the engine like the ECS implementation, event system and the job scheduler.
- ovis::math: (legacy) only contains marching cubes and heightmap implementations everything else was moved to core.
- ovis::input: contains the event structures for the input events.
- ovis::graphics: a thin wrapper around OpenGL/WebGL.
- ovis::rendering: contains the basic rendering jobs.
- ovis::rendering2d: handles 2D rendering of shapes and text.
- ovis::audio: (legacy) contained basic functionality for playing sound, currently not functional, needs rewrite.
- ovis::networking: only contains the
fetch()
function for the web platform, all future networking code should go here. - ovis::sdl: implements sdl window and events.
- ovis::emscripten: contains the canvas viewport when compiling for web.
- ovis::editor: exposes and implements features used for the web editor.
- ovis::player: executable that runs exported games on the website, currently not functional.
- ovis::test: a utility library for writing unit tests.