CUBOS aims to be a simple, but powerful game engine for PC, where everything is made out of voxels. It is open source and free to use for any purpose. Written in modern C++ (20) and with data-oriented design in mind, its goal is to be both performant and highly flexible.

The engine is divided into three parts: The core, a ECS system that can fit plugins; The engine itself, which is a collection of plugins that allow functionality; and tools, stuff that is only useful for developers and should not be included in final builds of a game. My work was on both the engine and the tools.

On the engine, I set up the renderer plugin, which draws to the window, and created the gizmos plugin, which uses a completely different and independent system to draw basic primitives with some functionailty. Gizmos can be drawn in different spaces (world viewport and screen), and can also be interacted with.

Simplified, gizmos interaction works by including the gizmo id when rendering to a pixel, and then simply reading which gizmo is below the mouse. The image on the left showcases gizmos in different spaces, with a 4 camera split screen set up.


On the tools, I set up most of the inspectors and editors we currently have, making use of imGui. Most recently I worked on getting a transform gizmo up and running, allowing for easier manipulation of entities.






Go Back to Projects