Roguelike column thumbnail ['@ Play' is a monthly column by John Harris which discusses the history, present and future of the Roguelike dungeon exploring genre.]

Once again with the aid of the work of the Roguelike Restoration Project (link, sometimes unstable), let us return to the early days, when Rogue was the big thing in campus Unix labs and its several imitators became the first roguelike games. This is the second article on the RRP. The first covered the game of Super-Rogue.

Two games in particular concern us this time. Advanced Rogue was developed from 1984 to 1986 by Michael Morgan and Ken Dalka. It was a considerable expansion of the original game, with different monsters, multiple artifacts, trading posts and other ways to buy things, and a lot of other new features.

It introduced many features that Hack and Nethack would later pick up and run with, such as a three-level curse/bless system, a basic form of shops-as-rooms, charmable enemies and many kinds of enemies. This is also the game that introduced items of "miscellaneous magic," which brought to the game many different things that were explicated in the 1st edition Advanced Dungeons & Dragons DM's guide. Those items include gauntlets, boots, chimes, bracers, and other objects, and probably form the inspiration for Hack's many equipment types and tools.

arogue1.pngOn the item curse/bless thing, also called "beautitude," Nethack and ADOM are best known for it today. Nethack picked it up, so I piece together from the Nethack Wiki page, as late as version 3.0.0. Curses are an important part of the identification game, and all of the major ones use them, but in most games it functions merely as a kind of glue for bad objects. Wearing, wielding, or otherwise putting on a cursed item will make it impossible to remove until the curse is lifted, and that's all.

What Nethack, ADOM, Advanced Rogue and XRogue bring to the idea is two things. First, they expand the concept of curses to apply to all kinds of items. Equipment curses work the same way, but cursed one-use items like potions and scrolls perform their functions in a somehow diminished or even negative way. Whatever that way is depends on the thinking and/or sadism of the developer. A cursed potion of healing does a lot of damage in Advanced Rogue, but in Nethack it just heals less.

Second, these games implement blessings, which are functionally the opposite of curses, and cause objects to behave in a more useful, or at least less harmful, manner. A blessed item that comes under a curse will instead become uncursed, or "normal" in Advanced Rogue parlance. For equipment items this doesn't matter much, but blessed one-use items are often much nicer than the normal version, enchanting items for more than one plus, restoring more than one lost attribute point, and so on.


arogue1.pngPeople come in different flavors, but dragons are not picky eaters

Both games also present a large number of classes for the player to choose from. The selection reads just as if it were directly taken from the AD&D Player's Handbook: Fighter, Ranger, Paladin, Magic-User, Cleric, Thief, Assassin, Druid and Monk.

Five of the nine classes are spellcasters. Clerics and Paladins use "pray" spells (used with the 'p' key). Druids and Rangers use "chant" spells ('c', lower-case). Magic-Users and Rangers can "cast" spells ('C', upper-case). Notice that Rangers get access to two of the spell categories; they are the only class able to use more than one variety. Only the magic specialists get the full ability in a class. Spell selection appears to be determined by the combination of experience level and relevant statistic. Magicians, for example, gain extra spells when either their level or intelligence increases. Most classes eventually get 16 different spells, and get them fairly early. The non-specialist spellcasters get them at a slower rate.

xroguezoo.pngIt is important for you to know, should you decide to play this game, that even magic-users will do a lot of hand-to-hand fighting. This game abandons the traditional conception of what a RPG magic-user is like. You will do far more killing hand-to-hand here than blasting from a distance. In my longest test game I had a magic-user get to dungeon level 31, learning all the spells for that class, and while he did pick up several attack spells they used up so much magic power that they were almost valueless. Most of my magic points went into casting Identify, which as usual is a tremendous advantage in a game like this.

The stuff games are made of

To return to the items, there is a surprisingly large number of things to discover, in XRogue in particular. The game doesn't have as many items as Angband or Nethack, but the number is still quite high. One thing about roguelike games that don't bias item generation depending on depth or difficulty is that most things become identified fairly early. This tends to be especially true of Nethack, but in XRogue I was still identifying things through to the last level I was able to reach. The relevant ratio is items possible over items generated during a game. The lower this value, the more likely, and the sooner, the player will be able to identify everything in a single game.

More dungeon levels generally means more items generated. It's easy to make the dungeon longer in a roguelike since each level is procedurally generated, but there is currently no easy way to procedurally design and implement an item. Each item must be be custom designed and programmed, so most roguelikes have a much larger dungeon relative to the number of possible items to find. This is unlike the original Rogue the ratio was fairly high; the Amulet of Yendor was "only" on level 26. XRogue is no different from the norm here, but it does have a good supply of possible loot.

xrogueinvent.pngAdvanced Rogue was one of the earliest roguelikes to support the full range of D&D statistics (even Nethack didn't use Charisma until version 3.0.0), and some of the most useful items in these games are potions of gain ability. Unlike Hack's version of the potion, this item comes in different "flavors," one per statistic, which are revealed for all of them upon identifying one. These potions are fairly common, and drinking one (provided it's not cursed) adds one (for normal) or two (for blessed) points in its chosen attribute score. The thing about this is that while players are forced to begin the game with no stat above 18, in-game stats can get as high as 50, and with rings can go even higher. Some food items also increase stats.

Stats can go down, especially from the attacks of some monsters, but that can be undone with restore ability potions, and the upward pressure from all those stat potions is considerable, greatly increasing a character's power as they consume the potions they find. It's harder to design monsters when player abilities can vary so greatly, so most roguelikes have fairly low limits on maximum stat growth for this reason, but that design strategy itself has a drawback: at the end of many won games most characters look fairly similar to each other, having had long ago boosted all their stats to the maximum allowed. Even though stat-raising potions in XRogue are fairly common, the ceiling is so high that even by the end few players will have reached it. Between the two approaches, I think I actually prefer XRogue's.

Another highly useful item is the scroll of enchantment. Other roguelikes usually separate enchantment scrolls into weapon and armor, but these games combine them into a single item which can be used on many kinds of things. When used on miscellaneous stuff, the scroll most commonly serves to bless the item. Permanent equipment plus-raising is a characteristic of Hack-style roguelikes, and again, most of those games impose strict limits on enchantment levels. Dipping an item into a magic pool may also increase its plus, but this is risky as there's also a chance it'll randomly decide to set the item's plusses to negative levels and curse it! Most pools serve to enchant items, but the higher the item's plus gets, the more the player stands to lose if the next pool is cursed. XRogue doesn't seem to have an easily-obtained limit on pluses, again unlike most other roguelikes. The longer the dungeon gets, the higher stats become unless they're capped, but capping them thus makes those enchantment sources less useful.

xrogueacquire.pngOne thing these two games does that's entirely different from all other roguelikes I've seen is that they is allow the player to wear up to eight rings, far more than the standard two. They appear to increase hunger a little bit each (except for rings of slow digestion), but food is common enough that it doesn't tend to be a problem. The tradeoff is that there are so many useful ring abilities, and potentially great benefits from stacked stat-increasing rings, that the player must choose between the special powers he receives from them. Also, the inventory in Advanced Rogue and XRogue is limited to only 26 items. There are magic items that allow the player to get around this limit for scrolls and potions, but there is no such item for rings, and to be worn anyway they'd have to be in the main inventory. Inventory limit get harsher the more possible items the player can find and have. While 26 items is the same limit as in Rogue, there are many more items in ARogue and XRogue, enough that the player must often make choices about what to leave behind.

Another interesting item present in the game is the scroll of charming. Yes, XRogue allows players to have pets, and even take them between levels with him if it's in the same room. Yes, this is also a Nethack feature. I don't think pets grow in power naturally as they do in Nethack so they tend not to be useful in the long-tern, but they make good cannon fodder. The game doesn't seem to punish you for pet abuse as Nethack does.

There is even an extensive selection of artifacts in the game, which are used for goal items as well as having functions of their own, but I have so far been unable to get deep enough into the game to report on those...


xroguemaze.pngHere be dragons… and a selection of five other monsters, chosen randomly

The monster selection of XRogue is fairly extensive. Cockatrices are in there, as are Lava Children (special in that weapon hits go through; a couple of wands are useful against them though), several varieties of Dragon, and many many many many more. Interestingly for such an early roguelike, enemies can pick up and use some items they find lying around the dungeon floor, another surprisingly Nethackish feature.

Kobolds, a weak enemy among the first seen, can pick up and use any weapon, potentially transforming one into a heavy-hitter. Lamias, found in the middle-to-deep dungeon, can use wands, which is especially dangerous because unlike Nethack, wands don't feel like they've been gimped here in case of accident or monster use. An "ordinary" attack wand can do significant damage even to a higher-level character.

The monster generation routines at work here should be explicated, to bring it into the larger roguelike picture. The primary monster generation algorithm in roguelikes, and the one used here, is the one introduced by Rogue, generation by area. Each level has a selection of monsters that can show up. As the player makes it to deeper levels, some monsters are retired and others introduced.

xrogue2.pngThis gives each level a consistent character that doesn't change even if the layout and precise mix of monsters present does. Some games that do this, like Angband, force the player to rely upon it in order to avoid running into certain highly powerful monsters before he's ready. Nethack, on the other hand, mixes the foes up a bit by partly using the player's experience level to influence generation; even if the player stays indefinitely on a single level, if he gains experience the monsters will still slowly improve.

There are also a couple of special areas the player can accidently end up in, which have a few special monsters of their own. But we'll get to that soon….


In the Outer Region… We control the horticulture! We control the vertibrates!

The most surprising thing to find in the game is the varied dungeon areas. There are two primary types, each of which tied to a certain type of trap; a later version of this concept features heavily into the later areas of Dungeon Crawl, when the player can get banished to labyrinths, the Abyss or Pandemonium.

The first type of area is quite similar, in fact, to Crawl's labyrinths. It's a single-screen maze with an exit hidden somewhere within. Unlike Super-Rogue these are not in place of a regular dungeon, and unlike Hack and Nethack it's not the entirety of the deeper dungeon, which often becomes tiresome there. They are filled with an abundance of monsters, but also many items, more than on a typical level. There appear to be some monsters that are either more common there, or only appear in mazes; in my long game, I think I only met lava children while in one, a trying predicament since the usual "Hulk smash" enemy handling technique is useless against them.

But yes, we've seen the first kind of special area before. The second type though… wow.

xrogueouter.pngPicture this. It's the mid-80s and you're in a Unix computer lab. You're wandering around an ASCII dungeon, killing monsters, finding loot. It's a cool game, you might think, but all the levels have been pretty much like you've seen in other Rogue variants, the 3x3 grid of rooms and passages. But then you accidentally step on a "wormhole" trap and suddenly you're in a confusing screen filled with non-dungeonish character types. Monsters are everywhere, but there are no items to be found. After a while you might see a message, "The sun goes down," and most of the characters, all those except those right around you, disappear as your range of vision decreases.

Further, and you probably only discover this accidentally, if you walk to and off the edge of the screen, the whole board changes. Walk back on and the board changes back to how it was. The layout of this strange area is persistent! It does reset the monsters in the area though. Getting out of the zone turns out to be rather difficult, as not many of the screens contain a staircase back into the dungeon!

This unusual zone is called the "outer region," the strange ASCII characters turn out to represent mountains and forests, and it's strange how, even today, happening upon it the first time can be a bit of a shock. It has a day and night cycle, and is persistent within the same game. It originated in Advanced Rogue, but XRogue improved it in a number of ways, such as allowing items to be generated there. (Including food, because it was easy to starve in the original game's outer region.)

Also, while ARogue's outer region monsters are simply those that were in the dungeon, XRogue's are all prehistoric monsters, including a good number of dinosaurs! In fact, the level of the dinos is adjusted to be similar to that of the dungeon level you left. Facing them can still be a challenge regardless, since the relatively wide-open layout, and good number of summoning monsters among them, make it easy to get swamped by foes. The outer region is not necessarily bad, however, because whatever level the dinosaurs are generated as, they tend to be fairly ordinary monsters. Some of the XRogue dungeon opposition in certain levels can be very trying to deal with; the "jermilane," a tenacious monster with many annoying attacks and some immunity to weapons comes to mind. It's easy to gain a surprising number of experience points during even a few screens of outer region travel.

(By the way, if you would like to explore the outer region youself, if you take the upstairs on level 1 of the dungeon without your goal artifact, the game will transport you to a level 1 outer region zone. Good luck finding the way back in!)


xroguecrash.pngYou'd think a stone dungeon would be sturdier….

I wish my experience with the game was all this positive, but unfortunately, like Super Rogue, my best game was ended not by getting attacked by a dangerous monster, or stumbling upon a deadly trap, but from the game crashing. I had managed to get through over 30 levels at the time and had identified nearly all the non-artifact objects in the game. Artifacts start showing up around level 40, so I was particularly upset to have my adventure ended in so ignominious a manner. All I can suggest is, if you decide to play XRogue yourself, be sure to save and back up every few levels. Yes, I know you're not supposed to do this, but games aren't supposed to crash either, and yet it obviously happens with this one. My warning is delivered. Of course, you are expected to delete the backup save if you honestly die. Duh.

It is telling, really, how many features Hack and Nethack appear to have lifted from Advanced Rogue. XRogue plays a bit like an alternate universe Nethack, with many similar features but different strategies. It is definitely far less reliant on spoilers to do well, and in overall difficulty is probably on the easier end of the spectrum. I am sad to say, however, that we will never see another official version of XRogue: its creator and developer Robert Pietkivitch died in a car crash in 2002, becoming the third roguelike developer, to my knowledge, to have died in the 28 years since Rogue's creation. (The others are Noah Morgan, creator of Larn, and Izchak Miller of the Nethack Dev Team.) It is still possible that yendor of the Roguelike Restoration Project will add in features like numpad support (ARogue already has it), but the site has been moving slowly lately and is once again, as of this writing, down.

Appendix: Some information of use to new players of Advanced Rogue and XRogue

Advanced Rogue and XRogue can both be obtained here: http://sourceforge.net/project/showfiles.php?group_id=4895.

First off, I must remind you that XRogue is another game that yendor has yet to modify to support the number pad, so you must learn the vi key array to play. To remind: 'h', 'j', 'k' and 'l' are left, down, up and right in order. 'y' and 'u' are diagonals up-and-left and up-and-right. 'b and 'n' are down-and-left and down-and-right. Also, to pick things up hit comma (this is the same key as in Nethack). Note that Advanced Rogue is an earlier, simpler game, but it has been modified to allow the keypad for movement; however, if you turn autopickup off, the pick-up key is shift-P.

In both games, Ctrl-'r' repeats the last message. In XRogue only, Ctrl-'e' reveals your hunger level, and Ctrl-'o' provides a list of active effects both positive and negative. One command weirdness, compared to other roguelikes, is that wearing both armor and rings is done with the Shift-'w', Wear command, and Shift-'t', "Take Off," removes them. Most roguelikes use other keys, Shift-p and Shift-r, to handle accessories.

You begin the game in a trading post, but empty-handed except for a good quantity of gold. To check how much you are carrying, press Shift-8 (that is, an asterisk). The shopping keys are printed on-screen while you are here. The starting trading post has no limit on the number of things you can buy, but posts you find in the dungeon do. You do not begin with any items, so make sure to pick out some good equipment with your starting funds. (Note that only "fighter-types" can use two-handed swords, so if you're primarily a spellcaster don't bother buying one. I haven't yet tried to see if a mage can wear heavy armor.)

The impulse to start off in a new role-playing game is sometimes to play a figher, but in fact your first games should probably be as a magic user, which are not actually weak physically so long as you give him average strength in the point-assign character creation. And as long as they start with high intelligence they'll begin with the Identify spell. You should only use spells for identification and curse removal for many levels. Even when you get attack spells, they cost so much that you'll not be able to rely upon them.

Natural healing, in XRogue, is a bit slower than usual in roguelike dungeons until (I believe) your Constitution gets sufficiently high. Experience level also likely plays a role.

An odd thing about both games is that, while Rogue's corridors always meandered at right-angles, here they can have diagonal extents. You must travel diagonally through those corridors, even if it looks like you should be able to walk orthogonally. In mazes, too, corners cannot be cut diagonally around walls, and neither can they be even in the outer region -- unless the game determines that two spaces are meant to be diagonally connected, in which case only the diagonal move will work. Still, so long as you realize what's happening when your @-sign refuses to take a step, this is only a minor problem most of the time.

In difficulty, the game is a bit easier than Rogue and Nethack in the early going, although death is still common. A lot depends on how quickly you can get your equipment improved. In my level 31 game, monsters almost never hit my magic-user in the later levels, possibly because he was wearing +10 studded leather armor and two rings of protection. I believe I would have had a good shot at winning if the game hadn't been killed by a monster named ntdll.dll.

I don't pretend these lists are exhaustive, but they might help out a bit. These are spoilers, so don’t read these if you wish to discover everything for yourself. Really, I discovered all of this from only a couple of games of playing an identify-happy magic user, so it's not like this stuff is a particularly big secret. If you've played some amount of Hack or Nethack, some of these things may seem a bit familiar.

Scrolls:
Identify
Cure Disease
Hold Monster
Remove Curse (Asks for an item to work on.)
Monster Confusion
Gold Detection
Trap Finding
Light
Enchantment (Works on many kinds of items.)
Protection (Shields a given item from damage. However, this will not save an item from a cursed fountain.)
Create Monster
Runes (Fireball goes off when read, damaging reader.)
Petrification (Not tried, too scared.)
Acquirement (A predecessor of Nethack's wishes, this allows you to choose from nearly any item in the game!)
Aggravate Monster
Genocide
Magic Mapping
Scare Monster (The secret use of this is the same as Rogue and Hack, but doesn't seem to operate if it's cursed.)
Charm Monster (Picks a nearby monster to operate on.)

Potions:
Magic Detection
Monster Detection
Haste Self (Lasts surprisingly long, but don't drink when already fast though or you pass out.)
Lightning Protection (Turns skin blue.)
Fire Resistance
Cold Resistance
See Invisible
Healing (Increases max HP when at full health. Note that the game contains no "Extra Healing" or "Full Healing," although a blessed potion is similar.)
Flying
Skill (Temporary level boost.)
Phasing (Allows walking through walls for a good while.)
Invisibility (A drawback is that it makes your character symbol a space. Use the blinking cursor to determine your position.)
Poison
Raise Level
Clear Thought.
Restore Ability (Unless blessed only restores one point. This is changed from Rogue.)
Gain Ability (There are six versions, one per stat. Identifying one covers all the others.)

Wands:
Cold
Polymorph
Disintegration
Charging
Teleport
Lightning
Cancellation (Disables monster special abilities.)
Fire
Curing (Heals the player when zapped.)
Wonder

Staves (seem to be heaver than wands but otherwise similar):
Drain Life
Magic Missile
Confusion
Petrifaction
Teleport
Striking
Charging

Rings:
Alertness
Add (stat) (Carries a plus, there's types for Strength, Dexterity and Intelligence at least, and probably others.)
Teleportation
Increase Damage (Carries a plus.)
Aggravate Monster
Extra Sight
Heroism
Warmth
Teleport Control (Also borrowed by Hack.)
Carrying (Halves weight of stuff carried, but provides no help with the 26 letter limitation.)
Fear
Fire Resistance (Probably Cold Resistance and Lightning Resistance, too.)
Slow Digestion
Protection (Carries a plus.)
Sustain Ability
Illumination
Searching

Food:
Note: Some food items have special effects upon the player. It seems that these may change from game to game.
Food Ration
Slime-Mold (Can be used to bribe monsters.)
Soursop
Sweetsop
Peach
Banana
Strawberry
Candleberry
Elderberry
Caprifig
Guanabana
Pitanga

Miscellaneous items (Most used with Ctrl-'u'):
Keoghtoms ointment (Heals some damage and removes some afflictions.)
Book of Spells (Storage for scrolls, can hold up to 20 each. Items in storage weigh nothing.)
Beaker of Potions (Same, but for potions.)
Alchemy Jug (Contains a large quantity of potion liquid, it seems.)
Gauntlets of Dexterity (Sets Dexterity to 21.)
Gauntlets of Ogre Power (Same for Strength.)
Gauntlets of Fumbling
Jewel of Attacks (The 1st Edition AD&D Dungeon Master's Guide says it's a bad item that increases the chance of encountering monsters and makes them more tenacious.)
Dust of Disappearance
Cloak of Displacement
Book of Skills (Grants free experience level, but class specific. You should probably beware of using this if your class does not match.)
Chime of Hunger
Chime of Opening
Boots of Elvenkind
Necklace of Strangulation (In both AD&D and Nethack this is a very, very bad item. It's probably about as bad here.)

A few selected monsters:
Quartermaster: Non-hostile, tries to sell an item to the player. The only monster that appears throughout all levels of the dungeon.
Xvart: Appears in groups, can throw daggers, often drops daggers when killed.
Fire beetle: Lights rooms while it's in them.
Troglodyte: emits a foul odor that can discomfit the player.
Shrieker: Shrieks when hit. Probably attracts other monsters. AD&D says the shrieking might attract a purple worm, an extremely strong monster.
Lemure: Can summon a swarm of bats.
Grey Ooze. Rusts armor (when it strikes) and weapons (when hit with one).
Zoo spore, Gas spore: Explores when hit, doing considerable damage. Note that the explosion does not destroy the spore, and it can explode again if struck once more. These can also harm other nearby monsters, and attacking one from a distance can be an effective way to help clear a room, even if the monsters are tough.
Giant ant: Can sting to reduce strength.
Blink dog: Teleports around the player.
Violet Fungi: Can shriek as a shrieker, and can summon in more violet fungi near to the player.
Shadow. Can chill with a touch, doing major damage and draining strength. Can move through walls. A dangerous opponent.
Blindheim: Can blind with a gaze. Difficult to deal with.
Cockatrice: Beware.
Lava Child: Cannot be hit with weapons. Also immune to lightning. (Try cancellation before whacking.)
Jackalwere: Can cause sleep.
Basilisk: Can cause paralysis with a gaze. (Thankfully, appears to be unable to turn the player into stone.)
Treant: Can summon other treants.
Jacaranda: Can steal gold. Can summon Zombies. Can cause uncontrollable dancing. Can cause blindness. Difficult to hit with weapons. A tough customer.
Wererat: Can summon Giant Rats.
Zombie: For some reason, they're often invisible.

Outer region monsters: Grig, Trilobite, Pterodactyl (flies), Theropod (flies, explodes), Sauropod (can summon grigs), Brontosaurus, Sloth (can summon trilobites), Mastodon.