Files
jcoffey-dev ff4da7321c Point links at git.coffeylabs.org after the move from GitHub
GitHub took the organization's repos and GHCR offline on 2026-09-20. Repo,
release, raw-file and clone links now go to Gitea at git.coffeylabs.org,
container images to registry.coffeylabs.org, and GitLab-style /-/blob paths
to Gitea's /src/branch form. Go module paths are identifiers and stay as
they are; links to GitHub issues and pull requests are left as history.
2026-09-22 09:09:33 -07:00

106 lines
5.0 KiB
Markdown

# 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.ts` uses 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 in `cave.test.ts` rather 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.ts` is the same
engine as the one in [lemonade](https://git.coffeylabs.org/jcoffey-dev/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 12` and `TUNNELS 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](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.*