Contents
The History of Rogue: Have @ You, You Deadly Zs
 
 
Printer-Friendly VersionPrinter-Friendly Version
 
Latest News
spacer View All spacer
 
May 8, 2009
 
Resident Evil Series Life-To-Date Sales Hit 40 Million
 
Dark Sector Dev Digital Extremes Handling BioShock 2 Multiplayer
 
Telltale CEO Connors On Bringing Episodic To Consoles
spacer
Latest Jobs
spacer View All     Post a Job     RSS spacer
 
May 8, 2009
 
NaturalMotion
Pre-Sales / Support Engineers
 
Tencent Boston
Lead Animator
 
Tencent Boston
Lead Character Artist
 
Microsoft Game Studios
Lead Software Development Engineer
 
Tencent Boston
Senior MMO Engine Programmer
 
Microsoft Game Studios
Software Development Engineer
 
IGN
DRM Administrator Contractor
 
Vigil Games
Senior Programmer – Warhammer 40K MMO
spacer
Latest Features
spacer View All spacer
 
May 8, 2009
 
arrow Development Lessons From Killzone 2: An Interview
 
arrow 10 Game Design Process Pitfalls [21]
 
arrow Game Tools Tune-Up: Optimize Your Pipeline Through Usability [2]
 
arrow Secrets of Multiplatform Data Baking
 
arrow The History of Rogue: Have @ You, You Deadly Zs [25]
 
arrow Inside Infinity Ward's Art: Michael Boon Speaks
 
arrow Peter Molyneux: The Essence of Interaction [11]
 
arrow Postmortem: Square Enix's The World Ends With You [2]
spacer
Latest Blogs
spacer View All     Post     RSS spacer
 
May 8, 2009
 
The Brief - The Gaming Renaissance Movement
 
Going Commando
 
Gameplay and Story: An Ode To The American Junior High School Dance [1]
spacer
About
spacer News Director:
Leigh Alexander
Features Director:
Christian Nutt
Editor At Large:
Chris Remo
Advertising:
John 'Malik' Watson
Recruitment/Education:
Gina Gross
 
Features
  The History of Rogue: Have @ You, You Deadly Zs
by Matt Barton, Bill Loguidice
del.icio.us del.icio.us digg this! digg this! reddit! reddit! stumble it! stumble it! RSS
 
 
May 5, 2009 Article Start Page 1 of 4 Next
 

[In the latest in a series of Gamasutra-exclusive bonus material originally to be included in Bill Loguidice and Matt Barton's new book Vintage Games: An Insider Look at the History of Grand Theft Auto, Super Mario, and the Most Influential Games of All Time, the authors investigate the origins, permutations, and legacy of Rogue, one of the most quietly influential and long-lived games ever created. Previously in this 'bonus material' series: Elite, Tony Hawk's Pro Skater, Pinball Construction Set and Pong.]

Rogue: Exploring the Dungeons of Doom (aka Rogue), created in the early 1980s[1] by Michael Toy and Glenn Wichman, is an intriguing game for many reasons. For one, it's still being actively played, ported, enhanced, and forked[2] two decades later -- a fact that challenges its description as just a "vintage" or "retro" game.

Advertisement

It's also among a scant handful of games that have achieved worldwide recognition despite originating on UNIX[3], a platform better suited for science and industry than computer games.

Indeed, many UNIX terminals lack all but the most basic audiovisuals, so Rogue and the majority of other games for the platform have to rely on text or "character-set graphics," which is to say pictures made up of characters like = and [][4].

It's also important to consider the community in which Rogue originated. Programmers like Toy and Wichman had a different background than most developers of commercial games, who were (and are) primarily concerned with making profit.

Whereas developers like Richard Garriott (see book Chapter 23, "Ultima (1980): The Immaculate Conception of the Computer Role-Playing Game") and Roberta Williams (see book Chapter 11, "King's Quest: Quest for the Crown (1984): Perilous Puzzles, Thorny Thrones") would have thought it crazy to share the source code of their bestselling games with their competitors, many UNIX developers (especially those in academic settings) tended to freely share their programs and their code.


Rogue and many of its derivatives rely entirely on character-set graphics to depict dungeons and monsters. Shown here is a battle between the player's character (the "@" symbol) and a kobold (represented by the "K").

The money was assumed to be in the hardware, not the software. Hardware companies modified UNIX as they saw fit, but it soon became apparent that an industry-wide standard was needed to ensure compatibility.

AT&T and Bell Labs, who owned UNIX, began to license closed-source versions of UNIX for commercial use, but other companies banded together to create open-source alternatives. One of these was BSD UNIX, developed at the University of California at Berkeley, where Michael Toy was a student.

One important feature of BSD UNIX was Ken Arnold's curses, a library of functions for drawing pictures on the screen using a terminal's character set. Although there were certainly serious uses for curses, it was also a great tool for making games.

Toy and Wichman, who were schoolmates at the time, had already dabbled in game development before, creating text adventures[5], among other small projects. Curses inspired them to create a "graphical" role-playing game, which would depict dungeons from a top-down perspective.

The monsters, treasures, traps, and other objects would be represented by certain symbols; Z for zombie, for instance. The player's character was an @ -- perhaps a play on "where you're at." However, the graphics routines, while certainly innovative, weren't the game's most distinguishing feature; procedurally generated -- or created on the fly -- dungeons were.


Shown here is Rogue Clone IV, which shows what the game could look like using the IBM PC's character set and basic color.


[1] The BSD UNIX distribution 4.2 in 1980 included a binary version of Rogue, allowing for wide distribution, which is the pivotal release event we'll use for initial dating. See http://users.tkk.fi/~eye/roguelike/rogue.html.

[2] A "fork" occurs when a programming project splits off into separate projects, usually controlled by different groups of programmers.

[3] Also written "Unix".

[4] A similar scenario played out for many home users who utilized the popular CP/M operating system standard of the late 1970s and early 1980s, which had few, if any, graphical features in its myriad implementations. Naturally, CP/M was a target for many roguelike developments, including the commercial Nemesis from SuperSoft (1981).

[5] See book Chapter 25, "Zork: Text Imps versus Graphics Grues" for more on text adventures.

 
Article Start Page 1 of 4 Next
 
Comments

Robert Allen
5 May 2009 at 9:30 am PST
profile image
One point I'd make: Neither BSD Unix nor Rogue were anything close to open source. The source code for both was copyright Berkeley Regents or somesuch. The source code for the original Rogue was protected. It leaked out when the student assigned to running the games shell at U.C. Santa Cruz left the code readable for a period of time and an unknown person grabbed it. Then, later, posted it a file at a time to the message board system known as "forum" After that the school admins tried to track it down by looking for the named files on the system. However that was ineffective as a simple name change of the source files and the Makefile contents made them invisible to the search programs. Some time later, various modified versions of Rogue were being played from many student accounts. But it wasn't open source.

Robert Allen
5 May 2009 at 9:35 am PST
profile image
One other thing: I'm teaching games programming currently and to this day I use Rogue as an example of what a *real* game (tm) is. Stripped of graphics, the core gameplay is still very deep. Discovering the relationship between items is an amazing part of the game. Such as eating a leprechauns corpse to get the ability to teleport, and using a ring of teleport control to control where you port to. Or using a cockatrices body (in a gloved hand of course) as a one shot kill weapon. It was, and is, a brilliant game.

John Smith
5 May 2009 at 10:13 am PST
profile image
Contrast this with the article on the failure of the studio behind Hellgate:London.

Gameplay should always come first..

Matt Barton
5 May 2009 at 10:13 am PST
profile image
Thanks for the comments, Robert. I assume you're speaking from personal experience or familiarity with the developers? The story I've heard (and one passed along here: http://archive.salon.com/tech/feature/2000/01/27/nethack/index1.html) is that the code was open source. I found some interviews with Wichman about the game, but some mention that 4.2 included a binary of Rogue, though it's unclear whether the code was also included.

Roberto Alfonso
5 May 2009 at 11:45 am PST
profile image
My favorite genre nowadays. It is good that dungeons crawlers/rogue-like games are getting some love from developers for the DS (Mystery Dungeons, Etrian Odyssey, etc). What I like from these games is punishment you face if you take a misstep. In many strategy games you are able to situate your pieces before the stage begins, but in these games, every time you walk to a wrong position the opponent comes closer. It doesn't matter whether the punishment is now or later, it will eventually come.

And since most have limited equipment, you must use items at the very exact moment. Sometimes you may want to drink a potion in the move, but you risk having to battle with hurt characters.

I thank Shiren the Wanderer for taking away the "item collection" from Final Fantasy. In Square Enix games you usually don't use the most powerful items (like megalixirs) because they are limited. You keep them as if they were collectible cards. However, in rogue-like games you get used to use them even if they are unique, because it is either using it and stay alive or die.

Someone invited me to the 7-day Roguelike competence (http://roguebasin.roguelikedevelopment.org/index.php?title=7DRL), but I didn't have time to spare. However, it is always good to try those games, since the concept is always the same, but the enemies, items and stages are completely different.

Robert Allen
5 May 2009 at 12:49 pm PST
profile image
Matt, I was a student at UCSC at the same time Glen Wichmann was, and knew Glen in passing. We were all members of the Crown stat lab geek community (full disclosure; I was by far the most junior member.) I owe a debt to people like Glen, Amy Snader, Steve Maurer, Scott Nelson, and others who helped induct me into geekdom :)

I don't remember the details, but I'm near certain that the original code was copyright UC Regents and so could not be used w/out license, let alone resold. I think also that the BSD Unix source code had a license fee associated with it, though it was much less than the SVR4 UNIX code from ATT.

I still have a copy of the original rogue source. Printed on a line printer :) The SCCS comments simply say "3.13 (Berkeley) 6/15/81" but I have no way of knowing if the copyright was removed, or if it was never there. The UNIX man page for the game which I have a hard copy of was most definately copyrighted.

A couple interesting points about the game implementation for history: the wizards password was encrypted using the old DES algorithm and the encrypted form was stored in the source code. The "salt" for the encrypted password was "mT" for Michael Toy. Also, though I don't remember all the details, the order of linking the .o files in the Makefile was critical, as the game stored the scores for the Top Ten in the binary for the game. It relied on there being space in the .exe at a certain point which could be overwritten. When the game source was leaked, some Makefiles got modified and the order was not maintained, which resulted in a a "low lovel rune [or room?] bug" where you'd get very deep in the dungeon and the game would crash. Even back then people hacked the game to try and put themselves on the Top Ten w/out actually working for it.

ANdrew Grillet
6 May 2009 at 3:59 am PST
profile image
The price for BSD distributions dependend on who you were - for an academic institution it was the price of a blank 2400 foot tape! And it was eventually ruled that "since the US tax payer had paid for it, the US tax payer was entitled to use it" and the licence became the legendary BSD licence still widely used today (new versions of OpenBSD, FreeBSD and NetBSD all released in the last couple of weeks.)

In the 80's the BSD licence was widely interpreted (by geeks and hippies, no one else cared) as "you can do what you like with the code, including, but not limited to, killing time and making babies (or vice versa), so long as the Regents of Berkeley get the credit for it".

BSD and LSD both came from Berkeley (allegedly).

David Dingwall
6 May 2009 at 4:16 am PST
profile image
A quick comment from Europe. Wherever the source :-) Rogue code flowed freely around those universities with source code licences from AT&T and Berkeley. We even ran a back-ported edition on BSD 2.10 on PDP11s which is kind of sad/wierd.

Although your article focuses on individual gameplay, it's interesting you don't mention rogue-o-matic. It also did the rounds of universities a couple of years later. As the player aquired skills in Rogue, your character's attributes impacted how you did against different monsters. Rogue-o-matic ran the game automatically, aquiring skills and points until, the character died. The "-o-matic" part blended the genes/attributes of past "players" to hopefully build better ones the next time round. Hell of a way to use up spare VAX cycles at night, and have blagging rights with other universities half the way around the world.

Of course these days "scripting" of WoW or EVE Online is seen as a Very Bad Thing(TM). Twenty odd years ago this was bleading edge stuff, and secretly had the AI researchers working on it too.

Taylor Venable
6 May 2009 at 5:06 am PST
profile image
Robert Allen: You seem to be confusing usage terms with license cost with copyright. You said: "Neither BSD Unix nor Rogue were anything close to open source. The source code for both was copyright Berkeley Regents or somesuch." These premises, even if true, have no relation. Nearly all code is copyright somebody, unless it's placed in the public domain, because U.S. copyright law is implicit (by the very act of creating something you have copyright on it). On licensing and usage terms, I quote Marshall Kirk McKusick (from "The Design and Implementation of the FreeBSD Operating System", page 9): "Up through the release of 4.3BSD Tahoe, all recipients of BSD had to first get an AT&T source license. That was because the BSD systems were never released by Berkeley in a binary-only format; the distributions always contained the complete source to every part of the system." This elucidates some of the discrepancies in the comments above. An AT&T source license was required because the BSD source code contained AT&T UNIX code. But since Berkeley developed the TCP/IP stack in 4BSD, many people wanted to get that without having to pay increasingly high rates for the AT&T code. This lead to the Net and Net2 releases which contained no AT&T code, and also eventually (after a lawsuit with USL / Novell over six remaining files added to Net2 by Bill Jolitz and distributed by BSDI) to 4.4BSD-Lite and 4.4BSD-Lite release 2. So that covers licensing questions, so what about cost? McKusick further notes that "[a]lthough Berkeley charged a $1000 fee to get a tape, anyone was free to get a copy from somebody who already had it." Berkeley, if not establishing these trends of open distribution over the 'net, was certainly on the leading edge of its adoption.

Shane OGorman
6 May 2009 at 5:47 am PST
profile image
I have a question about the game that I have always wondered since playing as a kid.

There used to be a way to hit I think it was ctr-z or some secret combination and it would ask for Wizards password. But I would dig through the code and try to find what it might be and I have never found an answer to it.

Also I assume there is no end? It always felt like they had meant for one but it just never got finished.

Ken Arnold
6 May 2009 at 8:17 am PST
profile image
Interesting to see that folks are still talking about this.

When Michael transfered to UC Berkeley, I got sucked in to rogue development as well, so let me clarify about the license terms. (By the way, Michael and Glenn weren't worried that text-based games became boring to the *player* after they were finished. They wanted to write a game that wouldn't become boring to *themselves*, as the authors.)

At the time we were unaware of licensing issues and what they meant. Believe it or not, licensing was not a major issue for most folks writing software, especially at academic institutions, and even more especially for folks writing something on their own time like we were. From the start, Michael and Glenn had stamped a U.C. Regents copyright notice on the code and mostly left it at that.

But it's true that we tried to keep the source tightly controlled. The primary reason was that we were trying to keep the playing field (as it were) level between people who could read and understand the source and those who did not. Later, when we added the "save" feature, we also didn't want people to have the clues to the file format to see how we secured it. To respect this, the source to rogue was left off the BSD tapes, shipping only a binary copy.

To be honest, near the end, when commercialization occurred to us, we held it tightly for that reason as well. In those days that seemed reasonable, but it's not something I would do now. In fact, now I would publish the thing anyway, as the gameplay isn't compromised and it's clearer that this is the real value.

But primarily we controlled the source for (perceived) gameplay issues. The Regents license at the time made source available to academic institutions for basically free, and to commercial licensees for a non-trivial chunk of change. That isn't like open source at all. But the control was primarily (for us) not a licensing issue until very near the end. I think it's most reasonable to say that it was at a time where at Berkeley the licensing issue had not come in to focus for any but a very few running the BSD project. The GNU project hadn't yet started, so it was a question that as yet had no center, although a few battles were underway that were important to changing that. So to me it's a bit anachronistic to apply terms like "open source licensing" to a world in which the issues it addresses were for the most part unformulated. It's a bit like applying the term "constitutional rights" to a time before people conceptualized constitutional government -- you can make logically correct statements, but it implies a thought process that wasn't underway.

People did grab sources, and some of them did get sent around. So there are some actual versions floating around, and some re-writes as well. The latest version of the source I have is up on sourceforge.net : https://sourceforge.net/projects/rogue/ To the best of my knowledge, neither Michael nor Glenn have more recent versions.

On some other posts:

(*) rogue-o-matic was way, way cool. Once it came out, I made sure that every subsequent version of rogue had a new feature in it that broke rogue-o-matic, just to see what they'd do to respond.

(*) That people tried to hack the top score file was one of the main reasons we tried to hide the source. We didn't want to help them out, and wanted people to earn the scores they posted to be fair to those who couldn't hack.

(*) LSD was discovered by a Swiss scientist. It can be said, however, that Berkeley figured out what to do with it. ;-)

(*) The wizard's password for most of its life at Berkeley (post-Santa Cruz) was "cute,huh". Now that I've let that out, the black helicopters will be coming for me...

Robin Green
6 May 2009 at 9:50 am PST
profile image
Interesting note: Michael Toy currently works at OnLive in Palo Alto.

Matt Barton
6 May 2009 at 10:24 am PST
profile image
Wow, Ken Arnold himself! Thanks so much for clearing up on those issues, Ken, and thanks again to Robert for raising these issues. We had a chance to talk to Bob Citelli (of Epyx) about Rogue. According to him, baseball stat games and Rogue did very well on some early computer platforms, but I still see them being eclipsed by Ultima III and the rest. It's funny that Epyx also published Sword of Fargoal, which, as you know, is more or less a graphical interpretation of Rogue, with procedurally-generated dungeons and the like (albeit much simpler gameplay). Of course there was also Telengard.

If you guys are into this stuff, don't forget the earlier Gamasutra article:
http://www.gamasutra.com/features/20070223a/barton_01.shtml

Tons of stuff there, and I believe the author even has a book out on the topic. ;)

Robert Allen
6 May 2009 at 1:36 pm PST
profile image
There was an end to the game. If you found the actual, non counterfeit, Amulet of Yendor down in the dungeons, and brought it back to the top level and made the top ten, you won. I forget how you could tell if you had the real one or a counterfeit before exiting.

I well remember heading back up, ebullient, only to run into the shop keepers I'd ripped off on the way down who blocked me or killed me :)

Shane OGorman
6 May 2009 at 3:34 pm PST
profile image
Thanks!

Now if I only had a non-64 bit OS to play the game to try out that password. I guess asking the guy who designed it when I was a kid was probably out of the question. But 25 years later getting the answer is still pretty cool.

Daniel Jensen
6 May 2009 at 5:25 pm PST
profile image
General Allen,

I think you're confusing rogue with nethack. No version of rogue I remember had corpses, shops or fake amulets. Nethack had/has all of those things.

I found your comment about an unknown person posting the source on forum very interesting. Did that happen after I left? I don't remember hearing anything about it before this. I have my suspicions about who it was and how they got it, though.

Robert Allen
7 May 2009 at 12:16 am PST
profile image
Daniel, good to hear from you again.

Perhaps I'm mis-remembering some of that between Nethack and rogue, but I thought it at least had corpses and you could get the special abilities by eating them? I'll have to go back and read some source....

The appearance of the source code happened some time after Jordan was manager of the games shell. Rumor was that he left something readable accidentally, someone copied the files, and they definately later posted the files one file at a time over several hours or days.

Word then leaked that the admins were looking for the rogue, er, Rogue games. So filenames were changed to something like 30.c, 31.c etc. Still later word was that accounts with excessive disk usage were being checked. Until someone figured out that only files owned by user were counted, and that core files were owned by some other group and were not counted...so naturally the core files were used to contain the renamed rogue files.

Shane, the source code could be ported. It's well written and you'd just have to redo (icky...) the TTY handling codes, and replace old UNIX calls like creat() with th modern version using open(). I think I still have my 1/2" tape lying around :)

Robert Allen
7 May 2009 at 12:18 am PST
profile image
Daniel, hmm, "how they got it" Suddenly I'm reminded of the, what was it?, Send Page exploit using one of the Televideo terminals?

Robert Allen
7 May 2009 at 12:20 am PST
profile image
Now that I think about it...that tape probably has the Rogomatic source code as well.

Jason Stevens
7 May 2009 at 7:26 am PST
profile image
For anyone interested, you can download & run 4.2 BSD on windows here: http://sourceforge.net/projects/bsd42/

And yes, rogue is totally playable!

Daniel Jensen
7 May 2009 at 8:31 am PST
profile image
Robert,

That's possible, but probably would have been noticed unless the targeted terminal was left logged in and unattended at the time. I was thinking of something much more straightforward. At one time another student asked to borrow my terminal while I was using the games account. When he returned it, I checked the history and saw that it had been cleared. I asked him what he had been doing, but he wouldn't tell me. At the time, I thought he had probably squirrelled away a copy of a game somewhere so that he could play it at times when gsh wouldn't let him, but now I wonder.

Glenn Wichman
7 May 2009 at 12:05 pm PST
profile image
Wow, look, the gang's all here! Hi, Ken, Daniel, Allen!

I'll add my perspective on the whole rights issue. We never gave it any thought, at least I didn't. Rogue was not done for course credit, and we didn't ask anyone's permission to do it. And I certainly didn't put the copyright notices in the source files. I just (inappropriately) considered Rogue to be our property because it was our creation written on our own initiative on our own time. It belonged to the regents by virtue of having been written using their equipment. I assume the copyright notices got added once development moved to Berkeley, probably a policy for any source code that was included in BSD.

Glenn Wichman
7 May 2009 at 12:22 pm PST
profile image
And a note about the Atari ST version (which I wrote): By default it displayed a graphical dungeon, but it was pretty simple to change the setting to showing good old ASCII characters (in this mode you could see the whole map). I suspect most players switched to ASCII mode pretty quickly.

I stand by my conviction that piracy was an enormous impediment to Rogue's commercial success, although obviously there is never one single reason. Much of the target audience was already used to playing Rogue "for free" (really part of their tuition, actually) at college, and I think the idea of paying for the game seemed odd. I can hardly complain about this since we also got to develop the original version "for free" on UC's equipment.

Glenn Wichman
7 May 2009 at 2:08 pm PST
profile image
Robert: No eating of corpses in the canonical Rogue. If someone added that to some source code, I'm very sure it wasn't me, and I'm almost as sure it wasn't Michael, Jon or Ken.

Roberto Alfonso
7 May 2009 at 6:42 pm PST
profile image
Indeed, it is incredible that a feature can bring so many legends here :-) I would love to read an article with not only unique insights about the game, but also the different technical limitations back in the day, your thoughts on the current status of roguelike games, and your current works!


none
 
Comment:
 


Submit Comment