model card

HANDSHAKE

a love story in 64 hops · monsterrobot

You are SYN, a TCP synchronise packet. Your entire nature is arriving somewhere and asking are you there, and nobody has ever replied. You have heard there is someone at the top of the machine who can receive anything. Their name is root.

The modern network is a fortress, so you go down to go up — back through fifty years of telecommunications, because the deeper you go the older it gets, and the older it gets the more it trusts you.

▶ play it

At a glance

TypeSingle-player browser game. Fourteen hops, each a different genre, over one renderer.
LengthRoughly 50–70 minutes for one pass. It saves, and it is designed to be put down.
InputKeyboard and mouse. No gamepad. No touch — it will load on a phone and will not play well on one.
AudioRequired. Several mechanics are inaudible without it, and one boss is unbeatable if you cannot hear the beat.
Runs onAny browser with WebGL2 and Web Audio. No install, no account, no server. Progress is in localStorage.
DataNone leaves your machine. There is no analytics, no telemetry, no network call after the page loads.
Reading200 philes — text collectibles, all of them findable, none of them required. Roughly 30,000 words, written as if by someone in the year it happened who did not know they were in a game.
Built with~9,000 lines of hand-written JavaScript and one vendored copy of three.js. No engine, no build step, no dependencies.

The three ideas it is built on

TTL is the health bar, and it only goes down

You start with 64 and every hop costs one. There is no healing item, no shrine, no pickup. Levels are not hard — they are expensive. Every optional thing you look at costs some of the distance you have left.

Bandwidth is resolution

Your connection speed is wired directly to the renderer. At v.90 the game is full 3D; at 1200 baud and below it renders as ASCII glyphs, drawn one character at a time. You earn your rate by performing well in a dial-up handshake fight, and there is no retry prompt. The game gets warmer and more human as it gets technically worse, which is the argument the whole thing is making.

Every header you drop is a piece of clothing

You descend the OSI model wearing seven layers. Each floor takes one off. At layer seven you are wrapped in TLS and nothing can see you; at layer one you are bare voltage on a wire.

What in this is true

Most of it. Specifically:

The soundtrack is derived, not composed. No level has a chord somebody picked because it sounded nice. Each bed is built from a real number belonging to its era: the 1 kHz telecoms reference tone, 50 Hz mains, the 1200 Hz V.22bis carrier folded down, 0x90 read as 144 Hz so the NOP sled has a pitch, 20 Hz ringing current, the six MF tones of a blue box, and 2600 Hz folded six times until it is a low room tone. Some of it is beautiful and some of it is ugly. A 1980 telephone exchange was not tuned to A=440.

What in this is invented

What it does not do

Content

No graphic content. Mild profanity, none of it aimed at anyone. It is about computer crime in the sense that a documentary is: it explains how things worked and does not teach anything that has been usable for thirty years. Two levels are quietly about loss, and one of them is about a room where nothing happens on purpose.

How it was made

Written by Claude Opus 5 (Anthropic) in an extended session with John King, from a one-paragraph idea to the finished thing — design document, engine, fourteen levels, audio synthesis and this page. Roughly 9,000 lines of JavaScript, no engine and no build step, on top of one vendored copy of three.js (MIT).

Every level was verified in a real browser as it was built, and several genuine bugs are documented in the commit history rather than quietly fixed — the renderer was 45% too dark for an hour because a raw shader does not get three.js's colour-space conversion, and the Morris worm level could not reach its own milestones until the spread rate was made to scale with the infection.

Source

The design document and the per-stage build notes ship alongside the game: DESIGN.md · STAGES.md · README.md

▶ play it