Column: @Play Special: The Rights to Rogue
['@ Play' is a monthly column by John Harris which discusses the history, present and future of the Roguelike dungeon exploring genre.]
Perhaps no genre of computer game has as as close a tie to the open source community as the roguelikes. Eric S. Raymond, noted open source booster, both wrote the guidebook to an earlier version of Nethack and wrote the oft-read argument for open software, "The Cathedral and the Bazaar," in which Nethack is mentioned.
Angband's source is so open that it's become one of the most-permuted computer games of all time. Linley's Dungeon Crawl picked up new life when the Stone Soup guys started developing their variant, which is now recognized as pretty much the premier version of the game. And all of the 7DRLs are open source.
An interested observer could be forgiven for assuming all roguelikes must be open, but they aren't. None of the Japanese commercial roguelikes are. The source code of one of the big ones, ADOM, remains closed.
(This fact means the game is falling out of prominence now since all changes must be approved by the game's creator, Thomas Biskup, who has moved on to other things. But it also means it's the most mysterious of the major games.)
But the first closed-source roguelike is the first of all of them.
A recent article over at Gamasutra, "The History of Rogue: Have @ You, Deadly Zs" attracted a fair number of comments from people involved with the development of the original game, including Ken Arnold and Glenn Wichman, two out of the three of the original guys.
The information in the article's comments, which are fascinating, go as follows:
1. Rogue was, and is, copyrighted by the Regents of the University of California, with the justification that the game was developed on their computers. Whether that rationale would suffice today I don't know; most commercial software these days is owned by the developing studio under, if I remember correctly, the principle of work-for-hire.
But the developers were not concerned with it. The game continues to be distributed with BSD Unix, but unlike most of the other parts of the system, the source code is not shipped with it. The reason they gave for keeping it secret was to prevent people from source-diving to discover the game's secrets.
(Such diving is the main reason Nethack's so throughly spoiled now, and Rogue, being a much simpler game, would be more easily harmed by this inspection. Although take note: the game is also more resistant to spoiling, since it has far fewer tricks.)
It also hindered player efforts to hack save files, the high score list and the wizard's password. (To continue the comparison with Nethack: it contains consider safe file tampering protection, it doesn't bother protecting its score list, and access to its wizard mode can be compiled out of the game.)
Ken Arnold notes that at the time of the height of Rogue's popularity, Richard Stallman had yet to start the GNU project, upon which Linux and most of the current open source movement is based. Open source was just a vague notion floating around, not a legitimate movement yet.
This probably explains why Linux distributions make it available in an extra non-free supplement to the bsdgames package, although to produce that package they probably have the source code form somewhere. BSD's license was eventually opened, according to Andrew Grillet, since the U.S. taxpayer has ultimately funded it.
(It must be noted that many universities are not making this observation nowadays; patent rights are a source of income for some institutions.)
David Dingwall notes that Rogue's source, once escaped into the wild, quickly suffused the user communities for both BSD and AT&T versions of Unix, and that it was even backported to older versions of BSD running on PDP11s. He also notes the spread of Rog-O-Matic, the first roguelike "bot" and predecessor of Ben Harrison's Angband Borg.
2. The source code then escaped. Several possible incidents are reported in the comments about when this occured; a student used an open terminal logged into the games account, and the source was accidentally left world-readable one day. They then spread around between systems.
These inadvertent source releases could also be the origins of some of the code in the "lost roguelikes," which are all fairly close to Rogue in many of their features, but some/all of them could be reimplementations too.
3. When the developers of Rogue reimplemented it and attempted to sell it for home computers, first under the name A.I. Design, then when they granted a distribution license to fondly-remembered classic games company Epyx, they had another reason to horde the code; to preserve their commercial rights to the game.
The game didn't do well in the market, perhaps because of a high piracy rate, although the authors of the article doubt it. (And so do I, for that matter.) Ken Arnold states that if he wrote it now, he'd go ahead and publish the source. (He does have the source of the most recent version of the game up at Sourceforge.)
Mastertronic also released some versions for various computers, including the Commodore 64; I have no information on how they obtained the rights.
More information, gathered from other sources:
4. There is a game called "Rogue Clone" out there that is definitely open-source. It's an independent close reimplementation of Rogue and pretty much the same in most ways I've noticed. It may be a little easier; I've had multiple wins at Rogue Clone IV, but I've never won PC Rogue without cheating.
5. The "lost roguelikes," Advanced Rogue, Super-Rogue, UltraRogue and XRogue, as well as versions of the original game's source, are available from the online/offline Roguelike Restoration Project. They were also closed source for a long time, and have only recently been recovered and make working again.
Advanced Rogue's copyright notice states that AT&T is one of the copyright holders. This may be due to confusion over who owned the rights to Rogue; BSD Unix contained some AT&T code, and so BSD carried an AT&T copyright notice in addition to one held by the Regents of the University of California.
6. The game Hexarogue is a recreation of Rogue in Java using a hexagonal grid instead of a rectangular one. It also supplies two modes that are more like the original game, Newer Rogue and Old Rogue. These are also open.
7. There was also a Japanese version of the game, for early computers over there. The developer of that version seems to have authorized the Japan-only PS2 remake Rogue Hearts Dungeon. I suspect that these versions are not authorized by Rogue's creators. In any case, they do not seem to be open.
Other facts of possible interest:
- The wizard's password for the original versions of Rogue, according to Ken Arnold, is "cute,huh".
- The article shows a close-up image of the graphics from Glenn Wichman's Atari ST port of Rogue that makes it plain that Nethack's dungeon graphics are taken more-or-less directly from it.









Comments
Was there lag between moves in the original UNIX Rogue? just curious
Posted by: yellowbox | May 14, 2009 12:09 PM
Not in the version you can get for Debian, at least.
Posted by: John H. | May 15, 2009 1:26 AM
Nifty article, though I wonder then, in your estimation where the likes of Donnie Russell's various projects fit into the grand scheme of things---or would his stuff just be something else entirely running the gauntlet?
http://www.freewebs.com/drussell/index.htm
His version is actually the first and only "Rogue" I've ever played, and only within the last few years as well.
Posted by: getter77 | May 15, 2009 9:59 AM
John Harris and everyone else reading this, I am in dire need of help with Rogue now! Please, I'd be so very happy if you offered your experience and talent to helt me survive the Dungeons of Doom!
I never had a start better than this one and I really want to aim for a victory now, even though I have played Rogue very little never got further than 17 before (and the worst monsters I met were Trolls, Wraiths and Phantoms (Invisible Stalkers in other versions of Rogue), I never met the really though one even though I was at a deep enough level for Xorns (Ur-Viles/Black Unicorns) I didn't meet any before I ended up as Troll food.
This is what my game looks like right now:
-I'm at dungeon level 10
-I'm at experience level 7
-I'm carrying a Two-Handed Sword which hopefully is encanted once (had a couple of more swords of the same type and the possibility that I dropped the enchanted one could exist
-I have Armour Class 8 (aka 2) when wearing a Banded Mail, enchanted one time
-I also have a Leather Armour (AC 3 aka 7) and one unidentified Splint Mail along with THREE Enchant Armour Scrolls!
-I have a Staff of Teleport Away (used once, remaining number of charges unknown)
-I have Staff of Polymorph (also used one time only and without knowledge of remaining charges)
-When I tried Polymorph a Zombie it was turned into a Xeroc (aka Mimic) but I beat it without any trouble even though I wore just my Leather Armour at that time
-I have 4 Food Rations
-I have the Ring of Stealth (not worn, but maybe useful on deeper levels when I make a run for the Amulet)
-I have a Strenght Score of 18/18
-I have identified useful stuff like Scroll Of Hold Monster and Potion Of Paralysis (which can be used as a paralysing weapon infinte times in this version of Rogue, but I identified them by quaffing/reading so I have to find new ones before they can be of use
-I know which potions Restore Strenght and Gain Strengt are and Blind can be identified by hitting monsters in melee with it, therefore I can safely quaff potions without worrying about Poison as soon as I find another Restore Strenght potion
-I have a maximum health of 52
-I have no Ring of Slow Digestion or Ring of Searching (yet)
-I still haven't found the Scroll of Scare Monster, unless if it's one of my two unidentified Scrolls, same goes for Vorpalize Weapon
-I have my original bow left which i can use to fire my 20+ arrows and I also have 8 darts which I can throw at baddies
This is my Armour dilemma:
-I don't know what to do with my 3 Scrolls of Enchant Armour, if I used them on my Banded Mail I'd get an AC of 11 (-1) which could help me if I reach the really deep levels but leaves me vulnerable to Aquators (Rust Monsters)
-I could wear my Leather Armour or none at all most of the time and put on my Enchanted Banded Mail (AC of 11/-1) when I need to do so to survie, but then I'd have to take two hits while switching armour in battle
-I could just wear that Banded armour and hope to find a Ring of Maintan Armour or that Aquators won't hit me, but they seem to hit rather well, even Rogues with good AC
-I could enchant my Leather Armour to get an AC of 6 (4 in versions where low AC is good) but that could make me vulnerable late in the game
-I could try the Splint Mail and use that one, but I don't have any Scrolls of Identify or Remove Curse (but I've identified both) and I don't want to waste Scroll of Enchant Armour in case it's cursed
Here is another dilemma when it comes to searching:
-Is it worth the cost of food and the risk of running into unlucky encounters with bad guys like Rattkesnakes to search until I've found all those secret rooms, in this version of Rogue you still use up lots of food on yout way back home after finding the Amulet - as I said I have neither a Ring of Searching nor the Ring of Slow Digestion
I also have a dilemma of my Polymorph wand:
-is it really that useful except for really desperate situations where you have no other escape items and it doesn't matter if you get a Dragon or Medusa (Umber Hulk) as you're about to die anyway.
-Meeting a late monster at this stage in the game could have spelled my doom, that I got a Xeroc (Mimic) rather than another equally high-level monster was really fortunate
-Even later in the game this wand seems risky, if I use it on a Medusa I'm probably confused already and what if I get a Griffin, Jabberwock (Purple Worm) or Dragon then? And if I polymorph one of those three monsters I lose the fantastic xp and loot reward that could have given me if I were to win the battle
Here's a dilemma regarding traps:
-Trapdoors seem to get more and more common the deeper you go in the dungeon, when you make a run for the Amulet they're probably a good thing but what if I run into one on level 26? If I don't have a Ring of Searching by then I risk falling to a deeper level without the Amulet! Sure, I know that there are new amulets on every level after 26 but I've also heard that monsters are twice as fast if you go deeper and that survival is almost impossible there!
-What happens if I run into trapdoors on my way up, considering that I can't find new loot on my way back to the surface I'm probably risking starvation unless I've found a Ring of Slow Digestion (preferably two)
-A sleep trap with some bad company in the room could also be the end of my adventure
-This is only the seventh or so game of Rogue that I play, but I've read all the spoilers I've found and I know that I can't get a much batter start than this, unless I manage to find and identify two Rings of Slow Digestion plus a Scroll of Scare monster, in which case the whole nature of the game would chance, and time would suddenly be on my side and allow unlimited grinding (a spoiler I actually figured out myself!)
-I know there are lots of experienced players who players never won Rogue but I really want to do the impossible so please help me!
John Harris or anyone else good at Rogue, I'd be very grateful if you added me on MSN: nemesisone@gmail.com or just mail you if you don't have Messenger. You ma of course also answer to this blog post with another comment or tell me about some forum where there are lots of players good at Rogue.
Best regerds and thanks in advance!
Posted by: Nemesis - a newbie Rogue with ambition! | May 17, 2009 9:56 PM
Some clarifications about the bsdgames-nonfree package in Debian and its derivatives, and the origins and license of the version of rogue included in it.
The "upstream" source for bsdgames non-free is NetBSD.
The source to this version of rogue is available; it's put in non-free because the license contains "This code is not to be traded, sold, or used for personal gain or profit."
There's an interesting bit of history in the rogue/CHANGES file in the source, a copy of a 1987 email that apparently lists the differences between this version of rogue and the original. One gets the impression they were writing a clone of the original rogue. These are several differences listed that are still present in the code, including: no dark rooms, no @ command, and a skull is printed on death, instead of a tombstone.
I downloaded the source Ken Arnold posted to sourceforge, and a quick comparison suggests that the NetBSD version of rouge is not derived from it, but is a clean reimplementation.
Posted by: Joey Hess | May 18, 2009 4:11 PM
A roguelike-related question just popped into my head and you seemed like the best person to ask.
Do you know of any roguelikes where monsters need to be identified?
For example, I play through and find out that a "white and red snake" is nothing to worry about, but a "black and red snake" is extremely poisonous. Next game, the harmless snake is a "brown polkadotted snake" and the poisonous one is "jet black".
Posted by: Tolmar | May 23, 2009 10:42 AM
Tolmar: I've thought for a while that would be a good addition to the roguelike identification game, and I've not seen anyone do that so far. The developer would have to be careful, though, to make the more dangerous effects, like instadeath, both discoverable and not too overwhelming to a player who hasn't discovered them yet.
Joey Hess: Thanks for the information!
Nemesis: I've sent you an email about your game, although considering that it's been almost two weeks since you wrote it, I expect you've probably moved on by now.
getter77: Ah, I'm not familiar with those versions. Thanks for the link. (Yeah, it's unlikely that I know enough about them to reply meaningfully to your question, heh.)
Posted by: John H. | May 31, 2009 4:14 AM
Yellowbox: from my experience lag between moves is proportional to the depends on the speed of the system running the Rogue-like.
First version of a Rougue-like I played was on a 4.77Mhz IBM PC with floppy disc swapping. Very slow and laggy. (I think it was Moria, can't remember now).
Posted by: steveg | June 9, 2009 4:51 PM
Tolmar, try Incursion: halls of the goblin king, when you encounter monsters on that it takes a while to ID them. You will see messages such as "you suddenly realise this is a goblin chieftain". I'd link you but am posting from my phone so is hassle! Google it. :)
Question of my own: is it possible to subscribe to an rss feed for just this column and not the entire site?
Posted by: Dean | July 27, 2009 12:36 PM