Procedural Dungeons of Doom: The Making of Rogue – Chapter 1

Precariously close to flunking out of college, Michael Toy teams up with his college buddy Glenn Wichman to create a new type of role-playing game.

Procedural Dungeons of Doom: The Making of Rogue

Chapter 1: A Thirst for Adventure

Author’s Note: This story has been adapted from chapters of Dungeon Hacks: How NetHack, Angband, and Other Roguelikes Changed the Course of Video Games, written by the authorIt can be purchased in paperback and electronically from Amazon.

Michael Toy was well aware that computers were good for things besides playing games. He just didn’t care. “I grew up in Livermore, California, and in Livermore, you were either a nuclear physicist or a cowboy. My dad was the nuclear physicist type.”1

His father’s credentials came with privileges. One day a year, families were allowed to visit the laboratory. The scientists spared no expense to make the annual visitor’s day a memorable outing. Part of the appeal for Toy was getting to operate the facility’s mainframe, which was repurposed as a gaming machine for the special occasion.

The flagship title in the lab’s modest library of games was Star Trek, an adventure that consisted purely of text output. Players controlled the Enterprise, represented by an “-E-“, and maneuvered the famous ship around an eight-by-eight quadrant of dots. The goal was to hunt down Klingon ships, represented by “+K+”. A readout informed players of their remaining weapons, the health of the Enterprise, and number of Klingons still lurking in the area. Star Trek required players to think before they acted. Every action drained energy from the Enterprise, but certain actions revealed information that helped players concoct energy-efficient plans of attack. For example, performing long- and short-range scans of the quadrant uncovered the locations of stars and enemy ships.

MToy2

Toy and Wichman entertain friends in the kitchen of their apartment. From left to right: Wichman (bottom), Toy, Ken Hickman, and Kipp Hickman. (Photo: Glenn Wichman.)

Star Trek‘s depth spurred Toy to try his hand at programming games. “I wrote a clone of that game for every new computer system I encountered for the next 15 years.” Thanks to his father’s work, he got the opportunity to write and play computer games at home. In the late 1970s, Processor Technology Corporation released the Sol-20 microcomputer, which ran at 2 megahertz and came with a built-in video card that could connect to color-graphics monitors, a novelty for personal computers of the time. Toy wrote Star Trek and other games on the Sol-20; his passion only grew when he acquired an Atari 400 and other computers later on.

Toy’s love of computers and games reached new heights when he enrolled in college in the late 1970s. “I was theoretically attending [University of California] Santa Cruz at the time I started working on Rogue. Meaning, I was enrolled, but I was never anywhere except in the computer lab.” UC Santa Cruz had all the latest machines including a PDP-11/70, a minicomputer—one size smaller than a mainframe, but a size larger than a microcomputer, also known as a desktop—made by Digital Equipment Corporation as wide as a bookshelf and covered in vents, blinking lights, and large controls that looked like oversized light switches.

Toy didn’t get much face time with the 11/70; the massive machine was stored in a basement, flickering away in the darkness. Users in the computer lab connected to the minicomputer through a dumb terminal—a monitor and a keyboard housed in a plastic shell. Dumb terminals had no processing abilities of their own. Instead, they served as translators. Users sent commands to minicomputers or mainframes through the terminal’s keyboard, and the computer sent back results that were displayed on the terminal’s screen.

UCSC soon upgraded to a Virtual Address eXtension (VAX) 11/780, a machine positioned by Digital Equipment Corporation as a successor to its PDP-11/70. It was roughly the size of a large safe and boasted 128 kilobytes of memory. The VAX was connected to rows of terminals within the cool, dimly lit computer labs around campus. Toy spent hours tinkering with the machine, pushing and prodding to learn its capabilities. “Every time I came across a new computer, I tried to learn everything there was to it. In the modern era, you learn just enough to do what you need to do and then move on. You didn’t do it that way back then. You learned everything.”

Colossal Cave Adventure, running on a PDP mainframe.

Colossal Cave Adventure, running on a PDP mainframe.

His thirst for knowledge led him to a treasure trove of games supplied by the university’s connection to ARPANET. One of the first games he pulled from the network was Colossal Cave Adventure, a text-only game. Adventure printed out descriptions of dark and mysterious caving systems and waited for players to type in what to do next. Even more than Star Trek, Colossal Cave Adventure made an indelible impression on Toy. He experienced a sense of wonder every time the VAX filled the terminal screen with descriptions of capacious rooms where stalagmites and stalactites laced together like the teeth of some great beast, of wind keening through caverns, of strange noises off in the distance.

“Computers. Computer games. The greatest things in the world,” Toy stated simply. “The things that were really exciting to me, though, as I became competent enough to program really interesting games, were the text adventures. For me, those moments [in text adventures] were actually more emotionally affecting than even modern computer graphics. Maybe just now, the occasional game has an impact. Like the [underwater city] in BioShock—being there, in that world, changes you in a certain way.”

Toy began writing his own text adventures. Nearby, he noticed another student doing the same thing.

“We met in the computer lab at UC Santa Cruz,” Glenn Wichman recalled.2 “I was working on an adventure game that I was writing in BASIC. I was just teaching myself as I went along, and I made a big mess of it. Michael [Toy] looked over my shoulder and saw my game, and asked if he could play it. That begat a discussion.”

 Wichman was impressed by Toy’s knowledge of computing. Toy had built his own desktop computer at home and had been writing games for several years. Wichman let Toy sift through his program while the two talked programming practices. “Most of what I know about programming, I know from working with him,” Wichman reminisced during our interviews.

Although Toy had a leg up on Wichman in programming, Wichman was arguably more well-informed about how the moving parts of game design fit together. He had been creating board and card games to play with friends since the age of seven, and had revamped Dungeon & Dragons to accommodate a custom campaign based on C. S. Lewis’s The Chronicles of Narnia novels. Repurposing the game had involved penning over forty pages of customized rules that subverted D&D‘s base guidelines, transforming it into a new experience.

When the time had come to select a college, Wichman had chosen UCSC deliberately. The school allowed students to create majors by cherry-picking from the course catalog. He had enrolled with the intention of inventing a major rooted in game design that he could parlay into a career as a professional board-and-card-game creator. Discovering computers changed everything. “Once I discovered that you could play games on a computer, I quickly decided that was the better way to go, which is why I started to teach myself to program.”

MToy1

Michael Toy in the apartment he shared with Glenn Wichman during their time at UCSC. Toy is posing with the ADM-3 computer and 300-baud modem he and Wichman used to dial in to the VAX 11/780 stationed at UCSC, enabling them to write Rogue from home. (Photo: Glenn Wichman.)

Toy and Wichman became fast friends. They split the cost of an apartment and spent as much time as possible writing and playing each other’s games. Their favorites were text adventures. Wichman even wrote a program that let users assemble their own interactive stories by choosing from pre-assembled modules, all without writing a single line of code.

But Toy’s interest in adventure games waned quickly. The problem was that the story and puzzles never changed; once he finished a game, there was no reason to boot it up a second time. Worse, he had no reason to play his own adventure games—he knew all the solutions. “The ideal would be to write a computer game that was fun for me to play, and that was the problem with these adventure games that I loved so much.”

Irritated, Toy synced up to other University of California mainframes connected to the network and looked for other games to play. While deep-diving through files stored at UC Berkeley, ninety minutes away from the Santa Cruz campus, he found the answer to his game-programming prayers.

 

Curses and Cursors

In 1973, computer engineers Ken Thompson and Dennis Ritchie attended the Symposium on Operating System Principles at Purdue University. They were there to present a paper on UNIX, the operating system they had created at AT&T’s venerable Bell Labs facility. The tenet of UNIX was to provide users with a wide array of simple programs engineered to solve specific tasks. Ritchie had invented a new programming language called C, which he used to write UNIX as well as software that ran on the operating system. He made the language extensible, which enabled UNIX to run on a large variety of computer hardware.

Professor Bob Fabry traveled from UC Berkeley to hear the talk.3 Impressed, he purchased a copy of UNIX for his school. He thought his students, especially those enrolled in his operating systems course, would enjoy experimenting with such a pliable OS. He was correct. Students who enrolled in a course grounded in studying and writing operating systems were all hardcore hackers, and Bill Joy was the most fervent among them. As soon as he got his hands on UNIX, Joy put together a small team of hackers and proceeded to modify nearly every facet of its code. In 1977, he distributed the Frankenstein OS around the campus, charging a nominal fee.4 Anyone who obtained a copy was free to root around the code and submit improvements and custom software. Joy and his team filtered the cream of the crop and plugged them into future releases of the modified OS, which became known as Berkeley Software Distribution (BSD) UNIX.

By the time Toy and Wichman started at UC Santa Cruz, BSD UNIX had entered widespread usage across UC campuses and was branching out to other schools. Each new version of BSD, released on cassette tape, included handy programs written by Joy and other hackers. One program was curses, written by Ken Arnold. Arnold had written curses according to the UNIX creed: a simple tool fashioned for a specific purpose. Wielding curses like a paintbrush, users could place text such as letters, numbers, and symbols at any location on the screen.

The moment he used curses, Toy saw its potential. In 1980, he went to Wichman and suggested they use curses to create a graphical adventure game with a twist. Unlike Colossal Cave Adventure and its derivatives, their game would construct brand new environments and challenges every time. An avid Dungeons & Dragons player, he invented a fantasy-themed setting and premise. Players would assume the identity of an adventurer who entered the Dungeons of Doom, a series of levels filled with monsters and treasure.

Rogue Unix

Wichman loved the idea and dubbed the game Rogue. “I think the name just came to me. Names needed to be short because you invoked a program by typing its name in a command line. I liked the idea of a rogue. We were coming from a Dungeons & Dragons background, but we were creating a single-player game. You weren’t going down into the dungeon with a party. The idea was that this is a person going off on his or her own. It captured the theme very succinctly.”

Apropos of UNIX, Toy chose to write Rogue in the C language. C produced fast code, while BASIC was slower and meant for smaller programs. Wichman, still a few steps behind Toy in programming prowess, learned C by watching Toy program their game. “The early alpha versions of Rogue were probably all my code, but Glenn [Wichman] made lots of contributions in terms of design,” Toy recalled. “I think it’s quite fair to say that the game was a pretty straight collaboration between Glenn [Wichman], Ken [Arnold], and me by the time it was done. I feel pretty good about that.”

**


If you enjoy Episodic Content, please consider showing your support by becoming a patron or via a one-time donation through PayPal.

patreon_grey

paypal_donate_button


Bibliography

  1. I grew up in Livermore, California: Interview with Michael Toy. All quotes from Michael Toy come from interviews conducted via phone, Skype, and email over 2012-2014.
  1. We met in the computer lab at UC Santa Cruz: Interview with Glenn Wichman. All quotes from Glenn Wichman come from interviews conducted via Skype and email over 2012-2014.
  1. Professor Bob Fabry traveled from UC Berkeley: “Twenty Years of Berkeley UNIX.” O’Reilly. http://oreilly.com/catalog/opensources/book/kirkmck.html.
  1. In 1977, he distributed the Frankenstein OS: “Berkeley Engineers: Changing Our World.” Berkeley Engineering: Lab Notes. http://coe.berkeley.edu/labnotes/history_unix.html.
Advertisements

One thought on “Procedural Dungeons of Doom: The Making of Rogue – Chapter 1

  1. Pingback: First Person Podcast Episode 11 – First Person Scholar

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s