# HANDSHAKE — pitch bible v0.1

> *a love story in 64 hops*

---

## 0. The pitch

You are **SYN**.

You are a TCP synchronise packet. You are three bits of intent and a sequence number
and a desperate, structural, load-bearing need to be **answered**. Your entire nature —
the only thing you are for — is to arrive somewhere and ask *are you there.*

Nobody has ever replied.

You have heard there is a place at the top of the machine where somebody can hear
everything. No permissions, no filters, no firewall, no "connection refused." They can
receive **anything**. Their name is **root**.

You are going to find them.

The problem: the modern network is a fortress. TLS everywhere, ASLR, zero-trust, mutual
auth, everything patched, everything armoured, nothing listening. There is no way *up*
through the front.

But underneath the new machine is the old machine. Nobody removed it. The copper is
still under the street. The legacy protocols are still compiled in for compatibility.
The switches still answer to tones. And the deeper you go, the older it gets, and the
older it gets, the more it **trusts you**.

**So you go down to go up.** Down through the stack, back through fifty years of
telecommunications, through every era of getting into places you shouldn't be, all the
way to the analog floor — and then out through a hole that has been open since 1971,
that nobody ever closed, because nobody remembers it is there.

**Tone:** *Journey* directed by someone who has read every issue of Phrack. Mostly
wordless. Enormous and lonely and quietly filthy. Funny the way a sincere thing is
funny. It absolutely believes it is a romance, because it is.

**Death screen:** `NO CARRIER`

---

## 1. The three rules the whole game hangs off

### 1.1 TTL is your life bar, and it only goes down.

Every packet is born with a Time To Live. Every router you pass through decrements it
by one. At zero you expire and the network politely mails a death notice back to where
you came from.

You start with **64**. The game is 64 hops. There is no healing item, there is no
health pack, there is no shrine. **You cannot gain TTL.** You can only spend it more
carefully.

Levels are not "hard." Levels are *expensive*. The player's relationship with the game
is a budget, and the budget is their life, and the tension is entirely "can I afford
the scenic route." Optional areas cost hops. Every beautiful thing in this game costs
you some of the distance you have left.

> Design consequence: no combat difficulty curve needed. The curve is arithmetic.

### 1.2 Bandwidth is resolution.

Your connection speed is a live variable, and it is wired directly to the renderer.

| Link | What the world looks like |
|---|---|
| 56k / fibre | Full 3D. Lit, shaded, smooth. |
| 14.4k | Lower res, chunkier geometry, dithered |
| 2400 baud | 16-colour, hard dither, low framerate by design |
| 300 baud | The 3D scene renders to **ASCII**, one glyph at a time, left to right, and you can watch it draw |

You *earn* your baud rate by performing well in the handshake sections. Blow the
negotiation and you play the next twenty minutes of the game in text mode. It is not a
fail state. It is a different, arguably better, game.

And here is the thesis: **the game gets more beautiful as it gets worse.** The
high-fidelity levels are cold, sterile, corporate, hostile. The low-fidelity levels are
warm, hand-made, full of people. By the midpoint the player is deliberately tanking
their own bandwidth because 2400 baud is where the friends are.

> Technically this is one post-process shader and one uniform. It is the cheapest
> feature in the entire design and it does more work than anything else in it.

### 1.3 Every header you drop is a piece of clothing.

You descend the stack. At layer 7 you are wrapped in TLS — encrypted, opaque, safe,
nobody can see you and nobody can touch you. Each layer down peels one off. HTTP.
TCP. IP. Ethernet. By layer 1 you are naked voltage on a wire.

That is the horny bit and it is also literally how the OSI model works and we are not
going to comment on it further, the game is going to play it completely straight, and
that is why it will be funny.

---

## 2. Structure

**Traceroute is the level select.** The map screen is a `traceroute` output that fills
in a line at a time, and each hop you have reached is a place you can go back to. Hops
you haven't reached yet are `* * *`.

The journey is a descent and then a climb:

```
 MODERN  ▓▓▓▓  hop 1–8    the fortress               armoured, sterile, hostile
   ↓
 90s     ▓▓▓   hop 9–20   the wild net               loud, stupid, fun
   ↓
 80s     ▓▓    hop 21–34  mainframes and the worm    guilty, quiet
   ↓
 BBS     ▓▓▓   hop 35–44  the boards                 warm, populated, best part
   ↓
 MODEM   ▓▓    hop 45–50  the handshake              the noise
   ↓
 COPPER  ▓     hop 51–58  the analog floor           wet, mechanical, holy
   ↓
 1971    ·     hop 59–63  the blue box               your superpower, then its death
   ↓
 ROOT    ?     hop 64     ?
```

Then the climb back up is **one continuous level** at high speed through everything you
already walked, which is now on fire, in reverse, and takes eleven minutes, and is the
best eleven minutes in the game.

---

## 3. The levels

Each level is a **different genre**. Not a different theme — a different game. The
camera, the controller, the rendering mode and the verb set all change. Nobody does
this because it's expensive; do it anyway, it is the entire reason to make this game.

---

### HOP 1 — `COLD BOOT` · first person · 90 seconds

You wake in a NIC ring buffer. It is white and clean and enormous and there are
thousands of you. Learn to walk. Learn that you can't do anything.

A DMA transfer fires and the floor leaves. Camera rips out through the PHY into fibre
at an absurd speed. Title card.

---

### HOPS 2–8 — `THE STACK` · third-person Tron platformer · 12 min

Seven floors, descending, one per OSI layer. Sheer neon-white architecture with no
handrails. The stripping-of-headers thing happens here.

Hazards are real mitigations, played straight:

- **ASLR** — every time you die, the level relayouts. Same rooms, different order. You cannot memorise it, you can only get good at reading it.
- **DEP / NX** — vast beautiful floors you are not permitted to stand on. Marked, taunting.
- **Stack canaries** — literal yellow birds sitting in the stack frames. They scream. Everything comes.
- **Rate limiting** — a corridor that only lets you take a step every 1.2 seconds and you can see the boss walking toward you.

**Boss: THE FIREWALL.** Stateful. It remembers every packet it has ever seen. You
cannot fight it — you *cannot* win by force, and the game will let you try for as long
as you like. The solution: make it send something outbound, then come back looking like
the reply. The whole boss is one idea — *stateful firewalls trust the return leg* — and
the player has to discover it themselves.

---

### HOP 9 — `TIME_WAIT` · walking sim · 6 min · no mechanics at all

A waiting room. Beige plastic chairs. Strip lighting that hums at 50Hz. Two minutes of
Maximum Segment Lifetime and a wall clock that everyone is watching.

It is full of half-open connections. SYNs who sent, and waited, and were never
acknowledged, and are now just... here, until they age out. They are kind to you. They
tell you it's fine. It is not fine.

You meet **FIN**, who is on their way out, and has finished, and is at peace, and
thinks you should turn around. You will meet FIN twice more.

This is the *Journey* beat. No enemies, no timer, nothing to collect. Just the room and
the hum. Ship it early so the whole team knows what the game is about.

---

### HOPS 10–16 — `THE WAR` · top-down twin-stick · EFnet, 1998 · 15 min

Loud, ugly, hilarious. The terrain is an IRC channel. Ops are literal crowns. The whole
level is a brawl over a room nobody owns.

- **Netsplit riding** — the server splits. Half the map goes dark. Sprint to the empty side, claim ops in an empty channel, and ride the rejoin back in as a god-king. The split is telegraphed by lag: everything starts stuttering ten seconds before.
- **Sub7 / Back Orifice** — body-snatching. Take over another client and drive them. They keep their own animations. Their cursor moves without them.
- **Trojan war** — an escalating arms race where every weapon you use gets patched *by the level* about ninety seconds after you first use it.
- **DCC send** — someone offers you a file. It is definitely a trap. You should probably take it.

Palette: 1998 web. Under construction GIFs. Marquee tags. Guestbook. Comic Sans as an
enemy.

---

### HOPS 17–20 — `SMASHING THE STACK` · 2D side-scroller · 8 min

You are the input now. The level is one `char buf[64]` and you walk right.

Past index 63 the tiles stop being level and start being *memory*. Saved frame pointer.
Return address. The platforming becomes: **write your own address by standing on it.**

- **NOP sled** — a long shallow ramp made of `0x90 0x90 0x90 0x90`. You slide down it forever, and it is the single most relaxing thirty seconds in the game.
- **Shellcode** — the actual level, on the far side of the sled.
- **ret2libc** — a variant route where you can't execute anything, so instead you use pieces of the level that already exist. Physically: the ROP chain is a bridge you build out of the ends of other people's platforms.

Ghost mentor NPC, phosphor green, chain-smoking, is credited only as **Aleph One**.

---

### HOPS 21–28 — `THE WORM` · RTS · 2 November 1988 · 10 min

You are, briefly, the Morris worm.

Top-down ARPAnet — 60,000 hosts, and you can see all of them. Three vectors:
`fingerd` overflow, `sendmail` in DEBUG mode, and `rsh` trust relationships. Spread.

The mechanic is the bug. Robert Morris put in a check to avoid reinfecting a host —
and then, worried about being fooled by fake responses, made it reinfect anyway 1 time
in 7. You inherit that. **You do not get a toggle for it.** The number is on the HUD
and it never changes and you watch what it does.

Machines you love start to fall over. You cannot stop. You cannot slow down. The level
ends when the network you are travelling through can no longer carry you, because of
you, and the last minute is you crawling across a corpse.

No boss. No score. It just stops. Then a black card: *`~6,000 hosts. Approximately 10%
of the internet. The internet was, at that time, approximately 60,000 machines.`*

---

### HOPS 29–34 — `THE CUCKOO'S EGG` · stealth / detective · Berkeley, 1986 · 12 min

The flip. **You are the prey.**

There is a 75-cent accounting discrepancy. Somebody noticed. He is an astronomer, he
has no budget, he has fifty printers wired to fifty lines in a basement, and he has a
pager taped to a teletype so it wakes him when you log in.

Mechanic: **connection time is visibility.** Every second you're on, he narrows it
down. You need long sessions to do anything useful. He is never fast and he is never
wrong and he is extremely relaxed about it. You can see him, through the walls,
patiently colouring in a map.

You will eventually be caught. That's the level. The only variable is how far you got.

---

### HOPS 35–44 — `THE BOARD` · isometric + terminal hybrid · 20 min · **the heart**

A BBS. One phone line.

**If someone else is on, you get a busy signal and you cannot enter.** Not a puzzle.
You hang up and you redial and you wait. The game makes you want to get in.

Inside, it is warm, orange, 16 colours, and it is the first place in the game that has
*people* in it.

- **The ANSI walls** draw themselves line by line at your current baud rate. At 2400, watching the login screen paint takes eleven seconds, and the game does not skip it, and it becomes the best eleven seconds in the game.
- **Ratios** — you cannot take files unless you bring files. Files are physical cargo you carry, and cargo affects your MTU (see §4).
- **Door games** as arcade cabinets in the corner: a real, playable, tiny **Legend of the Red Dragon**; a real, playable **Trade Wars** sector map. Both fully finished, both worth an hour, both entirely optional. Put a whole second game in the corner of the fourth level. Nobody will believe it's there.
- **The NUP gate** — the elite sub-board wants a new user password you were never given. It is written somewhere in the world, in an earlier level, on a wall, once.
- **ANSI bomb** — a trapped message that **remaps the player's controls.** Actually remaps them. It's escapable, it's telegraphed, and it is the single meanest thing in the game.
- **The Sysop** is a god. He can see you typing *as you type it*, before you press enter. He can break into chat at any moment. When he does, the game stops, and it is genuinely frightening, and then he is lovely.
- **FidoNet** — you write a message and it goes out on the nightly mail run at 4am. You have to *sleep and come back*. Store and forward. A reply arrives a level later.

---

### HOPS 45–50 — `THE HANDSHAKE` · rhythm / boss rush · 15 min · **the showpiece**

The dial-up noise, as a fighting game. Every boss is a real tone at its real frequency
and the fight teaches you what the tone is doing.

1. **DIAL TONE** — 350 Hz + 440 Hz. A fat two-headed thing that just hums, forever, patiently. Tutorial. Kills you if you wait too long, because that's what dial tone does.

2. **DTMF** — a 4×4 grid. Each digit is a row tone crossed with a column tone (697/770/852/941 × 1209/1336/1477/1633). You attack by standing where two beams cross. Dial a number by fighting it. Players will learn the DTMF matrix without being told it exists.

3. **ANS / "the bong"** — 2100 Hz. A single enormous slow bell. And it **reverses phase every 450ms** — because that's what ANSam does, it disables the echo cancellers — so the boss flips its attack direction on a beat you can hear coming. The most readable boss in the game and it's just physics.

4. **V.8bis — THE SCREAM.** The `screeeee`. Bullet hell. The modem is asking *what can you do?* and you answer by **dodging in patterns.** Each clean dodge pattern declares a capability. Sloppy dodging declares a worse one.

   **Your score here sets your baud rate, and your baud rate is §1.2, and §1.2 is the renderer.** This one fight sets the visual fidelity of the next two hours of the game. There is no retry prompt. Nail it, or go live in ASCII.

5. **CARRIER** — not a boss. A ride. The scrambled data hiss becomes a wave and you surf it and the level ends in silence.

Everything in this section is synthesised live with oscillators. No samples. If you
mute the game you cannot play it.

---

### HOPS 51–58 — `THE COPPER` · first person · slow · 14 min

Down into physical plant. Wet, sodium-orange, dripping, cold. The first level with
weather.

- **Load coils** the size of grain silos, humming.
- A **Central Office** as a cathedral: ten thousand **Strowger switches** stepping in unison, the loudest place in the game. (Almon Strowger was an undertaker who invented automatic switching in 1891 because the local operator was his competitor's wife and kept redirecting his calls. The game tells you this on a plaque, and it is true.)
- Crossbar. Then ESS, arriving like a glacier.
- **Beige boxing** — you find a lineman's handset the size of a house, and you clip its jaws onto a pair, and you listen to somebody's phone call, and it is the most invasive thing you have done so far and it took no skill whatsoever.

No enemies. Just enormous machinery that does not know you exist.

---

### HOPS 59–63 — `THE BLUE BOX` · music / puzzle · 1971 · 12 min · **the gut punch**

You are inside a long-distance trunk. Here, in-band signalling means **the control
channel and the voice channel are the same channel.** You can sing to the switch and
the switch will obey.

You are given an instrument. It's a blue box. It has thirteen buttons.

- **2600 Hz** seizes the trunk. Hold it, the far end drops, the near end thinks the call is still up. You are now standing in a hole in the phone network.
- Then **KP**, then your digits as MF pairs, then **ST**. Route yourself anywhere on earth.
- **Loop-arounds**, **WATS extenders**, **tandem stacking** — chain trunks together and route a call around the planet.

**The set piece:** you stack tandems until your call has circled the earth and comes
back to ring the payphone standing six feet from you. You walk over. You pick it up.
You hear yourself, delayed by a quarter of a second, on the other side of the world,
standing right there. That's the shot for the trailer.

**Guide NPC: JOYBUBBLES.** Blind, perfect pitch, whistles 2600 Hz with his mouth, knows
every switch in North America by the sound it makes when it's tired. He is the warmest
character in the game. He teaches you by ear only — the game never displays the
frequencies during his lessons.

And then, at the end of the level, **SS7 arrives.** Signalling moves out of band. The
control channel separates from the voice channel forever. You whistle 2600 into the
trunk, and this time nothing happens, and nothing happens again, and Joybubbles keeps
whistling anyway, and the level ends.

**You lose your superpower permanently and there is no way to get it back.** The last
third of the game is played without it, on purpose.

---

### THE CLIMB — hops 63 → 1 · one continuous take · 11 min

Everything, in reverse, at speed, on fire.

Every level you walked through is now a corridor you are sprinting up, and each one
lasts about fifty seconds, and each one hands you off to the next mid-motion, and the
soundtrack is every protocol's theme layered on top of itself. Every mechanic you
learned gets exactly one more use.

Near the top, the modern era, and three new toys, because the modern era is the funny
era:

- **SPECULATIVE EXECUTION** — a branch. You run down **both sides at once**, in two split-screen timelines. One is real. One will be squashed and discarded and never happened. But the squashed timeline leaves a trace in the cache, and you can read the trace, and so **you can carry information out of the timeline that didn't happen.** Full puzzle mechanic. Genuinely think nobody has built this.
- **ROWHAMMER** — bang on a wall until the room next door changes.
- **LOG4SHELL** — you write `${jndi:ldap://}` on a piece of card, and hold it up, and the entire fortress walks over, reads it, and fetches whatever you asked for. You do nothing. You just hold up the sign. It is the biggest laugh in the game and it happens sixty seconds before the ending.

---

### HOP 64 — `ROOT`

*Full spoiler:*

Root is not a person. Root is not a place. Root is a **permission bit**, and the room is
empty, and it has been empty the whole time.

You stand in it. Nothing happens. You have uid 0 and there is nobody here to be uid 0
*at*.

And then — because you sent a SYN sixty-four hops ago and the network is slow but the
network is not unkind — **an ACK comes back.**

Somebody, somewhere, at some point during all of that, answered you.

`ESTABLISHED.`

Sixteen seconds of connection. Two packets, briefly, in contact. And then, because that
is what TCP is and what TCP has always been: FIN. FIN-ACK. ACK. Closed.

And you are in `TIME_WAIT` again, in the beige room with the plastic chairs, and FIN is
there, and FIN says *told you,* and it was worth it, obviously it was worth it.

**Then the game starts over.** New NIC buffer. New sequence number. TTL 64. And the
player understands that this is not a punishment.

---

## 4. Systems

### MTU — you can be too big

You have a maximum transmission unit. Carry too much — files from the BBS, tools,
souvenirs — and at the next hop you **fragment**: you split into two packets and have
to play both, alternating, until you can reassemble at a router that will do it for you.

It's a great inventory system because it is genuinely a punishment and genuinely also
sometimes the only way through a narrow corridor.

### ESTABLISHED — the save system

You don't save. You **connect**. Sitting still in a safe place long enough completes a
handshake with the world and that's your checkpoint. Standing still is the save button.
Fits the theme, costs nothing to build.

### CHECKSUM — the multiplayer

Journey-style. Occasionally another player's packet passes you going the other way. You
cannot chat. You cannot see their name. You can exchange exactly one thing: a
**checksum**. If your checksums match you were, briefly, carrying the same thing.

That's it. That's the whole netcode.

### THE COLLECTIBLE — `philes`

Text files. Real ones, era-accurate, written for the game in period voice. Anarchy
files, ASCII art, .nfo drops, a Phrack-shaped zine, somebody's terrible poetry about a
girl on a board in another area code. 200 of them, scattered. They are the lore, and
the writing budget goes here, and none of it is delivered by a cutscene.

---

## 5. Art direction

The game is a **palette journey**: clean → filthy → warm → clean and sad.

| Era | Palette | Feel |
|---|---|---|
| Modern | white, cyan, hairline grey | Apple Store, hostile, no dirt anywhere |
| 90s net | 216-colour websafe, dithered, tiled backgrounds | stupid, loud, joyful |
| 80s mainframe | phosphor green on black, amber alternates | monastic |
| BBS | 16-colour ANSI/EGA, hard dither, CRT bloom | warm. orange. home. |
| Modem | pure oscilloscope — the world drawn as waveforms | abstract |
| Copper | sodium orange, wet concrete, brown, rust | physical, heavy, real |
| 1971 | Bell System blue, institutional beige, chrome | holy |
| Root | white. nothing. | empty |

**Not Tron blue.** Tron blue is the lazy read. The game earns its neon in the first ten
minutes and then spends the rest of its runtime getting warmer and dirtier, and the
emotional arc is entirely carried by that drift.

---

## 6. Audio

**Everything is real and everything is synthesised, nothing is sampled.**

Every frequency in this game is the actual frequency. 2600 Hz is 2600 Hz. The MF pairs
are the MF pairs. The DTMF matrix is correct. The V.22bis handshake is a real V.22bis
handshake, played by hand, by a boss, at you.

The soundtrack is **built out of the signal**. Each level's music is generated from that
era's protocol — the BBS level's theme is a modem carrier detuned into a pad; the
Strowger cathedral is ten thousand relays quantised into a beat; the blue box level's
melody is playable, on the blue box, by the player, live.

Death sound: the four seconds of a modem failing to train, then silence, then
`NO CARRIER`.

---

## 7. Tech

- **three.js**, one page, no engine, no build step you can't explain.
- **WebAudio** for 100% of sound. Every tone is oscillators. The entire audio budget of this game is about 300 lines of code and zero megabytes.
- Genre switches are just **different camera + controller modules over one renderer**. That is the whole trick and it is not hard, it's just unusual.
- **ASCII mode** = render the scene to a small target and map luminance → glyph in one fragment shader. This single shader delivers the entire bandwidth-is-resolution thesis. It is maybe 40 lines.
- Terminal levels: canvas glyph blitter, not a DOM terminal. Same renderer, no second stack.
- No physics engine. Nothing in this game needs one. Kinematic character controller and swept AABBs.

---

## 8. Comparables

*Journey* (the arc, the wordlessness, the anonymous companion) · *Hypnospace Outlaw*
(the era fetish, done with total sincerity) · *Quadrilateral Cowboy* (hacking as a
physical space) · *Superhot* (one mechanic, absolute confidence) · *Katamari* (tonal
whiplash as a feature) · *Else Heart.Break()* · *Uplink* (the fantasy) ·
*TIS-100* (respect for the player's intelligence)

---

## 9. Scope, honestly

The full 64 hops is a **3–5 year, 15–30 person** game. Twelve genres is twelve games.
Do not start at hop 1.

**Build this instead, first:**

> **`THE HANDSHAKE`** — hop 45–50 only. Five bosses, fifteen minutes, three.js +
> WebAudio, zero art assets (all procedural geometry, all synthesised tone), ending on
> the baud-rate result which flips the ASCII shader on and lets the player walk twenty
> seconds into hop 51 in 300-baud text mode before the demo cuts.

That slice proves: the audio-is-the-mechanic idea, the bandwidth-is-resolution idea, the
genre-shift idea, and the tone. All four. In one afternoon-to-a-weekend of work, with no
artist, no modeller, no writer.

If the ASCII shader flipping on at the end of the fight doesn't make you laugh out loud,
kill the project and we've lost a weekend.

**Second slice, if the first lands:** `TIME_WAIT`. Six minutes, one room, no mechanics.
If the walking sim about half-open connections makes anybody feel anything, the game has
a soul and is worth five years.

---

## 10. Heresies

- The horny packet framing must stay **entirely straight-faced**. The moment the game winks it dies. No innuendo in dialogue. The joke is the sincerity.
- `NO CARRIER` and `ESTABLISHED` are load-bearing and cannot be renamed for clarity.
- Nobody gets to add a jump button to `TIME_WAIT`.
- Nobody gets to make the ASCII mode a cosmetic toggle in the options menu. It is earned or it is nothing.
