A Minecraft-styled cooking game designed for kids with ADHD and written-expression learning challenges (dysgraphia-spectrum spelling and writing difficulties). The player is a young chef earning the kitchen's trust with steady knife work, spelling order tickets, and building their own voxel restaurant day by day.
Every mechanic is a disguised therapy target — response inhibition, spelling, working-memory compensation, and self-regulation — wrapped in a game that respects the player's intelligence and never punishes mistakes.
Plays entirely with an Xbox or PlayStation controller. No keyboard skills required — and that's deliberate: spelling happens on a controller-navigated QWERTY grid (like console name entry), which quietly teaches keyboard layout for the day the player graduates to typing.
Everything is generated in code — pixel-art kitchen and dining-room backgrounds, the selectable chef avatars (Chef Max / Chef Maya), the blocky customers, the lo-fi background music, and all sound effects. No asset files.
No install needed: 👉 https://redmeatboy.github.io/blockworld-kitchen/ 👈
Open it in Chrome or Edge, connect a controller (USB or Bluetooth), press any button on it, and you're cooking. Saves live in the browser, so play on the same device/browser to keep your chefs' progress.
(Deployed automatically from main by .github/workflows/deploy.yml.)
npm install # first time only
npm run devOpen the printed URL (usually http://localhost:5173) in Chrome or Edge.
Connect a controller via USB or Bluetooth, press any button on it, and you're
cooking.
Sound matters: the chef speaks the orders and spelling words aloud (browser speech synthesis), which is part of the therapy design. Volume on.
To make a hostable build: npm run build → static site in dist/.
| Controller | Action |
|---|---|
| A / Cross | confirm, pick letter, chop, grab an ingredient on the dive |
| B / Circle | erase letter, send dish out whole (no-cut orders!), float up from the dive |
| X / Square | hear the word again (unlimited, free); switch chef on the title screen |
| Y / Triangle | Chef's Glance — re-shows the word briefly (limited per night) |
| D-pad / left stick | navigate, swim on the Cellar Dive, change grade on the title screen |
| Start / Options | pause |
| Select / Share | parent dashboard |
Keyboard fallback: arrows, Enter=A, Backspace=B, 1=hear, 2=glance,
Esc=pause, Tab=parent dashboard. Letter keys type directly into spelling —
a built-in growth path from controller to keyboard.
The game boots to a CHOOSE YOUR PLAYER screen with three independent save slots, so up to three kids (e.g. siblings) each keep their own chef, grade, day count, knife trust, recipe book and settings — nothing is shared between them. Pick a slot with the d-pad and press A to play; an empty slot starts a fresh chef. Y renames a slot (cycles fun preset names), and Select erases one (with a confirm). Switch players any time from the title screen with Y. A pre-existing single save is automatically migrated into Player 1.
Pick Kindergarten–Grade 6 with the d-pad on the title screen. Word banks follow the word-study progression of the Alberta English Language Arts and Literature (2022) curriculum:
| Grade | Word focus | Example words |
|---|---|---|
| K | Letter sounds, simple CVC | EGG, JAM, CUP |
| 1 | CVC words, blends, digraphs, silent-e | EGG, CHIP, CAKE |
| 2 | Vowel teams, common patterns, early 2-syllable | PEACH, HONEY, CARROT |
| 3 | Compound + multisyllabic words, common affixes | PANCAKE, SANDWICH |
| 4 | Complex patterns, longer multisyllabic | CINNAMON, PINEAPPLE |
| 5 | Prefixes/suffixes, irregular plurals (f/o/y) | TOMATOES, LOAVES, CASSEROLE |
| 6 | Loan words, Greek/Latin-derived, hard morphology | GUACAMOLE, INGREDIENT, MOZZARELLA |
Grade also scales the whole game: word-flash time shrinks, cut counts and cut-line speed rise, and the chef calls more "HOLD!" inhibition tests. Within each grade there are three tiers that auto-adapt to the player's recent first-try success — no grinding mastered material, no walls. Kindergarten and Grade 1 nights are shorter (3 orders instead of 4) to match younger attention spans.
Six original chiptunes rotate night by night — from the bouncy "Block Party Bounce" to the sneaky "Midnight Snack" — all switching to slow warm pads during the sharpening wind-down. While the player is spelling, the music whispers the target word once every 30 seconds — gentle ambient rehearsal, never nagging.
The chef speaks with one of two voices, switchable on the pause menu: the friendly helper or fiery Chef Blocksay — a deep, quick, very British head-chef delivery (same kind words, much more drama). Pause menu (Start): Y toggles music, X toggles the voice.
- Tonight's Menu — the 4 words are previewed up front (pre-exposure sets the player up to succeed; it's also a visual schedule).
- The Cellar Dive — swim down a deep, dark cellar shaft to gather tonight's ingredients (Dave the Diver's gather-then-serve loop, turned into a root cellar). Your lantern lights only a circle around you; a candle timer melts visibly, and deeper zones (Pantry Shelves → Stone Cellar → Crystal Deep) hold higher-trust finds — go deeper on a shrinking candle, or play it safe? Living ingredients (fish, crabs, gummy worms…) patrol the dark and dart away from button-mashing: a calm, timed press catches them. From grade 2 up the dive list starts hidden — hold it in working memory, or press X to peek (the same compensation move as the Chef's Glance). Candle out or B just floats you back up and the reserve shelf covers the rest — but gathering everything yourself with no wrong grabs earns the PERFECT MISE EN PLACE bonus.
- Dinner service — for each order:
- The chef speaks the order; the word flashes visually, then hides.
- The player spells it on the controller letter grid.
- Then cuts the ingredient at the Knife Station — a real voxel model (the FISH looks like a fish, the CAKE has tiers and a cherry), with the chosen chef standing at the board swinging the knife on every cut.
- Sharpening wind-down — slow, breathing-paced whetstone strokes.
- Results — stars, Knife Trust, possible knife unlock, and a word recap: every word from tonight, spelled correctly, one more look. The final order of every night is the ⭐ Daily Special — double trust on its spelling, a built-in finale.
- Build — place an earned decoration block in a persistent restaurant. Every block is a real kitchen upgrade: the Potted Plant grants an extra Chef's Glance, the Old Clock keeps words on screen longer, the Kitchen Cat protects a spelling streak once a night, the Trophy pays bonus trust on perfect cuts, the Lantern widens the cut zone, the Fish Tank calms the cut line… Active powers are shown on the menu screen each night, so the restaurant the player builds literally makes them a stronger chef.
Other touches: a visual countdown bar shows exactly how long the word stays on screen (visible time, an ADHD support), consecutive first-try spellings build streaks with confetti, bonus trust, and a tracked personal best, and every served dish gets a reaction from a blocky customer (Miner Mo, Builder Bea, Redstone Rex…). The sharpening wind-down shows the player's actual trust-tier knife on the whetstone, edge gleaming brighter with every breathing-paced stroke. During spelling the dish name is deliberately hidden — "Vanilla Milkshake" on screen would spell M-I-L-K for you.
The Recipe Book (B on the title screen) collects every word ever spelled first-try as a mastered recipe stamp, grade by grade — locked recipes show as mystery cards to hunt down. 330+ food words across the seven grade bands — meals, fruits and veg, plus condiments, spices, sauces, cheeses, and a pile of weird-and-funny cuttables (gummy WORMS, candy EYEBALLs, jiggly BRAINS, a giant GUMMY bear, stinky DURIAN, even a wiggly TENTACLE).
The final order is announced as "LAST ORDER OF THE NIGHT" — a built-in transition warning for kids who struggle to stop a preferred activity.
| Mechanic | Target |
|---|---|
| Cellar Dive (gather tonight's ingredients in a dark real-time descent, list hidden from grade 2 up) | Planning/organization EF training + working-memory practice with a built-in compensation move (peek) |
| Visible melting candle + deeper-is-richer zones | Time awareness and felt time-management decisions, with a no-fail floor |
| Living ingredients that flee button-mashing but reward a calm, timed grab | Patience and response timing — impulse control with an immediate natural consequence |
| Spelling order tickets (word heard + flashed, then spelled) | Spelling/written expression — without the fine-motor handwriting bottleneck |
| QWERTY-arranged letter grid | Keyboard geography for future typing/assistive tech |
| Chef's Glance (re-show the word, limited uses) | Working-memory compensation: turn heard (weak channel) into seen (strong channel) |
| Wrong spelling → funny wrong dish, correct letters kept | Errors stay playful; retries always shrink the problem |
| Knife Station: cut only when the moving line is in the zone | "Slow down for accuracy" — counters impulsive rushing |
| WAIT… / NOW! hold calls | Go/no-go response inhibition (the core ADHD deficit) |
| No-cut orders (press B, never A) | Withholding as a win condition — impulse control framed as elite chef discipline |
| Knife Trust progression (wooden → stone → iron → gold → diamond → ten glowing cosmic tiers up to the Singularity Knife) | Identity-based motivation: the kitchen trusts you with sharper tools because you've shown control |
| Sharpening wind-down with breath cues | Disguised mindfulness/regulation practice |
| Persistent restaurant building, where every block grants a kitchen power | Creation-based reward with real in-game meaning (works where sticker charts don't) |
| Menu preview, order-progress dots, last-order warning | Visual schedule + predictable transitions |
| Grade bands + adaptive tiers | Right-sized challenge; no repetition of mastered material |
| Engine Check-in before each shift (🐢 slow / 😊 just right / 🚀 racing) | Alert Program-style arousal self-labeling, with matched micro-strategies (grounding breaths for a racing engine) |
| Move Break after the last order (jumping jacks, wall-sits…) | Intense physical movement — the best-evidenced ADHD regulation tool — built into the session structure |
| Mid-service Body Check pause (thirsty? bathroom? wiggly?) | Interoception practice: noticing body signals before they become accidents |
| First-Served memory quiz at night's end | Episodic working memory — recalling the sequence of your own evening |
| Phase Map strip (📋 › 🧺 › 🍳 › 🔪 › ⭐ › 🧱) always on screen | Visual schedule: always know where you are and what comes next |
Press Select (or Tab) anywhere: first-try spelling %, hint usage,
pantry-run grab accuracy, WAIT-call success rate, no-cut success rate, and
cut precision — measurable movement on the skills above. Shift+R on the dashboard resets all progress
(keyboard-only, so kids can't trigger it).
Progress saves automatically in the browser (localStorage).
Intense physical movement is one of the best-evidenced regulation tools for ADHD. Consider a real-world "shift change": 10 jumping jacks or a hallway sprint before starting the next in-game day.
npm run dev # dev server with hot reload
npm run build # production build → dist/
npm test # builds, then plays a full game day headlessly (Playwright)The E2E test (scripts/smoke.mjs) walks every scene with keyboard input and
fails on any runtime error. It needs a Playwright Chromium
(npx playwright install chromium; on Linux you may also need
npx playwright install-deps).
Stack: Vite + Three.js + vanilla JS. No backend, no accounts, no data leaves the browser.
- Recipe Book — players author their own dishes with sentence templates (sentence-composition practice; combining is an on-ramp to composing).
- Chef gauges — hunger/hydration meters that prompt real-world body check-ins (interoception support).
- Camera-based movement breaks between services.
- More Dave the Diver-style systems: a dinner-rush serving phase with a Coins economy, hireable staff, and rare giant "boss ingredients" that need multi-stage cut sequences.
MIT — see LICENSE.


