Skip to content

Introduction

labelle is a declarative 2D game engine built with Zig. It provides comptime scene loading, an Entity-Component-System (ECS) architecture, physics integration, and multi-platform support.

  • Comptime Scenes - Define scenes in .zon files with zero runtime parsing overhead
  • ECS Architecture - Flexible backends with zig_ecs or zflecs
  • Physics - Box2D integration for rigid bodies, colliders, and constraints
  • Multi-Platform - Build for desktop, iOS, Android, and WebAssembly
  • Graphics Backends - Choose raylib or sokol for rendering
  • Developer Experience - labelle-cli for project generation and builds

Define scenes declaratively in .zon files:

scenes/main.zon
.{
.name = "main",
.entities = .{
.{
.id = "player",
.prefab = "player",
.components = .{ .Position = .{ .x = 400, .y = 300 } },
},
},
}