Hibou Engine

A personal project to learn more about C# and C++ interoperability.


View on GitHub

Graphics API with OpenGL

For rendering, the engine uses OpenGL. The choice was focused on simplicity and rapid implementation, to focus on editor's tools and ensuring interoperability between C++ and C#, that was something I wanted to prioritize rather than pursuing ultra-realistic graphics.

Placeholder image for OpenGL feature.
Placeholder image for WPF feature.

Editor Built with WPF

The editor's interface is developed using WPF (Windows Presentation Foundation). This allows for the creation of a rich, modern, and highly customizable user interface for the Windows platform, facilitating the development of complex tools like node editors.

Projects and Serialization

Each project in Hibou Engine is handled independently. All scenes, entities, components, and settings are serialized, allowing projects to be saved, loaded, and shared efficiently.

Placeholder image for Serialization feature.
A screenshot of the Hibou Engine editor interface, showing various panels and a 3D viewport.

Architecture with EnTT

The engine's core is built on an ECS architecture using EnTT.

Flexible Build System via Sharpmake

Project and solution files are generated programmatically using Sharpmake, an open-source C#-based tool from Ubisoft.

A code snippet from the Hibou Engine project, demonstrating the build configuration.

Performance and Future Goals

This is a study project that I'm working in my free time focused on C# and C++ interoperability, don't expect a commercial roadmap since it's not my intention to create a commercial product.


Optimized for Games with EASTL

To meet the stringent performance and memory requirements of game development, the standard C++ library (STL) is being progressively replaced with Electronic Arts' EASTL. It is specifically designed for games, offering better control over memory allocation and superior performance in critical engine systems.

Roadmap: Visual Scripting

The primary future goal is to implement a node-based visual scripting system. The UI foundation is built with Nodify, and the current focus is on the underlying graph theory and logic execution. This feature aims to empower designers and demonstrate deep knowledge of tooling workflows.

Contact

Québec City, QC, Canada Available for opportunities

You can reach me on my social media platforms.