Inspiration

Most language apps teach English in isolated drills: tap the right word, fill the blank, move on. But people learn a language by using it, by asking for things, making plans, keeping promises and making mistakes with real consequences. We wanted a place where English is the only way to get things done, and where the world remembers what you said.

What it does

RoleApp is a small 3D block town you explore and change by speaking or typing in English. It has three modes:

  • Roleplay (free play): Walk into the bakery, library or café and talk freely with the townspeople. A language coach evaluates each sentence, gently corrects mistakes and suggests a more natural version. Objects around town are vocabulary challenges ("What's this in English?"), and synonyms count too. New areas, like the Misty Isles, the market and the alchemy lab, unlock with XP you earn through conversation.
  • Adventure (story mode): A four-chapter story that grows from A1 to B1. Quests complete only through what actually happens in conversation: an NPC really handing you an item, a meeting you agreed on by text and then showed up for, a spell cast with a correct English sentence. NPCs remember events and gossip to their friends, and their sympathy and trust toward you change over time. Interactive cutscenes pause and ask you to answer in your own words.
  • Dub the Scene: Pick a public-domain film scene and a character, record the lines, get word-level accuracy feedback, and replay the scene with your own voice.

Progress is saved per player. A Progress Journal shows level, grammar and vocabulary by CEFR level, and a Spell Book tracks the words you struggle with. NPCs weave those same words back into conversation, and the hardest ones become the spells you cast to open rune gates.

How we built it

  • NPC dialogue: NVIDIA Nemotron on Nebius Token Factory. Every character's reply is generated by a Nemotron model through Token Factory's OpenAI-compatible API. Each prompt carries the character's role, the story moment, the chapter's CEFR level as a language ceiling, the player's relationship tier and the NPC's own memories.
  • Small judges instead of one big prompt: Separate model calls handle language evaluation and correction, deciding whether an item actually changed hands (offers and promises don't count), and reading whether a place and time were agreed for a meeting. Their outputs are validated by the API before anything changes in the game.
  • Game logic stays deterministic: Quests, cutscenes, NPCs, relationships and vocabulary live as JSON content files that the API validates at startup. Memories are never free-written by a model; they come from templates tied to real events.
  • Speech: Push-to-talk speech-to-text and text-to-speech for NPC voices and dubbing.
  • Stack: TypeScript + three.js + Vite client, FastAPI game API with SQLAlchemy and Alembic on PostgreSQL, a separate FastAPI AI service, and Docker Compose for one-command local runs.

Challenges we ran into

  • Letting a language model drive the story without letting it break the story. Our answer was a split: models interpret what happened, and validated game rules decide what it means.
  • Keeping NPC language at the right level for each chapter while still sounding natural.
  • Story order: players do things early, out of order. Quests had to recognize work that was already done instead of getting stuck.
  • An in-game clock where meetings, sleep and NPC routines all line up.

Accomplishments that we're proud of

  • A world that remembers: an NPC you've never met can say "I heard Maya gave you a honey cake."
  • Meetings with real stakes. Agree on a time by text, and if you don't show up, your friend is hurt and the town hears about it.
  • Spells made from your own weak words, turning mistakes into the key that moves the story forward.
  • Three very different ways to practice (conversation, story, dubbing) feeding one progress profile.

What we learned

Structured, small model calls with strict validation feel more reliable and more "alive" than one giant prompt. And learners stay longer when English has consequences in the world, not just a score.

What's next for RoleApp: English you live, not just study

More chapters, more towns and NPCs, mobile release, and teacher tools to assign scenarios and follow class progress.

Built With

Share this project:

Updates

Submission history