大话骰 is the first game the owner hand-prompted into existence, iteration by iteration, over one long day — and it became the specimen: the build where the device's design questions got answered by playing, not by arguing. This page records the design, the inventions, and every law the day paid for, so the next game starts here instead of at zero. Companion pages: the game device · building a cartridge.
The deepest structural decision. Not two engines but three: the day proved that "LLM" is itself a split — a flash tier for tasks needing zero intelligence but a mouth, and the pro tier for judgment, negotiation and performance.
The owner's mental model — game device · tools · genre · rulebook — held, and the specimen refined it in three places: genre now contains named machine parts (not just vocabulary), a new flash seam sits between the device and the persona, and the collect phase joined the device as a reusable phase primitive.
Every widget below rides the orthogonal toolbox — the room's instrument architecture(the toolbox index is the hub; the twelve rulings · the definition of done · the open/close/reveal lifecycle). The dice game reused its instruments whole(the roll card became the sealed cups; the board grew its third row-mode; the button was already the device's move)and grew the toolbox three NEW pieces: the strip, the envelope, and the tick-as-confirmation.
| widget | what it is | reuse in other games |
|---|---|---|
| The strip | a composer-row bid builder: count/face steppers, the 斋/飞 two-state pill(never neither; face-1 welds it to 斋), the move chip past a divider. Every tap FILLS the composer; the user sends. Prefilled with the minimum legal call on your turn. | any structured-move game: auction raises, 20Q guesses, quiz wagers. The pattern is「compose from the envelope, send by hand」. |
| The legal envelope | the server computes the compose-space(min count per mode, face floors, locked lanes, whose turn, the table ceiling)from the SAME module that validates, and pushes it with every game update. The client only clamps — a fence, not a judge. | the one honest way to give a client rule-aware UI without a second rules implementation. |
| The 👍 tick jar | a legal move's confirmation is a REACTION on the move's own bubble — a random pick from the owner's emoji jar — never a reply. | any accepted move, any game. Confirmation without conversation. |
| The move button | the game's decisive act(开盅)as ONE cartridge-labelled chip; fills its word, greys while its fill sits untouched, the send routes through the press door and speaks as the presser's own bubble. | 抢答 · stop · 再来一局 — any first-past-the-post act. |
| The ladder board | the pinnable board as the ROUND's live view: arrow on whose turn, each seat's last call, the open's outcome in bold, the final winner view(**赢家** / struck 出局). | the third board row-mode(players · log · ladder)— any per-seat-state game. |
| Order auto-lock | not-your-turn dims the bid side of the strip (the challenge chip stays live for all)— the rotation made visible. | any strict-order game. |
| The interpreter contract | the persona reads NL into a strict
<entry/> tag; the world rules it. On flow rooms a flash call does
the reading and the panel is bypassed entirely. | the collect phase's core — word chains, auctions, any ruled window. |
| The flash voice + capsule | device notes(plain names, exact numbers)voiced by v4-flash wearing the host's profile head; markers minted by code after; fidelity checks with a pro fallback. | every game's facts-only moments,
via moment.voice="flash" in the schema. |
Responsiveness was treated as a first-class requirement, and it decomposed into four disciplines:
| beat | engine | measured(final audit suites) |
|---|---|---|
| bid → 👍 tick + board | flash + code | median 1.0s(n>400) |
| press → verdict line | code + flash | median ~2s clean · 6–8s when the voice fell back(now rare) |
| last shake → round-open line | code + flash | median 3–5s |
| question at the host | pro(full turn) | the normal turn time — worth it |
The owner's ruling, now a standing law: never hardcode what a persona says. The device writes a NOTE — bare facts, plain names, exact numbers — and a mind speaks it. What keeps the mind honest is fidelity by construction: every roster name, every number(accepted in either script — 5 or 五 or 两), and every bold span must survive into the line, checked by code; the mention markers are minted by the device on the way out, never trusted to the model; one cold retry, then the full pro fallback. What keeps the mind alive is the persona capsule(the profile's head riding every flash call as a constant, cache-friendly prefix), warmth(t=0.6 behind the guard), and one varying fact per repeated note(「第2圈叫满」)so identical moments stop producing identical lines.
MrBeast, same machinery: 「好,@Nora先叫。一共15颗骰子,你们三个都5颗……来吧,别怂。」· 「Leo开盅!来,所有盅一起掀——」
村上隆, same machinery: 「开来看。全场四:零。一点五个,但斋了不算。这局是斋到底的。」· 「沉默太久,也是一种回答。但规则不会替你选。」
A hype-man and a superflat artist, from the same notes — neither dropping a digit.
The specimen went language-agnostic per the i18n
plan. The shape: canonical ids are ENGLISH(plain / zhai / fei, dial ids,
reason codes)and never localize; every word a player sees renders once, through
the kit's own per-language lexicon block(zh + en, key-parity linted). The runner's
notes, board cells, void reasons, verdicts and nudges all go through one
lex() door; the bid strip reads a terms slice the envelope carries, so
the client owns no words; the interpreter hears every synonym family(no wilds · wild off ·
spot only · pure → zhai; with wilds · wild on → fei)and a read-time normalizer maps
legacy tokens and stray phrasings onto the ids. A room mounted before its kit had a
lexicon falls back to the shelf's current block — caught live as a board cell rendering
****.
What the live English game taught: the machinery held(bids med 1.1s, every ruling correct, the board and strip fully English)— but the English flash voice paraphrases harder than the Chinese one: 64 dropped-fact rejections in one game, every round-open churned onto the ~10s pro fallback. The fix stayed inside the voice law: the capsule now names the list-keeping duty, and the cold retry carries a checklist of exactly which names and numbers must survive. Fidelity is cultural, not just numerical — a guard tuned on one language's habits must be re-measured in the next.
Each row was a live incident first. This is the section future builds should read twice.
| law | the incident that bought it |
|---|---|
| The verdict is arithmetic. When the machine holds every term(claim · cups · reading), who-pays is computed, never asked. | the GM counted three 2s correctly, said 差了一颗 — and took the die from the CHALLENGER. Right count, inverted direction. |
| One number in view, ever. A ruled window's tally prints THE applicable count with its breakdown — never both readings. | handed plain and wild sums side by side, the host said 一颗都没有 over a wild count of 2. |
| Cold mouth for facts, warm mouth for talk. Moment turns run at t=0.3; conversation keeps its spark. Temperature never touches the prefix cache. | at the provider default(1.0)the recitation garbled twice(面上两颗 over a face count of one). |
| Fidelity by construction, not by instruction. Plain names in the note, markers minted by code; numbers accepted in both scripts; bold guarded. | asking the model to copy @{u:N} verbatim failed 136 times in one suite — it condenses, and Chinese numerals are not disobedience. |
| The program waits for its own line. An async voice must hold the runner (the speech wait)before the next beat. | the ending played backwards: the reveal spoke before the verdict, then the late verdict re-announced the winner. |
| Persist after the advance. Any path that moves the program off-drain persists when it is done moving. | flash-landed advances lived only in memory; a restart(or any disk reader)resumed a stage the room had left. |
| Chosen silence must be legible to every surface. When「nothing」becomes a lawful answer, every watcher that read nothing-as-failure must learn the difference. | the「didn't respond」banner · the empty bubble(the one extractor missing the router's drop line)· the eternal thinking bubble on held turns · the other players' bubbles — four sightings, one family. |
| The staging layer holds no rulebook. The floor producer may route and pace; it must never judge a move's legality. | taught the player-window, it benched the host over bids it declared 合法 — including two illegal ones. |
| Structure beats teaching for restraint — but the owner chose teaching + the machine. Persona-prose restraint lost to the staging; staging-taught restraint over-held; the resolution was to move the JUDGMENT to code and leave only voice to the mind. | the referee's-silence arc, three rounds of it. |
| The interpreter reads this turn only. History is already ruled; a re-tagged old bid sprays false voids. | a fall-through panel turn re-tagged the whole ladder; the machine voided the duplicates correctly and confusingly. |
| The table is the ceiling. 8 dice cap every face at 8 — a claim past the dice that exist is refused by arithmetic. | the owner's own question(「8 of ones or 16 of others?」)— the answer is 8, for every face. |
| A fence is not a judge. The client clamps to the envelope; the server still rules every send. | the strip's locks are conveniences; the validator is the law — hand-typed bids get the same door. |
| Caches shape prompts. Per-room-constant capsule prefixes; append-only history; pro and flash caches are separate and both survive everything except editing the past. | verified live: ~99% cache reads through a day of temperature flips and flash traffic. |
The acceptance run was not a demo but an adversarial audit: sim players驱动 by an independent replica of the rules(written from the owner's flowchart, no shared code), playing full games with multiple circles per round, deliberate illegal and out-of-turn bids, and Chinese-numeral phrasings — checking five dimensions after every single move: L1 logic(order · validity · verdict)· L2 narrative-vs-code · L3 speed · L4 the board · L5 the envelope. Twelve games across four suites; each suite's failures became fixes before the next.
| suite | found | fixed before the next |
|---|---|---|
| 1(4 games) | marker-fidelity churn(verdicts 8s)· fall-through re-tagging · driver divergence on timeouts | names-then-bind · the no-retag teaching · replica resync |
| 2(3 games) | every game「stalled」— actually the persist gap: flash advances never reached disk(a restart would have hit it too) | persist after the advance |
| 3(3 games) | Chinese numerals rejected as infidelity(136→82 rejections)· round-open notes still churning | both-script numbers · compact Chinese note forms |
| 4(2 games) | bold spans dropping · identical notes → identical lines | the bold guard · the circle number varies the note |
The meta-lesson: the audit reads the room the way a RESUME does(from disk), which is exactly why it caught the persist gap no live client ever would. And the machine's core never once failed a logic check — every failure across twelve games was in the narration seam or the audit's own harness.
voice:"flash"
with a compact note; judgment or negotiation → the panel, cold for facts(moments at
t=0.3).