You are SYN. You want ACK. Root is the only one who can give it to you.
Three load-bearing ideas, all working:
- TTL is the health bar and it only goes down. 64 hops, no healing.
- Bandwidth is resolution. One render target, one shader; at 1200 baud
and below the 3D scene renders as ASCII glyphs.
- Every header you drop is a piece of clothing. Seven wireframe shells,
one per OSI layer, shed on the way down.
Every frequency is the real frequency, synthesised, nothing sampled:
350+440 dial tone, the DTMF matrix, R1 MF pairs at real KP/digit timing,
2600 Hz, ANSam at 2100 reversing phase every 450 ms, Bell 103 FSK.
Thirteen hops, each a different genre over one renderer — FP tutorial,
OSI descent platformer, walking sim, EFnet twin-stick, 2D buffer overflow,
Morris worm RTS, LBL terminal stealth, a whole BBS with a playable LORD,
the five-boss handshake arena, the copper, a playable blue box, the climb,
and an empty room with an ACK in it.
No engine, no build step, one vendored three.js.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
513 lines
25 KiB
Markdown
513 lines
25 KiB
Markdown
# 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.
|