One engine. Every genre. No shortcuts on safety.
glemy is a type-safe game engine written in Gleam — physics, rendering, and game rules checked by the compiler before they ever reach a player, the same code running on a server and in a browser. Most engines make you choose between moving fast and staying safe; glemy is built so you don't have to.
What glemy is
glemy is a general-purpose game engine, not a game — even though the only way to see it working right now is to play one. It's being built to run whatever genre a real game actually needs: physics, rendering, input, and game rules that compile-check before they ever run, the same code executing identically on a server and in a browser.
That's a harder bar than it sounds. Most solo-built engines are really just one game's internals with the game-specific parts left in — reusable only by accident, if at all. glemy is built the other way around: genre-agnostic physics and rendering primitives at the core, with every game-specific rule — how pieces merge, what counts as a win, what the score means — kept out of that core and layered on top as data the engine reacts to, not logic it hardcodes.
Proven one real game at a time
A game engine that's never shipped a game is a diagram, not an engine. glemy's first proof is Tiers, below — a Suika-style merge puzzler built specifically to stress-test the physics, the WebGPU renderer, and the game loop against a genre with real, well-understood mechanics to get right. It's not the destination. It's the evidence.
Tiers
Drop. Merge. Climb. Don't let it overflow.
A Suika-style merge puzzler and glemy's proving ground: drop circles, merge same-tier pairs into the next size up, keep the stack under control. Runs live via WebGPU, right in your browser.
More games, in different genres, are next — tracked, not just promised, in the public roadmap.
Why it's built this way
Bugs the compiler catches, not the player
Physics, collision, and game rules are all pure, tested Gleam. The FFI boundary is kept as small as the platform genuinely requires — and no smaller a promise than that.
One codebase, two runtimes
The exact same game logic runs on Erlang/BEAM and compiles to JavaScript for the browser. Nothing target-specific hides in the core.
Nothing hidden
Every real decision — including the ones that didn't work — is logged and public on the devlog. No black-box roadmap, no surprise pivots.