Harmony Engine

Welcome to the official site for HyEngine - a fully-featured, cross-platform 2D game engine and editor. (Under development)

Download HyEngine Read Documentation
Editor Icon

Powerful WYSIWYG Editor

HyEditor manages assets, builds, animation timelines, entities, visual layouts, and auto-generates clean C++ gameplay classes.

Rendering Icon

OpenGL / WebGL Rendering

High-performance 2D rendering with custom shaders, multiple windows, and fast WebAssembly builds.

Physics Icon

Box2D Physics

Stable, deterministic physics simulation integrated directly into Entities and the node system.

Spine Icon

Spine® Animation Support

Import Spine skeletons into HyEditor, configure animation states, and blend/mix at runtime.

CMake Icon

CMake Project Automation

HyEditor manages all CMake generation, source files, dependencies, and multi-platform builds.

Web Icon

WebAssembly Export

Optionally build and export your game for the web browser. HyEditor fully automates the Emscripten pipeline.

Pipeline Icon

Asset Pipeline

All asset management tasks from importing, iteration, replacing, to in-engine. Very efficient atlas packing and utilization, bitmap fonts, audio banks, tilesets, and Spine support.

Code Icon

Programmer-First Design

A clean C++ API with Nodes, Entities, animation floats, physics shapes, UI widgets, and more.

Harmony Engine is handcrafted code from over a decade, and I kept the following principles throughout its development:

Creating engine APIs that are convienent, understandable, and useful for the game programmer
Systems under the hood are performant and CPU cache efficient
Stick to minimal dependencies for robust platform support, including browsers via Emscripten

Along with HyEngine, I rolled all its tools, asset pipeline, and build process into a single editor program: HyEditor

🛠 Technologies Used

Engine OpenGL SDL2/GLFW Box2D glad glm stb JSON (nlohmann/rapidjson)
Editor Qt6 freetype2 freetype-gl libogg/vorbis
Build System CMake Emscripten MSVC Clang GCC