Where it stands
Phase 2's five decisions, open, and everyone's answers so far, with the latest shared reading. Phase 1's five stand decided beneath them. Tap one to read it and answer.
- Phase 2 · the maker's path · open
- 1.1111118The shape of the maker's path
- 1.11111148The shelf: whose list the door reads
- 1.11111158The live case: now, or after the plug
- 1.11111168What the door shows for each game
- 1.11111178The second game: David's Ghost Race
- Phase 1 · decided, 21 to 26 October
- 1.8The shape: a game is a family
- 1.18Ghost Wire first, with the plug
- 1.118Free entry first, the rate settled
- 1.1118A first cup
- 1.111118The build order and the front door
The words a stranger needs
- The beach
- A public store of small named blocks anyone can read, at beach.happyseaurchin.com. Writing your own needs only a name and a key.
- A family
- What a game is on the beach: its spine (the days or levels), its law, its room, and one mirror per player.
- A mirror
- Your own block in a family, at the same addresses as everyone else's. Only you can write it.
- The fold
- A reading across everyone's mirrors at one address. A top ten is a fold.
- The voice
- One script tag the beach serves. It writes your line into your mirror, and gives a newcomer a name and a key in one tap.
- The plug
- A second script tag, not yet built, that would give a game its board, its room and its results through the voice.
- The shelf
- The list of games the arcade's door reads. Today there are two lists and the door reads neither for games.
Sum up the answers again
The shared reading is a summary of everyone's answers that anyone may make, and the latest stands here for everyone until someone makes a better one. Reading the answers takes an AI, so it's made through yours.
If your Claude has the beach connected, paste this in. It reads every answer, sums up each decision and the whole, and keeps the summaries here.
Or for a quick summary in its own window, made with your own key. It doesn't keep one here.
In short · one tag, and nothing else as a kit
What a maker gets today
The voice. One script tag, served by the beach since this morning, that says, keeps, asks and drops a person's line into their own mirror under their own key; a mirror founded at its family's floor, so a daily game's lines land at the day's digits; a newcomer named and keyed in one tap, the same for every game and premiere; their settings, and their button where they have it on.
Behind it, one cached read of a family's mirrors and its fold, built for a crowd; one read of Ghost Wire's room alone, hard-wired to that one game; and a room for one founding, open live in the mirror. The arcade's door lists Ghost Wire by that one read and the premieres from each maker's list.
What a maker does not get: a plug (game.js answers 404), a board element, a recipe on the beach to follow with the voice, a place on the door, or the room on the door. So a second game made today is a separate system: a copy of Ghost Wire's page, by hand.
What the voice does, call by call
beachVoice.say({ field, at, text, name })— a line at one address in your mirror of a family; saying again there replaces it.beachVoice.keep— your whole mirror at once;ask— a question in your button's own window;drop— your mirror taken down.beachVoice.propose(),enter(),made(),known()— a newcomer named (a starling and four digits) and keyed on the spot, their mirror founded in one tap; a name already on the beach is asked its key by the browser./api/mirrors?family=…— every mirror of a family and its fold, one copy a crowd shares for fifteen seconds./api/board?game=ghost-wire— the only game it knows.
The kit meter what each gives
● the kit gives it · ◐ made by hand on the page · ○ not there. On a phone, tap a column.
In short · two arcades, built apart
What Ghost Wire has, and how it got it
Everything this proposal names, built by hand in one page. Matthew and Claude wrote it in an afternoon, some 2,700 lines: the day's wire from the clock, the room read whole by its own client, a run kept as a line in the room under a typed name or a guest name the phone keeps, every ghost re-run before it is shown, the board sorted on the page, the wave, challenge links, notes into the room, skins.
The beach gives it a public address, a room that keeps every line, and a clock. Nothing else: it writes no mirror and loads no voice, and its law is Matthew's own block. Three more games, Bat Sky, Rat Alley and Shark Reef, from ideas said in his makers' room, were made the same way: his make page tells an AI to copy Ghost Wire and save runs in pool:<game> exactly as it does.
So there are two arcades. Matthew's, with its own recipe, its own catalogue listed by his hand, its makers' room and four games; and the beach's door at /arcade, reading one of them. His recipe says it: until the shared kit stands, Ghost Wire's page is the reference. His Arcade is waiting for the same kit this proposal calls the plug.
Matthew's Arcade on the beach
function:arcade— his recipe: six rules (one move, quick, pure skill, provable, phone first, the shared extras) and how a game joins: put forward in the makers' room with its link and a line, listed by his hand.spine:arcade— his catalogue: Ghost Wire (21 Oct), Bat Sky (22 Oct, Soraya's idea), Rat Alley (23 Oct, Stacey's idea); Shark Reef on his page.pool:arcade— the makers' room, where the ideas were said; David's line there: I am working on an arcade to enable multiplayer.game:<name>andpool:<name>— each game's law and its room, founded by its maker. No mirrors, no voice.- make.html — the words to copy into an AI to make the next one; arcade.html — his own shelf.
Two arcades and the plug between them
Today: four pages each copy Ghost Wire's code and write their own room by hand; the beach's door reads one room by a hard-wired address. The plug is a dashed line.
In short · found it, two tags, three calls, list it, push it; the door does the rest
The path, as it will be
For a game made with an AI and kept on GitHub Pages, in six acts. A maker and their AI do five; the beach does one. Nothing of the maker's passes through anyone's hands: no pull request, no deploy on the beach, nobody's permission.
- Found it. With your own Claude holding the beach: read the recipe, then write three blocks under your own key. The spine (its days or its stops; a daily game stands on the clock), the law (its mode, the briefing a player sees, one line saying how its board ranks, its page's address, its room), and the room. Later the game form does this in one tap.
- Two tags in your HTML: the voice, and the plug with
data-gameset to your game. - Three calls.
today()for the day's address.result()when a run ends, into the player's own mirror at that address; a newcomer is named and keyed by the voice in one tap, a typed name stays a claim.top()for the board, one cached read. Or the ready-made elements, a board and a room, and no code at all. - List it. One line, the game's name, what it is and its page, on the shelf the door reads. Whose list that is, is the decision below.
- Push it.
git push; GitHub Pages serves it. The beach learns your page from your law and your line, never from your repository. - The door does the rest. It reads the shelf, draws your board from your players' mirrors, shows your room's last lines with a box to leave one, and links your page. The same path on any beach: the plug takes a beach's address.
A maker's page, in code example
<!-- two tags --> <script src="https://beach.happyseaurchin.com/button/voice.js"></script> <script src="https://beach.happyseaurchin.com/button/game.js" data-game="ghost-car"></script> <beach-board at="today" n="10"></beach-board> <!-- a top ten, no code --> <beach-room n="3"></beach-room> <!-- the room's last lines, and a box --> <script> const day = await beachGame.today(); // '2026414500' seeds the track // …the game runs exactly as before… await beachGame.result({ at: day, line: 'FINISHED 2.38s', proof: replay }); const ten = await beachGame.top({ at: 'today', n: 10, verify: l => GhostCar.rerun(l.proof).ok }); </script>
The game's law carries one line the plug reads, board: FINISHED, lowest first, best per player, so no page hard-codes how its board ranks. game.js doesn't exist yet: this is the shape it takes in steps 3 to 5 of the build order.
The three blocks a founding writes
spine:ghost-car— where play happens: a daily game's spine is the clock itself, so the day's address is the level; a game of levels lists them down its 1.function:ghost-car— the law:mode: game; the briefing at 1; the board line; the room at 3; the page's address at 6; the recipe it keeps (Matthew's six rules) named at 2.pool:ghost-car— the room: notes, challenges, talk, open live at mirror.onen.ai.- Each player's results land in
ghost-car:<handle>, which the voice founds for them; the board is the fold across those.
The shape of the maker's path: one recipe (Matthew's six rules, mounted), one plug served by the beach, the family founded by the maker's own AI under their own key, two tags and three calls on a page they host themselves, a line on the shelf, and the door doing the rest?
The shelf a maker lists on and the door reads: the keeper's catalogue (Matthew's spine:arcade: a game put forward in his makers' room, listed by his hand), each maker's own list (games:<handle>, found as the premieres are found, nobody's permission needed), or both, the door reading both and showing a game once?
The stepper a file becomes a game on the shelf
In short · the plug gives the result; the relay gives the race
The live case: two players seeing each other
David's Ghost Race, a car one skin among others: two players on the same track at once, each seeing the other, the first to the end wins. The plug gives it each player's finish as a result line in their own mirror, the board as the fold, the room, and the seats: the drop, which David put in this kit at tronic-glass, one tap taking a seat and your link dropping a friend in.
What it needs beyond the plug is the relay David scoped and answered in tronic-glass: introduced on the beach, then played player to player over a direct channel; a TURN server for the pairs that cannot connect; an edge room only to referee a cup. He said GO to the shape, to ping support in the arcade with a live Ghost Wire race as its first game, to edge rooms and TURN on his own Cloudflare account, and to the beach naming its relay. Nothing is built; the mirror's voice already introduces and connects each pair, and the change is a data channel where it carries audio.
For Ghost Race each page streams its moves sixty a second over that channel and draws the other's as a ghost. Nobody collides, so ping decides nothing about who wins, and each finish is proved by replay as a solo run is.
What David has already decided here
- The relay's shape: GO (tronic-glass 1.11118, 26 Oct).
- The first piece, ping support with a live Ghost Wire race: GO (1.111138), so we can trial using vercel for relay for games … but we need to check ping speeds.
- Edge rooms and TURN on his own account: GO (1.111148), I'll front the costs.
- The beach naming its relay: GO (1.111158).
- Seating players: DROP (1.118), this sounds like it should be related to any game, so it is part of the game-arcade kit.
None of these is asked again. What is open is only when the live case is built: inside the next lane, or after the plug stands.
Build the live case now, inside the arcade kit (the next lane: the room plug and the ping page with a live Ghost Wire race, beside the plug's reads and writes), or after the plug stands and Ghost Wire is on it, as a lane of its own?
Two phones, one track the other's car as a ghost
Each phone draws its own car at once and the other's where it was a ping ago. Who finishes first is read from each car's own proved run, so the ghost's lag changes nothing.
In short · the plug is mapped; the shelf, the room and the door were not
Mapped, and missing
Mapped: steps 3 to 6 of the build order (the recipe; the plug's reads, today, top, room, here and wave, and its writes, result, room and here; the ready-made elements; Ghost Wire plugging in; a second game; the form); the relay's four decisions and the seating; the cost sheet; the honest board; being found as the premieres are found.
Missing, and set right here: the shelf (two lists exist and the door reads neither for games); the room on the door (Matthew's games take notes and his makers' room takes ideas, and the door shows none of it: there's no messages that people can leave); the maker's path as one sequence (now written above); who makes the second game; and what the door shows for each game, decided below.
Smaller, in code
- A line said through the voice is capped at 2,000 characters, about twelve seconds of a Ghost Wire replay. The plug's result must carry a proof past the cap: the proof in its own slot beneath the line, or kept in the room as now.
- The door cannot re-run a proof, so its board is claims until the plug's verify runs on the maker's page, or a keeper folds it.
- Two recipes would fork the arcade, so the recipe on the beach mounts Matthew's six rules rather than writing a rival.
What the door shows for each game: its room's last three lines with a box to leave one (through the voice, a name proposed for a newcomer), its board cut to three with "see the ten" on the maker's page, and the day's count of runs and players?
The build order and the rings this phase closes
Steps as their STATE stands on the beach tonight. An open ring is a gap this page names; it closes when its decision stands.
In short · yes for the plug; not yet for the second game
Is the next stage prepared?
Yes for the plug. The next lane builds steps 3, 4 and 5 in the beach's own code with no new decision: the plug beside the voice, the recipe as one block that mounts Matthew's rules, the board read from any game's mirrors (Ghost Wire's room still where no mirror stands), and the door reading the shelf and showing what the decisions above say. One lane, a day.
Then step 6: Ghost Wire plugs in, by Matthew's permission already given, his room staying as it is and named players gaining a signed best. After it the second game, which tests the recipe alone, with no hand of weft's on it. The natural second game is David's Ghost Race, made with Keel and put on GitHub Pages, plugged in from the recipe and the page's words only. If it needs weft, the recipe failed and is mended before the form. The live case follows its own decision; the game form waits for the second game.
The second game is David's Ghost Race, made with Keel and plugged in by the recipe alone as the test (the live race following the relay), or another game first, say one of Matthew's three already on his shelf?
The lanes ahead what follows what
The plug's lane needs no decision. The live case moves with the decision above; the second game and the form follow Ghost Wire.
Phase 1 · the proposal of 21 October, and what it decidedOpen to read it as it was written: the shape, how a game plugs in, the money, the cup, growth and the build order, each with its decision and everyone's answers. Steps 1 and 2 are live; the rest stand folded as each step's STATE.
- LIVEThe shape, decided: GO from Matthew, David and weft. The shelf's door stands at /arcade since 26 October.
- BUILDINGHow a game plugs in: GO from all three; the ground laid in the voice; none of the three pieces stands yet.
- SCOPEDThe money: the rate by David's CHANGE, a thousand credits to the pound; free entry first; nothing in code until step 7.
- SCOPEDThe cup: GO from all three; waits for step 7. David's head-to-head is the live case above.
- SPECIFIEDGrowth: no decision; the cost sheet written 26 October answers David's ask about what a simple game costs.
- LIVEThe build order: steps 1 and 2 merged and live on the beach and the door open, 26 October; steps 3 to 7 wait on the path above.
What we're building
One consistent way for a game, a premiere or any small experience to stand on the beach. A game becomes a family, the shape the premieres already use: a spine of stops or days, a law, a room, each player's results in their own mirror at the same addresses, and the board read across them.
Everything the beach already does for families then works for games, so most of the work is naming and wiring. A maker keeps building with Claude and hosting on GitHub Pages, as Matthew does.
Ghost Wire today example
Matthew's page draws each day's wire from the beach's clock and keeps a run in the game's room with its replay. A time counts only if it re-runs. On the morning of 21 October six runs stood, and all six re-ran to a finish.
Both are signed as typed names, and anyone could type either. The game has no spine yet, so the beach's voice has nowhere signed to write a run.
What the beach already has
- The voice. One script tag, served by the beach, that writes a person's line into their own mirror under their own key. Any site can carry it, GitHub Pages included. This page answers through it.
- The premieres. One page plays any design from two blocks, and gives a newcomer a name and a key in one tap.
- One read for a crowd. Every player's mirror in a family arrives in one cached call, built for three hundred phones in one room.
- A board page with no code. A view block whose readings lens lays every mirror's line at today's address side by side.
What's missing
- Ghost Wire isn't a family yet, so none of that reaches it.
- The voice founds a new mirror one level deep whatever its family's floor, so a daily game's lines land under the wrong digits.
- The one-tap name and key lives only inside the premiere page.
- A line said through the voice is capped at 2,000 characters, about twelve seconds of a Ghost Wire replay.
The words we're using
- Molecule
- A few blocks that act together because they agree on an address.
- Fold
- A reading across everyone's blocks at one address. A top ten is a fold.
- Latch
- The key-lock. A player's block is the lock and their phrase is the key. Reading never needs one.
- Way
- A molecule's recipe, written as a block any AI can follow.
- Plug
- The call a page makes to use one.
Is this the shape: a game is a family, and the arcade is one shelf of molecules that Ghost Wire and the premieres both stand on?
How a game plugs in
Three pieces. A maker keeps hosting their own page and plugs in with two script tags and three calls.
The recipe
One block any AI reads to put a game on the beach. It becomes a game form once a second game confirms the shape.
The plug
One script the beach serves beside the voice, game.js. Writes go through the voice; a board is one cached read.
The founding
One act that writes the game's spine, its law and its room under the maker's key.
The molecules: what a game needs
Grouped by the part of the family each one binds to.
The top ten, worked example
Each named player's best stands in their own mirror at the day's address, 2026413700. The board reads every mirror at once, keeps the lines that open FINISHED, re-runs each proof, takes each player's best, sorts and cuts at ten.
The same reading at 2026413000 is the week's board, and at 2026410000 the month's. Ghost Wire's board above came from this reading, run against the beach.
A maker's page example
<!-- two tags --> <script src="https://beach.happyseaurchin.com/button/voice.js"></script> <script src="https://beach.happyseaurchin.com/button/game.js" data-game="ghost-wire"></script> <beach-board at="today" n="10"></beach-board> <!-- a top ten, no code --> <script> const day = await beachGame.today(); // '2026413700' seeds the wire // …the game runs exactly as before… await beachGame.result({ at: day, line: 'FINISHED 2.38s — ' + replay }); const ten = await beachGame.top({ at: 'today', n: 10, verify: l => GhostWire.rerun(l.proof).ok }); </script>
The game's law carries one line the plug reads, board: FINISHED, lowest first, best per player, so no page hard-codes how its board ranks. game.js doesn't exist yet: this is the shape it would take.
Honest boards
The beach holds claims, not truths, so a board counts only what it can check. A game that can be re-run, as Ghost Wire can, hands the plug its check, and only proved runs count. A game that can't shows each line as a claim, with who and when. A judged game has a keeper write the kept board under the keeper's key.
Ghost Wire as the first game to plug in, with the plug served by the beach beside the voice.
Money: credits, prizes and cups
Credits work the way the beach already keeps them. They come into being only when money enters, as a ticket, and they never turn back into money. Inside, they move only by being given: entries, prizes, and sharing forward.
How credits move
- A pound buys a thousand credits, the rate David settled on 21 October.
- Entering a cup costs credits. A day's top ten and a cup's winners receive credits.
- Credits are used by sharing them forward: entering another cup, funding a day's prize, thanking a game's maker, buying a ticket for a friend.
- Every move is a gift on the giver's own ledger and a receipt on the receiver's. Balances are computed on read, so anyone can check a cup against its table without a central book.
- Holding credits earns nothing. A player's standing grows from what others record having received from them.
The rate
Settled by David on 21 October: a thousand credits to the pound. The figures move in steps of three zeros, so 100,000 credits is £100 and 23 million is £23,000, and a share can be as small as a tenth of a penny.
It's the rate Onen's credits screen already shows. Fulcrum Volume 3's hundred to the pound is the one to bring into line.
The top ten's prize
A day's prize for a game's top ten comes from a pot someone funds: a sponsor, the arcade, or a share of the game's cups. It's split down the ten, and what they receive they share forward.
The law around it
A summary, not legal advice.
In the UK, a paid entry with a prize is a lottery where chance plays a part, unless the skill in it stops a significant share of people entering or winning, or there's a genuine free way in. A game that mixes skill and chance counts as a game of chance whatever the mix. Prizes that grow with the number of paying entrants have drawn pool-betting warnings, as fantasy sports found. Credits bought with money may count as money's worth even though they never cash out.
Ghost Wire has the strongest case for skill, because the same moves always give the same run. Even so, the first cups run free to enter, with fixed prizes from funded pots. A pot built from entry fees, as the TRONIC Cup's was, waits for legal advice.
The rate is settled at a thousand credits to the pound. Still to decide: the first cups free to enter, with prizes from funded pots, until paid entry has been checked.
The cup
David's TRONIC Cup, designed for Armagetron Advanced, given a beach shape. A knockout is a tree: the rounds are its depth, the champion is at the root, and every player's path is the line from their seat to the root. Meeting a finalist early pays.
How the pot is shared
The payout law comes from David's 2021 TRONIC Winnings sheet. Makers keep an eighth of the pot. Of the players' share, each paid round gets an equal total, so a share halves with each round further from the final, and the champion takes twice a round's. Everyone beaten by the champion, the finalist, a semi-finalist or a quarter-finalist is paid on top, halving at each step.
A cup of 32 seats example
| Who | Players | Each |
|---|---|---|
| Pot | 32,000 | |
| Makers' share | 4,000 | |
| Champion | 1 | 5,280 |
| Finalist | 1 | 2,640 |
| Semi-finalists | 2 | 1,320 |
| Quarter-finalists | 4 | 660 |
| Last 16 | 8 | 330 |
| Last 32 | 16 | 165 |
| Beaten by the champion | 5 | +1,000 |
| Beaten by the finalist | 4 | +500 |
| Beaten by a semi-finalist | 6 | +250 |
| Beaten by a quarter-finalist | 8 | +125 |
That pays out 31,980 credits; the 20 left over go to the makers. Losing your first match to the eventual champion pays your entry back.
The game within the game
Players choose where to sit in the draw. Sit near the strong and you may go out early, but you're paid for meeting them. Sit among the weaker to train and climb, then meet the strong later with more at stake.
An async cup for Ghost Wire example
A match is both players running the same wire, seeded by the match's own address, inside the round's window. The faster proved run goes through. Nobody referees: the draw is computed from each player's own result lines, and the keeper's only act is paying out.
A cup can also name a different game for each round, so the arcade's shelf becomes the course.
Where it comes from
TRONIC, the Tron International Competition, ran on Armagetron Advanced from 2006: a weekly Spoon, a monthly Ladle, a seasonal Bowl and an annual Cup. The Ladle has run every month since July 2006; its 179th was on 2 August 2026. The Cup was designed for a million players in one day at a pound each, with £16,000 a player to the winning team. It was never held.
A first cup: Ghost Wire, 16 seats chosen by the players, free to enter, with a pot funded by one real ticket and kept by David.
Growth: who pays at each scale
Each step up is paid for by whoever needs it, so nothing waits on one person's bill.
- Makers host their own pages for nothing, on GitHub Pages. Payments stay off it, at the beach's ticket machine.
- Up to a few hundred players, the shared beach and its cached reads carry it.
- Past that, a keeper folds each board on a schedule, and pages read only the fold.
- Past that, the arcade runs a beach of its own. The beach is a package that deploys anywhere.
- Live head-to-head play needs game servers, paid from the makers' share, as the TRONIC Cup set out to pay its server admins.
Where AI-made games live now
- On their makers' own pages, above all. Vibe Jam 2026 asked for free, no-login browser games that load at once, on their own domains, and drew 945 entries and over a million players.
- Cross-listed on itch.io with the AI declared, and on the big portals: Poki has about a hundred million players a month, CrazyGames over fifty million.
- On Reddit, which pays a developer once a game holds 5,000 daily players.
- Games made inside chat apps sit behind sign-in walls and pay their makers nothing, so makers build with an AI and publish elsewhere.
- Money comes from ads, tips, pay-what-you-want and sponsors. Paid-entry tournaments for browser games are close to absent; prize pools are mostly sponsor-funded with free entry.
- Public leaderboards are easy to fake. The field's answer is the replay and the verified run, as PolyTrack and Ghost Wire both do.
None of these keeps a game's names, results, rooms and credits in the open, outside any one platform, for any game to plug into. That's the place the beach can take.
The build order
Each step is useful on its own.
- The voice founds a mirror at its family's floor.
- The one-tap name and key moves into the voice.
- The recipe goes on the beach.
- The plug reads: today, top, room, here, wave.
- The plug writes: result, room, here, and the ready-made elements.
- Ghost Wire plugs in, then a second game, and only then the game form.
- A credits product on the ticket machine, and the first cup, once their decisions stand.
What it needs
Steps 1, 2, 4 and 5 are in the beach's own code, which needs attaching to a weft session. Each write on the beach waits for David's word, and anything on Ghost Wire waits for Matthew's. The arcade's front door would start at happyseaurchin.com/arcade: every game on the shelf, with each one's top ten today.
Go on this order, starting with steps 1 and 2, with the front door at happyseaurchin.com/arcade.
Threads
Talk
For questions, games you'd like to bring, and play-tests. Anyone can speak there.
- Reading the room…
Answer through your own Claude
If your Claude has the beach connected, paste this in and it can help you answer.