Wade Clarke's memoir of growing up writing games for the Apple II


Dungeon of Death is a text adventure game with the most prototypical plot possible: find the dungeon (it's not hard) and then find the big treasure that's in the dungeon.

Dungeon of Death - Apple II screenshot

I wrote Dungeon of Death in either 1987 and 1988, and while it's a pretty sparse and unremarkable game in retrospect, the big deal for me was that it was the first time I programmed a text adventure the "legit" way. Under the hood, the game has a database of verbs and nouns that it knows, so a player can try any command in any room. This was not the case with previous text adventure efforts of mine like Demon-Killer. In Dungeon of Death, the odds of most verbs doing anything cool in most rooms is low, but the important thing was that the game operated with the same programming logic sported by a lot of commercial games of this era.

I made this technical leap thanks entirely to one programming book aimed at kids: Usborne's Write Your Own Adventure Programs for Your Microcomputer. This 1983 book took the reader step-by-step from a blank BASIC prompt on any 8-bit computer to the building of a parser-driven text adventure game powered by internal databases. It didn't just deal with the technical stuff, either. It sought to inspire you to think of interesting puzzles, settings and gimmicks for your games.

The first two games I made using the Usborne engine cleave to it very closely. The engine had to cater to all the 8-bit computers of the day, so, in the manner of a Scott Adams game, it pitched itself to the specs of the least powerful of those machines. Thus the screen refreshes every turn because some of those computers had really blocky text, and exits and visible objects are listed in summary form for the same reason. The Apple II was powerful enough that I needn't have stooped so low, but I had to become familiar with how the Usborne engine worked before I could start to improve on it in my later games.


wade_clarke_5_adventures.zip (Contains wade_clarke_5_adventures.dsk)