Inspiration

Scientific vocabulary looks like thousands of arbitrary words. It isn't - it's a few hundred reusable Greek and Latin fragments, recombined. I'm a health researcher doing a PhD in adolescent chronic pain, and I've watched students drown in terminology that was never taught to them as a language. Lexworks is the game I wished they'd had: once you own tachy and cardia, you can read words you've never been taught. That moment of inference is the whole game.

What it does

You are a Restorer. The Glossophage doesn't eat language - it eats the understanding between form and meaning, severing roots from definitions until only plausible noise remains. You recover the morpheme fragments, claim them for the Lexicon Archive, then combine them into real scientific terms, infer unfamiliar ones from parts you already own, and defend the Archive in a chapter-ending breach encounter.

The governing loop: recover → practise → claim → combine → infer → defend → restore. The governing rule: fun first; every mechanic must also teach.

How we built it

Vanilla HTML/CSS/JavaScript, no framework, no install, with a curated terminology library (src/data.js) as the single source of truth. Built with Codex and GPT-5.6 throughout Build Week.

GPT-5.6 lives in one deliberately bounded place in the game: a Cloudflare Worker calls the Responses API (strict JSON Structured Outputs, no tools) to generate fresh applied field reports for the Inference Tray and the Glossophage's dialogue. Everything that must remain true - terminology, definitions, answers, scoring, mastery, timers, boss mechanics - stays curated and deterministic. The model provides freshness; Lexworks protects truth.

An authored fallback pack ships with the game, so a missing key or API outage leaves the complete chapter fully playable. The API key never reaches the browser.

Challenges

The hardest design problem was where not to put the model. The obvious move is GPT-as-brain, but a learning game whose scientific content could hallucinate is worse than no game. Bounding GPT-5.6 to narrative freshness while keeping the pedagogy deterministic took more design discipline than any feature. The second challenge was honest scope: cutting a five-volume progression design down to one complete, polished chapter a stranger can finish.

Accomplishments

A complete playable chapter. A 106-test automated suite covering the terminology data and distractor rules. Graceful degradation the player never notices. And a world - the Archive, the Restorer, the Glossophage - that makes error-detection feel like heroism rather than homework.

What we learned

Bounding an LLM tightly turned out to be a strength: the constraint produced a cleaner architecture and, unexpectedly, a better story. I also learned that Codex works best with a strong design document to push against - the clearer the brief, the better the build.

What's next

This chapter is the proof of concept. The full progression is already designed: chapters grouped into Volumes - Foundations (high-transfer fragments shared across the sciences), The Living Archive (biology, anatomy, medicine and health), Earth and Atmosphere, Instruments and Observation, Change and Process - with claimed fragments carrying forward as the player's power. Master the library and you can read your way from cardiology to climate science.

The deeper ambition is access. Terminology is one of the quietest walls around the sciences: it makes knowledge look like it belongs to someone else. Students, patients reading their own charts, curious people who bounced off jargon - Lexworks turns that wall into a door by teaching the language as a language, playfully, in a browser, for anyone. The bounded GPT layer also makes linguistically adapted editions possible: fresh narrative in a learner's own language, while the expert-curated terminology stays authoritative.

Lexworks is built to grow into a small commercial learning game - one where every round of play leaves someone a little more able to read science for themselves.

Ready to defeat the Glossophage?

Built With

Share this project:

Updates