A browser recreation of Gregory Yob's 1973 game. The rules are his and are free to use; the sentences he wrote to explain them are not, and none of them are here. Every line this game prints was written for it. NOTICE.md sets out what is ours, what is not, and why -- the same argument the lemonade stand makes about its own text, made before shipping rather than after. Two skins over one game, and the period one is a Teletype rather than a television. Wumpus is six years older than the Atari the lemonade stand runs on. It lived on a timesharing service you telephoned and it printed on paper, which is why the game asks you to remember things: there is no screen to look back at. So 1973 is fanfold and black ink and a print head hammering out one character at a time, and the remaster is the same cave with the lamp on. The rules never differ, and neither does a single word. The cave is proved rather than trusted. The adjacency table is typed out by hand, because a generated dodecahedron comes out with an arbitrary numbering and this is the numbering every listing has used since 1973 -- so a transcript from a magazine still makes sense against it. Typed out means it can be typed wrong, and a wrong table would not crash: it would quietly stop being a dodecahedron while the game still played. cave.test.ts checks degree three, symmetry, connectivity, a diameter of exactly five, and three pentagons through every room. The map is not allowed to know more than the paper. CaveMap draws only from the rooms the hunter has stood in and the warnings those rooms gave, and it marks suspects rather than answers. That guarantee is asserted in the engine rather than in the component, because it is a property of the engine and would still have to hold if the map were thrown away. Drawing a solid flat took two attempts. Rooms 6 to 15 are not two pentagons at different depths, they are one ten-room ring alternating inward and outward wiring, and getting that wrong still draws and still looks cave-shaped. It is much harder to read. The test checks the property that actually matters -- that no tunnel crosses another -- and was confirmed to fail against the bad layout before it was believed. The dial-in is a real Bell 103 call rather than a noise: dial tone at 350 and 440 Hz, Touch-Tone dialling, ringback at 440 and 480, the far modem's 2225 Hz mark tone, then both ends keying at once through a telephone band. The screech everybody remembers is a V.34 handshake from the 1990s and could not have existed here. 38 tests. Typecheck clean.
5.0 KiB
Notice, credits and provenance
What this is
An independent reimplementation of Hunt the Wumpus, the cave-hunting game that went round timesharing systems and then every home computer of the following decade, written from scratch in TypeScript in 2026.
Credit where it is due
- Gregory Yob, 1973 — wrote the original, reportedly out of irritation at how many computer games of the day were played on a grid. Hanging the rooms on a dodecahedron instead is the whole idea, and it is his.
- People's Computer Company and Creative Computing, who carried the listing and the article that explained it.
- Every type-in book and school terminal that passed it along, which is how most people met it.
This project is not affiliated with or endorsed by anyone connected to the original. No original source code was used, consulted or copied.
How this code came to exist
Clean-room, and worth being specific about because it is what makes the licence below meaningful:
- The rules are not ours to own, and we use them freely. Twenty rooms, three tunnels each, two pits, two bats, one wumpus, five crooked arrows that fly through five rooms, a wumpus that wakes three times in four. Game mechanics are ideas rather than expression; nobody gets to fence them off, and so may you use them.
- The cave is the cave.
src/game/cave.tsuses the room numbering every listing of this game has used since 1973 — room 1 leads to 2, 5 and 8 — so that a transcript from a magazine still makes sense against it. A numbering is a fact about a graph, not a piece of writing. It is written out by hand and then proved to be a dodecahedron incave.test.tsrather than trusted. - The artwork and the music are ours. Every mark on the map is SVG
generated from the graph in code, and every note is generated by the synth in
src/audio/. There are no imported assets of any kind. - The synth is shared with its sibling.
src/audio/synth.tsis the same engine as the one in lemonade — same author, same licence. What is written for it here is new.
The words on screen are ours, deliberately
This is the part worth reading, because the obvious thing to do was the wrong thing.
The 1973 game has famous lines in it. Anyone who played it can still quote the one about the bats. Those sentences are Gregory Yob's writing, not a rule and not a fact — and a project released under a copyleft licence has no business licensing words it did not write. The sibling project went back and took the original's wording out of itself for exactly this reason; this one never shipped with it.
So every line the machine prints here was written for this project:
| What the game has to say | Where the words came from |
|---|---|
| the three warnings | ours (SENSE_TEXT in src/game/constants.ts) |
| the four deaths, and the kill | ours (DEATH_TEXT, WIN_TEXT) |
| being carried off by bats | ours (BATS_TEXT) |
| the refusal, the prompts | ours |
| the instructions screen | ours — the rules are Yob's, the sentences are not |
Two things are still not original, and neither is a copyright question:
- The name. It is still Hunt the Wumpus, and the animal is still a wumpus. Names and short titles are not subject to copyright, and it is kept deliberately — calling it something else would be pretending this is a different game, which would be less honest rather than more.
YOU ARE IN ROOM 12andTUNNELS LEAD TO 3 11 13. These are the only sensible words for what they report, and the order follows from the fact that you need to know where you are before the exits mean anything. There is no creative expression in them to own.
One rule that is ours
Yob's game is a single cave: you kill the wumpus or it kills you, and either
way that is the end. Here a kill is a door rather than an ending — you go
deeper, into a fresh cave with the same twenty rooms and whatever arrows you
did not spend, until something gets you. It is a frame around the 1973 game
rather than a change to it: every hunt inside it is the original, unaltered,
and the reasoning is in src/game/constants.ts.
Licence
Copyright (C) 2026 John Coffey.
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version — see LICENSE.
AGPL rather than plain GPL because the leaderboard is a network service: §13 means anyone who runs a modified copy of this for other people over a network has to offer them its source. Running the game without the scores service is entirely supported and imposes nothing extra.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
None of the above is legal advice.