Glyphborn — Language Learning as a Roguelike
I built a roguelike where language is the magic system. It's open source, half-finished, and I'd love help breaking it.
The problem
Three years of streaks, flashcards, and very polite owls have given me roughly the vocabulary of a tired toddler.
I love learning languages. I hate every app that's tried to teach me one. So I built the thing I actually wanted to play.
What it is
Glyphborn is a browser roguelike where every enemy on the floor is a real word in the language you're learning. The fire elemental is 火. To kill it, you decode it.
Get the quiz right — the door opens. Master a glyph, and the next time it appears on a tile, it shows up dim and weak.
Spaced repetition, but with a sword.
The architecture
The LLM is the Dungeon Master.
One Claude call at the start of a run generates the entire dungeon — floors, enemies, quizzes calibrated to your level, a boss riddle, and a merchant who insists on haggling in Mandarin. Then the game runs fully offline.
Adding a new language is basically: drop some seed words in a file, let Claude do the worldbuilding.
Adding Russian took an afternoon.
Adding Arabic took an afternoon and a small existential crisis about right-to-left text.
The honest part
It's not finished.
The Arabic still has rough edges. The mobile controls technically work, in the way a folding chair technically works. There's a TODO list I refuse to look at directly.
I'm publishing it anyway — because the alternative is polishing it forever in private and never showing anyone.
Why I want collaborators
The languages I most want to add are ones I don't speak well enough to seed alone.
The community-runs system is already wired: anyone can publish a generated bundle to the shared library. It's only as good as the people uploading.
If you're a language learner, a teacher, a gamedev person, or someone who's looked at a Duolingo streak and felt absolutely nothing — please come help.
For devs
Stack: React 19 + TypeScript (strict), Vite, Zustand, HTML5 Canvas
No game framework — handwritten FOV and scanlines
No Math.random() — every run is seeded for replays and deterministic tests
Auth/sync: Supabase (optional cloud sync)
LLM: Anthropic
Onboarding: there's a that explains the rules so you don't have to spelunk
Remohw introduces Glyphborn, an open-source roguelike game that uses language learning as its magic system. The game is designed to make language learning engaging by integrating it into gameplay, where players decode words to progress. Remohw seeks collaborators to help expand the game's language offerings and improve its features. The game uses React, TypeScript, and Supabase for optional cloud sync.
Great, another slop post.
⭐ the repo, open an issue, fork it and break it.
I'll be in the issues, gently apologising.
https://github.com/sullytobias/GLYPHBORN (The REPO)
https://sullytobias.github.io/GLYPHBORN/ (The APP)