Rabbet is a from-scratch C++20 game engine with a sparse-set ECS, a modern OpenGL 4.1 renderer, and an ImGui-based editor called forge.

Stars

11

7-day growth

No data

Forks

0

Open issues

0

License

Apache-2.0

Last updated

2026-07-28

AI repository intelligence
FR-AI / ANALYSIS

Why it is worth attention

It combines a full-featured ECS, PBR rendering with post-processing, a dockable editor with live play/stop and asset management, Lua scripting with hot-reload, Jolt physics, and miniaudio audio—all built from scratch and well-documented.

Who it is for

  • Indie game developers building small 3D games
  • C++ programmers interested in engine architecture
  • Students learning game engine design and implementation
  • Developers seeking a feature-complete but lightweight ECS-driven engine

Use cases

  • Creating a 3D game like the included Orb Hunt demo
  • Prototyping gameplay using ECS and Lua scripting
  • Learning how to build a modern game engine from scratch
  • Developing editor-integrated tools for level design and asset browsing

Strengths

  • Sparse-set ECS with versioned handles and a system/resource runtime
  • Modern OpenGL 4.1 renderer with PBR, shadow maps, IBL, and a post stack (bloom, tone mapping, FXAA)
  • Full editor (forge) with dockable viewport, click-to-pick, gizmos, play/stop scene snapshots, and asset browsing
  • Lua scripting with hot-reload and inspector-editable fields, plus integration with physics and audio

Considerations

  • Only supports macOS and Linux; no Windows or other platforms yet
  • Single-developer project still under active development
  • Requires building from source with C++20, CMake 3.24+, and no pre-built binaries

README quick start

Quick start

Description

A from-scratch C++ game engine

Related repositories

Similar projects matched by category, topics, and programming language.

achimala
achimala GitHub avatar

TheLongSilence

A procedural space exploration game that runs entirely in a browser tab using WebGL2, generating every visual element from a seed with no external assets.

Game Development
177
Crushflalead
Crushflalead GitHub avatar

DragonSword-Awakening-Trainer

A single-player trainer for DragonSword: Awakening that provides various cheats and modifications to enhance gameplay.

Desktop AppsGame Development
18
alecjacobson
Featured
alecjacobson GitHub avatar

alpha-wrap

A CGAL-free, MIT-licensed reimplementation of the Alpha Wrapping algorithm that takes a defective triangle soup and produces a watertight, manifold, outward-oriented mesh with controllable level of detail and tightness.

C++
5