Horizon Engine

A minimal, high-performance game engine built for the modern web. Native speed meets browser portability through WebAssembly.

Built for Performance

WebAssembly Core

Compiled to WASM for near-native execution speed. Run complex simulations and rendering pipelines directly in the browser.

ECS Architecture

Entity-Component-System design for cache-friendly data layouts and scalable game logic. Compose behaviors, not inheritance trees.

WebGPU Renderer

Next-gen graphics API support with automatic fallback to WebGL2. PBR materials, shadow maps, and post-processing out of the box.

Quick Start

Get a scene running in just a few lines. The engine handles the rest.

main.zig
const std = @import("std");
const hz = @import("horizon");

pub fn main() !void {
    var engine = hz.Engine.init(.{
        .window_title = "My Game",
        .width = 1280,
        .height = 720,
    });

    engine.world.spawn(.{
        hz.Transform{ .pos = hz.Vec3.zero() },
        hz.MeshRenderer{ .mesh = "cube" },
    });

    engine.run();
}

WASM demo will load here