An iOS cooking game where realism emerges from a real thermal-physics solver, not animation
Every dish is data fed into one real thermal-physics solver.
A cooking game built on one universal, data-driven heat-diffusion solver, where every food, recipe, and tool is data fed into the same engine. A seared crust over a rare core, caramel hitting its burn knife-edge, and diced food cooking faster all emerge from real physics.
A look at the interface.
Representative UI — abstracted, never a client's real data.near you
- Swift
- SpriteKit
- Metal
- AVAudioEngine
- StoreKit 2
Cooking games fake realism with scripted animation that doesn't generalize. Mise instead simulates genuine thermal diffusion and Maillard browning so divergent, believable behavior emerges from the same solver. That makes content authorable as pure data and scores deterministically verifiable.
How it
works
A single spatial heat-diffusion solver with Arrhenius browning is the source of truth. Steak and caramel run the identical engine, and divergent realistic behavior emerges purely from each food's data profile. A Metal compute backend has a deterministic CPU reference used by a headless probe to prove emergent gradients. Audio is synthesized live from the simulation, art is procedural, and content ships in the binary. Zero servers, zero CDN.
What I built
(03) Inside the buildUniversal cook solver
A spatial heat-diffusion grid with per-face heating, an occupancy mask so cuts cook faster, pan thermal mass, and Arrhenius browning. Steak and caramel run the identical engine.
GPU + CPU parity
A real Metal compute backend with a deterministic CPU reference used by a headless probe to prove emergent gradients (surface searing while the core stays cool).
Data-driven content + economy
53 dishes across 8 packs are pure bundled JSON. Free packs funnel toward StoreKit culture packs that each add a new tool and gameplay verb, at $0/yr to run.
The
receipts
- 53 dishes on one solver: adding a dish is pure JSON, zero engine code
- Deterministic grading: the same engine scores whole vs burnt vs diced provably differently
- Fully synthesized audio derived from sim state, with zero sample files
- Procedural art and on-device economy keep running cost at $0