Betwixt Engine
The engine behind Betwixt, our action-adventure RPG. Built in C++ with a data-oriented ECS core, it is designed for destructible worlds, large-scale simulation, and deterministic online play.
Why we built it
Off-the-shelf engines are fine for many games; Betwixt needed a spine we could reason about under rollback, custom combat, and long-horizon tooling. Owning the stack lets us optimize hot paths, keep netcode deterministic, and ship editor workflows that match how we actually work.
Highlights
- ECS simulation (Flecs): combat, physics integration, and gameplay systems iterate in cache-friendly passes; state is shaped for serialization and replay.
- Jolt physics: rigid-body simulation wired into destruction, traversal, and combat feedback without fighting the game loop.
- Rollback-minded netcode: GGPO-style prediction and correction paths on the same deterministic core we use for local play and tests.
- In-engine tooling: Foundry and Athanor support content authoring, material graphs, and iteration without leaving the project.
Stack
C++, Flecs, Jolt, OpenGL, Tracy profiling, CMake presets, and Git-backed content pipelines. The public site and devlog live on the same monorepo discipline we recommend to clients.
See also
-
Betwixt public shell
Under construction. Stay tuned.
-
Bifrost
Smaller rollback networking reference implementation.
-
Wordkeep
Agent tooling we use on this codebase daily.