Around 1980 two students at the University of California, Santa Cruz, wanted an adventure game they could not already solve. Anyone who wrote a text adventure knew every answer in it; as Michael Toy put it, “it is not that fun to play your own game”. So Toy and Glenn Wichman had the program build the dungeon itself, new every time, drawn on an ordinary text terminal with letters and punctuation. The player was an @, the monsters were capital letters, and a dead character stayed dead. Their game, Rogue, spread through university computers for years before anyone sold it, and the whole family of games that followed is named after it: the roguelike.
Fast facts
- Authors: Michael Toy and Glenn Wichman, with Ken Arnold; Jon Lane on the IBM PC version.
- Began: around 1980, on the Unix system at UC Santa Cruz.
- Spread by: BSD Unix from the University of California, Berkeley.
- Commercial versions: A.I. Design (IBM PC), then Epyx from 1985 (IBM PC, Macintosh, Amiga, Atari ST); Mastertronic on budget tape in 1988, including the ZX Spectrum at £2.99.
- Goal: go down through 26 levels of the Dungeons of Doom, take the Amulet of Yendor and come back up alive.
- Source code: released under a BSD licence.
Santa Cruz and Berkeley
Rogue depended on a new piece of Berkeley software. Ken Arnold’s curses library let a program put a character anywhere on a terminal screen instead of printing line after line, and when it reached Santa Cruz, Wichman wrote, “being a creative pair, we immediately set about seeing what kind of fun we could have with the new curses library.” Toy did most of the programming; Wichman learned C by watching, contributed ideas and named the game.
Making the dungeon was harder than it sounds. “We originally wanted something very freeform, where a room could be anywhere, and there could be any number of rooms,” Wichman told Edge. “We couldn’t figure out how to do it. We ended up settling on a nine-room tic-tac-toe grid.” Even then some levels came out with rooms that did not connect, stranding players who “were having great games and suddenly could not go to the next level because there was no way to get to the staircase.” Balance came from play: trolls first turned up so early that they always killed you, so they were moved deeper. As Arnold said, “We didn’t so much design the game as discover it.” (The procedural generation entry shows how the grid is filled and joined.)
With a playable game but no armour yet, Toy transferred to Berkeley, where he met Arnold, and the two finished it. It went out with the 4.2 release of Berkeley’s BSD Unix, which, Wichman wrote, made it “available on university computers all over the world.”
What playing it was like
The screen showed one level at a time, revealed as you walked into it. Rooms were drawn with - and |, doors with + and corridors with #. Everything you could pick up had its own symbol:
| Symbol | Meaning |
|---|---|
@ |
You |
A–Z |
Monsters, one letter each, from the Aquator to the Zombie |
* |
Gold |
! |
Potion |
? |
Scroll |
: |
Food |
) |
Weapon |
] |
Armour |
= |
Ring |
/ |
Wand or staff |
% |
Stairs down |
, |
The Amulet of Yendor |
The game kept its secrets. Potions and scrolls looked different in every game, so you learned what a potion did by drinking it. Wichman remembered the dungeon feeling anything but random: “You were convinced that the computer nefariously planned to tempt you with cursed plate mail just as you entered Aquator territory.” Aquators weakened armour. Players built theories about the monsters, Toy recalled, “actually attributing more intelligence to the little monsters than they actually had”, and some hit the keys harder in the belief that it did more damage.
Winning was rare. “I personally know probably a half-dozen people who completed the game without taking advantage of a bug,” Wichman said. “By the way, I am not one of those people… My wife has beaten it.” The game could be saved, but loading a save deleted it, so a death was final (see permadeath).
A.I. Design and Epyx
Working for Olivetti in Italy, Toy met Jon Lane, who had noticed two things. “When I was running a network-wide analysis of system usage we found that Rogue was burning more CPU than anything else,” Lane told Edge, and Dennis Ritchie, of Unix fame, “was quoted as saying that Rogue wasted more CPU time than anything in history.” Toy and Lane formed A.I. Design, and Lane coded the IBM PC version in 1984. Its first copy protection made pirated copies decay at random, so that a player’s headstone might read “killed by the copy protection mafia”.
Tired of marketing it themselves, A.I. Design brought in Epyx to handle marketing and packaging. Epyx announced Rogue at the Winter Consumer Electronics Show in Las Vegas in January 1985 as “one of the best known fantasy role playing games on mainframes. Now you can play it on your own home system.” Wichman drew the graphics for a Macintosh version and later wrote the Atari ST one; Toy wrote the Amiga version. Family Computing’s January 1986 guide rated the $27–$39 Epyx release, reviewed on the IBM PC and also sold for the PCjr and Macintosh, as an “excellent role-playing strategy/arcade game” and put the rule plainly: “Once a character dies, you must start over again.” On the Amiga in August 1986, Computer Gaming World’s Roy Wagner found every monster and item “the size of a single 80-column character”, hard to make out even on a good monitor, and explained how to copy a saved character outside the game to cheat death.
It was not a hit. “Although Rogue had been wildly popular on college mainframes,” Wichman wrote, “commercial success eluded us.”
Rogue on the Spectrum
In 1988 Mastertronic published Rogue on budget tape. The ZX Spectrum version, by Icon Design at £2.99, gave the hero a mace and a bow, built the map up as you explored and added an icon menu for using potions and scrolls. CRASH gave it 63%. One reviewer, expecting “the usual budget-style arcade adventure” from the cover, found “a very rare attempt at a Dungeons And Dragons game”; another liked it but asked, “what on earth is an emu doing in a dungeon?” The emu, E, had been one of Rogue’s monsters from the start. Both noticed a very old Rogue problem: “occasionally you can get stuck on a level with no exit and are forced to quit the game.”
The source code
Other programmers wrote their own versions of Rogue, among them Hack and Moria, and those grew into a line of their own (see NetHack and Roguelike). The original code was later published under a BSD licence, copyright Michael Toy, Ken Arnold and Glenn Wichman, with dates running from 1980 to 1999. Version 5.4.4 is widely mirrored, and anyone can read how the nine-room grid, the monsters and the save-deleting rule were written.
Sources
- “The making of… Rogue”, Edge issue 98, June 2001, pp. 118–121: Toy on text adventures; Wichman on the nine-room grid, the rooms that did not connect, trolls, cursed plate mail and winning; Arnold on discovering the game; Lane on CPU time, Ritchie, the 1984 PC version and the copy protection; players’ theories.
- Glenn R. Wichman, “A Brief History of Rogue”, 1997 (web, secondary; the co-author’s recollection): curses; Toy’s programming and Wichman’s name for the game; Toy’s move to Berkeley and Arnold; BSD 4.2; Olivetti and Lane; A.I. Design; the Macintosh graphics; Epyx; the Amiga and Atari ST versions; commercial failure. https://www.wichman.org/roguehistory.html
- Michael Toy, Ken Arnold and Glenn Wichman, Rogue: Exploring the Dungeons of Doom, version 5.4.4 source code,
rogue.handLICENSE.TXT(BSD licence; copyright 1980–1983, 1985, 1999): the display symbols, 26 levels to the Amulet, nine rooms per level;extern.c, the monster list from aquator to zombie, including the emu. Mirrored at https://github.com/Davidslv/rogue - Peter Ellison, “ROM goes to the W.C.E.S.”, ROM vol. 1 no. 10, March 1985, p. 41: Epyx’s Rogue at the Winter CES, 5–8 January 1985.
- “Winter CES: Part 2”, ANALOG Computing issue 29, April 1985, p. 87: Epyx introduces Rogue.
- Family Computing vol. 4 no. 1, January 1986: software guide entry for Epyx’s Rogue (©1985, $27–$39, reviewed on the IBM PC, also for PCjr and Macintosh).
- Roy Wagner, Amiga column, Computer Gaming World issue 30, August 1986, p. 26: Epyx’s Amiga Rogue.
- See the procedural generation entry for the shuffled appearance of potions and scrolls, and the NetHack entry for Hack.
- CRASH issue 55, August 1988, p. 101: review of Mastertronic’s Rogue for the Spectrum (Icon Design, £2.99, 63%).