Sponsored By

@Play 81: On Rogue's Item Identification System

The least copied aspect of Rogue is its ingenious item identification system. The system's origins in 1E AD&D. An example of the system in play. What it does well, and the pitfalls in implementing something like it. Closing notes.

John Harris, Contributor

April 27, 2015

26 Min Read
Game Developer logo in a gray background | Game Developer

Last time I said that the least-copied feature of Rogue is its item identification system. Of the horde of "roguelike" and "roguelite" games now flooding Steam, very few think to adopt this aspect. Darren Gray, who I'll have you know is pretty sharp on roguelike ideas generally, suggested that people participating in the Seven-Day Roguelike challenge don't bother implementing an item ID system.

Well, I'm here to make an attempt to argue against all that. Rogue is probably the most tightly-designed computer game I know of (and I know of over a thousand), and every aspect refers, in some way, to another aspect, no part of it can be considered in complete isolation from the others, and that includes item identification. I think not only does item identification add something interesting and substantive to it, but that it ties the rest of the game together, that it's really a part of a whole with the other things that make Rogue fascinating, and that the things it adds are not easily replace with other features. But, as with everything else in your design (if you aren't a designer then bear with me), you shouldn't include item ID thoughtlessly: instead, you have to work carefully to make it fit in with the rest of the game, in order to get the greatest benefit from it in terms of depth of player choices. But this is just like everything else in your game, so really it's not any different from deciding what powers your monsters should have or whether you should have a food clock or not.

The core idea is that items in an identification system, the things you collect in the dungeon that go under the increasingly-overused name loot, can have hidden properties. You don't know everything about the objects you're carrying at first sight. Some things about them are known from casual observation, like what general type it is (Sword? Armor? Potion? Ring?), but for some things there's an additional descriptor, like a color (pink potion) or material (lapis lazuli ring) that extends across a hidden class of items. Many items have individual properties themselves that have to be discovered uniquely for each one, like plus or curse status, but for this discussion we're concerned about the descriptive classes of items, not miscellaneous aspects.

Item ID, Fantasy Literature, and AD&D

The idea that magic items may not be known to the player immediately on finding is something that dates back to the roots of fantasy role-playing gaming: fantasy literature.

Sainted Gary Gygax drew from many sources when inventing (with Dave Arneson) Dungeons & Dragons. But a common thread running through a lot of it, something that if you asked me isn't played up nearly as much these days as it should, is that magic is mysterious. Even to a wizard, spells are dangerous business, not always working as you expect. It doesn't make sense that a Level 1 Rogue Muggle would be able to recognize a Sword of Casual Dismemberment on first glance, or even thirtieth.

This is of course another intrusion of that persistent game designer bugaboo, realism. Making appeals to reality is doubly damned these days, first for being inconvenient to play, second for being outright ludicrous in a genre where people throw around fireballs, monsters breathe fire, and gold never seems to lose its value despite the hundreds of thousands of pieces PCs exchange for their diamond swords. And yet, you can never wholly discard realism. After all, we meet Harry Potter properly first, not as a wizard himself, but as a dejected adoptee of non-magical caretakers. Bilbo Baggins is a relatable character, not because he's a Hobbit, or he might have a distant fairy ancestor, or he has a sword named Sting or a ring of invisibility, but because we meet him in a hole in the ground, surrounded by comfortable, normal furnishings. If you're going to author fantasy – and make no mistake, fantasy game designers are authors whether they want to be or not – your work will be more understandable if you have some realistic basis behind it, or at least a logical basis.

(Note 1: I mentioned the list of Gygax's inspirations for D&D, the famous 1st Edition DMG Appendix N, in a previous column. I was inordinately pleased to see that it has returned to the game, with additions, in the form of D&D 5th edition's Appendix D. Note 2: This plea of mine, for play mechanics that at least have some root in realism, it's something that matters more than just the subject of this essay. I might write a column about it later, it's a far-reaching concept.)

Which isn't to say that magic shouldn't be strange and exotic, no, just the opposite. Part of the job of the magic system designer is to interface the realism needed to be understandable, to be relatable, with the wonder of magic, to which it is fundamentally opposed. Reconciling these things is (and should be!) a hard problem, and how you go about it reveals a lot of what you're about as a designer. I could name names here, revealing examples of games that I don't think do it well. There are lots of them. But I prefer here to show by example, showing off a game that does it right. And hey, that game is Rogue itself, and its magic system basically is its item system.

Speaking of Gygax's Dungeon Master's Guide.... Have you ever read the magic item descriptions in the back of it? That whole book is amazing. Whatever you think about it in terms of playability as a game (there's plenty good and bad if you can sift through it all), you have to admit that it's brimming with joy and full of ideas, hundreds of ideas. Its magic item lists are terrific. Of course all the editions of D&D provide a certain amount of fun just to flip through, to read about dozens of strange, bizarre and enchanting gizmos, but the 1st Edition book is unquestionably the best, in terms of both ambition and range. (Note: each subsequent edition bled a little more of that joy out of it. Don't look for it in 4th Edition.)

Anyway, I bring the list up because of a special kind of item that's spread through the magic item listings, intermingling with the more useful devices, and those are the bad items.

Alongside listings for things like sword +1, +2 vs. magic-using and enchanted creatures (I like to imagine it like a long, sharpened spork) is sword +1, cursed. Although it's a +1 sword, and thus "one better," in a Spinal Tap sense, than an ordinary weapon, the sword magically compels the wielder to fight to the death in all battles, which isn't a recipe for long survival against dungeon monsters. It's an item you're really better off without. Then there's the plate mail of vulnerability, which "appears to every test to be magical +1, +2, or +3 armor," but is actually cursed, carries a protection penalty, and immediately falls apart when struck on a natural roll of 20. Then there's the shield -1, missile attractor, the talisman of yearning (which tries to make the wielder drown himself), the vacuous grimoire (which permanently sucks some of the reader's Intelligence and/or Wisdom scores into it), the stone of weight that NetHack players will recognize as like a lodestone, the potion of delusion, the rug of smothering, the scarab of death, and so on. All of this is just from a casual scan; there's plenty more. Pretty much every baneful object in the 1E DMG mentions what other, helpful magic object it's indistinguishable from.

The origins of CRPGs were recreations of pen-and-paper RPGs. And we've covered before that Rogue's closest analogue was to the random dungeon generation tables in another of 1st edition AD&D's marvelous appendices. But most computer fantasy games, for one reason or other, didn't try to simulate this aspect of the game, the presence of bad items. Part of the reason was likely technical, for a bad item can only have a chance of inflicting its badness if a player decides to use it, and that depends on disguising it, which is an extra layer of complexity to add to a game running on limited hardware.

But it should be noted... "because that's how D&D did it" isn't always a good justification for including something in your own game. Rogue's random item system is arguably better than 1E D&D's! Effectively, cursed items in D&D are impossible to tell apart from their helpful lookalikes until triggered, even if one has been seen before. They are basically an elaborate screwing-over mechanism, provided by Gygax to the DM, to help keep metagaming players in line. ("A magic bowl? I've seen one of those before, dibs!") Such items have no good purpose in a roguelike game.

Item ID in action

If you don't have substantial experience with Rogue this article might seem a bit esoteric. The following narrative is intended to give you some idea of how random items work during play. Our hero Rodney the Rogue enters the dungeon at the top level and begins exploring....

LEVEL 1: He finds one unknown potion and two unknown scrolls of different types. He doesn't do anything with them yet. Not much to say yet.

LEVEL 2: The monster opposition is still fairly light. A ring, a wand and a longsword are found. The player switches from his starting +1, +1 mace to the longsword; it's +0, +0, but not cursed. On the average, this a slight improvement. If it had been cursed he would have to rely on random items to drop the sword.

LEVEL 3: This is the first level with Giant Ants (in some versions called Rattlesnakes). These can drain Strength (the sole attribute score) on a successful hit. Two more potions are found here, and two more scrolls, and a food ration. One of the potions is of the same type as the one found on Level 1 (they're both "plaid," however that works), and he also now has two of one type of scroll (they have the same title, something like "swerr mep"). Rodney makes the decision to test-ID one of the scrolls, hoping it might be Identify (the most common scroll). It is! He wisely uses it on the ring (the hardest kinds of item to figure out) and finds out it's a ring of Teleportation. These are cursed and annoying, but potentially a lifesaver. He keeps it in his pack, but mentally notes when he runs out of room it's high priority for trashing.

He also tries one of the duplicate potions, which provides the message "you feel much better." The potion is of Extra Healing; even though he was fully healed when he drank it, Extra Healing potions raise your maximum hit points by two in such a case. That's a nice bonus, but he decides it's better to keep the remaining potion in reserve for emergencies. Later on, when monster attacks do more damage than an Extra Healing potion restores, he'll drink it for further maximum HP. Healing potions also curse confusion, blindness and hallucination. Blindness is the big one there, one usually wants to see that ended as soon as possible, so it's worth hanging on to one until the potion of blindness is discovered.

LEVEL 4: The new monster here is Orcs, which aren't too much trouble. Rodney finds another ring, two more potions, and one more scroll. He's now carrying 18 items, and maximum is 26; not tight yet, but it's getting there. The potion is a duplicate of one he's carrying so he drinks it. "you feel very sick", and he loses three points of Strength! It was Poison. This puts his Strength down from its starting 16 to 13. This isn't a huge problem yet, but with Giant Ants around the Strength loss may continue. A Strength of 6 is the trouble zone, that's where penalties begin to accrue. (He did lose some combat potency though, because Strength 16 provides a +1 bonus.)

He drops the duplicate potion of Poison and tries his last unknown potion, and it turns out to be Raise Strength. That was a mixed blessing. It puts his Strength back up to 14, but if he had drank it before drinking the Poison his Strength would have gone up to 17. But what's more, his "natural" strength (that is, the highest your Strength has ever been in the current game) would also have gone up to 17. The difference is what happens when a potion of Restore Strength is drunk; it restores up to natural Strength. When he does find a Restore Strength potion now, he'll end up with 16 instead of 17. It was bad luck that he drank the Poison before the Raise Strength.

In Rogue these things happen all the time. One cannot let himself get worked up about what could have been if there had been no way to know. Of course, he could have spent his spare scroll of Identify on one of the potions. But now thinking about it Rodney is reminded he has an unknown ring, and tries the Identify scroll on it to discover to his delight that it's a ring of Slow Digestion, one of the most valuable rings. Once put on this cuts food consumption by 50%, significantly reducing the pressure of the food clock. It's a good thing, actually much better than having a Strength of 17. Having good identification priorities tends to work in a player's favor in the long run.

LEVEL 5: The new monster is Zombie, still not a huge problem. Treasure found on this floor is two new scrolls and a suit of Chain Mail. That's probably going to be better than the +1 Ring Mail Rodney began with, but when he tries it on he finds to his dismay that it's cursed and -2! His best option now, Rodney reasons, is to test ID the new scrolls.

Three possibilities will free him of the armor. a scroll of Remove Curse will lift the curse and let him switch back to his Ring Mail, which is one point better than the -2 Chain Mail. Or a scroll could be Enchant Armor, which would raise the Chain Mail to -1, the same power as the +1 Ring Mail, and also lift the curse. And it could be Protect Armor, which wouldn't change the plus or power, but would lift the curse, and also protect the Chain Mail from erosion from rust traps and Rust Monsters, who will begin appearing on Level 9. He reads them both: the first produces the message "you hear a high-pitched humming noise". It was Aggravate Monster, a bad scroll, but all it does is wake up all the beasties on the current level and make them want to attack the player, which is not a bad thing on such an easy level. Really, it's a blessing that it was discovered among such innocent surroundings. The other is an enchant scroll - but it's Enchant Weapon. Rodney's Longsword is now +0, +1. Not bad, but he's still stuck with the armor for the time being....

And so the game continues. Rodney is an experienced player, so as he decides whether to use-test items he keeps in mind all the things that haven't been discovered yet, in order to minimize risk. The worst of them all is the potion of Blindness, which at best means drinking a Healing potion to immediately cure, and at worst makes the game unplayable for several hundred turns, causing the player to get beat up by monsters he can't effectively run from because he can't see them while also taking a big hit to hunger, because you can't effectively explore what you can't see. The beginning of the tough monsters is Level 13, home of the Trolls (although Centuars can hurt before then). A blind player will probably die if he meets a Troll, so it's best either to discover Blindness before then or to abandon use-testing potions there. If they aren't known by that point, he'll probably try to use Identify schools on potions from then on, until Blindness becomes known.

He's conflicted about that wand in his inventory. It's usually pretty easy to identify wands, but the problem is, if it's Polymorph it could be a game ender if the dice don't roll just right. On the other hand, if Rodney stood on a scroll of Scare Monster and created an extremely hard enemy with a wand of Polymorph, he could gain a huge windfall of experience points without much trouble. This is still risky (if the monster's new form is Dragon then Rodney will get fried), but the prospect of getting free experience quickly is enticing enough that some people will throw caution to the wind. Maybe the danger could be minimized if the player were standing near the stairs? And so on.

What They Did, and Didn't

This is the system I described last time: each kind of magical item has an obvious specific description that are randomized each game. Potions come with colors, patterns and other descriptions, for instance, and even without using them, if you find two blue potions you know they're at least the same kind. Scrolls, wands and rings work similarly. You can find out what items do conclusively with a scroll of identify, or sometimes just from using them, or sometimes speculatively, where the game will ask you what you want to call that type of item. If definitely identified that class of item will be permanently named for the rest of the game; if known speculatively it can be renamed later, although if it's later conclusively identified the definite name will overwrite the guess.

The most interesting thing about the system, to my eyes, is its originality. No idea emerges from whole cloth, and every thought a human being has ever had has had antecedents, inspirations, foundations. But it didn't originate in AD&D, whose bad items, the Dungeon Master's Guide says, are indistinguishable from the good ones, even by magical means. According to the descriptions given there, no amount of examination will be enough to distinguish a bowl of commanding water elementals from a bowl of watery death. If divination could do the job the DMG doesn't say, effectively leaving it up to the tender mercies of the DM.

The way Rogue does it makes for interesting situations, of the type demonstrated in the play example above.  It gives the player an additional way to demonstrate skill, and thematically it makes a point about the nature of magic. But a lot of games don't do this, they don't bother to offer item identification as a subgame, and it's often not bad that they don't!

If you implement item ID badly, what you end up with can be distracting, or annoying, or even frustrating. If all items are identified immediately on the point of use (Mystery Dungeon games sometimes do this in bonus dungeons), then you effectively make the first item of each type the player finds a waste ("Oh, so that's what that did. If only I had another one."), and if it's a bad item, the effect is not that different from a trap that the player merely has leeway towards when it goes off, unless he decides simply to never use-ID anything.

This isn't to steer you away from making games with it, but instead to suggest caution.  If you're going to put randomized item definitions in your game, here's some important questions to ask yourself:

  • Can you use the item without identifying it first? If not, then why require item identification at all? In principle it just makes players wait until town to get the thing identified, or to just throw away such items. You should be trying to increase the number of interesting decisions the player has to make. In Rogue, all items can be used, whether you know what they are or not, although the consequences might be dire. Make the player decide: use it and maybe get hit with a bad effect, or save it and maybe get killed when the right thing could have saved your life.

  • Are there any bad items that the player might find? If not, then there's not much reason not to wait for a tight spot before testing, on the off chance that it'll be a helpful thing. In Rogue, every item type has bad versions mixed in with the good ones.

  • Are sources of identification scarce and uncertain enough that the player may be seriously inconvenienced should he decide to wait until using instead of using right away? If not, then best play demands that the player always wait, and the purpose of identification is lost. In Rogue, the only means of definite identification besides use is identify scrolls, which are the most common scroll, but still random.

    Enough yet? We're just getting started!

  • Is the game hard enough that the player has to use unknown items once in awhile? If not, then he'd be foolish to take risks, and the items might as well not even be in the game. Some games are so easy that a skilled player might not have to use any items at all, unknown or known. In Rogue... well, the game is of legendary difficulty.

  • Are items sometimes not identified after use? If not, then it only takes finding a single example of each item to learn what it is. In Rogue, frequently items are not ID'd on use. Particularly rings are only ever identified with scrolls or careful observation, but other items that sometimes appear to do nothing on use might not be ID'd.

  • Does it matter much what order items are used in, or do item effects mean different things situationally? If not, then item effects start to look like a sequence of unrelated events, rather than something that builds on the rest of the game. We saw how Rogue does it in the play example: if you drink Raise Strength then Poison, the effect is different than if you drank Poison then Raise Strength. Same items, but different consequences depending on how the player uses them. Healing potions can provide either a large immediate benefit or a small permanent benefit, depending on how many hit points the player has then drank, and can also cure blindness, making them incredibly valuable before Blindness potions are known.

    Still a bit left....
     

  • Can bad items sometimes be put to positive use? If not, then it starts to look again like the random number generator is directly determining how well the player will do, as opposed to giving him an opportunity to use his skill to make the most of a situation. In Rogue: actually, most bad items don't have much in the way of alternative uses, although bad potions can be thrown at monsters to affect them sometimes.

  • Is it possible to identify things in ways other than use and Identify scrolls? If not, well it's not a huge thing; there aren't many items in Rogue that can be figured out without use or identification. (There is one though, and it's important!) But this is one of the best aspects of NetHack's item ID: serious thought has obviously gone into making many items discoverable without identification, and even if it seems a bit easy in some cases (wands are pretty easy once you know how), it's still pretty interesting, without requiring a player resort to such means, if he happens to be unspoiled or doesn't want to bother.

  • Are there enough items in the game, relative to the length of the game and item generation rate, that the player is reasonably sure not to find everything in one game? If not, then at the point where the player knows what all the items are, item ID becomes moot. This is particularly bad for in NetHack, where most stuff is known by midgame. In Rogue: players will typically find around 60% of possible item types in a winning game. (Note 1: NetHack's DevTeam actually took some controversial steps, according to some fans, to remedy this, by introducing the possibility for some items and monster attacks to unidentify items. Note 2: ToeJam's Randomizer item, mentioned in @Play 79, is one way around this, by giving players the possibility of accidentally scrambling the item definitions.)

That last bit, by the way, goes a bit against prevailing game design dogma, which says you don't need a lot of kinds of items so long as they all fulfill some role in the game. Well, that does make sense... maybe it'd be more accurate to say that it's an argument against excessive game length. The greater the proportion of things you can discover in one playthrough, the easier the game becomes. Of course some items should be more common than others, even to the point where they're very likely to show up. A good argument could be made that scrolls of identification are important enough that the player should probably always find a few, and of course food rations in a game with a strong food clock are important enough that even Rogue guarantees they turn up one level in three.

There's another reason for having more items in the game than could be generated each play, and that's variety. If you can't find, say, a Ring of Slow Digestion in your current game, you'll have to made do without, using the magic items that are otherwise generated to make up for it. One way to think about it: if everything can reasonably be found in one play, then the player can use whatever tools he likes the best, which gives him greater agency, which means he gets to play the way he wants, true, but also means once he's won once he's much less likely to want to play again after winning – there's little scope to vary the game on successive plays. If the player must instead adapt his playing style to the situation, then replayability is increased.

     -     -     -     -     - 

This has all been a huge infodump, and I'm sorry if it's been fairly obscure for casual readers. And yet there's still a lot left to say! But that I'll save for later.

Rogue's random items are carefully selected so that each has a specific gameplay purpose, some way in which it either lessens the weight of difficulty or (for bad or obfuscatory items) increases it. NetHack's items show similar attention to detail, each item with a specific play purpose. And there's still the topic of the identifications system of the future: Rogue's ID system is based on descriptions, but what would a game be like in which you had to, say, discover the specific gravities of potions to identify them, or apply something like the Mohs hardness scale to gemstones, or figure out a magic language to read the titles of scrolls? Maybe items types should be harder to differentiate from each other, or more vaguely typed. Don't be too quick to decry these ideas! It's not as easy to tell what ideas are good or not except in hindsight, and even then, execution is everything.

A game in which item identification takes center stage would be harder compared to Rogue, all other things being equal. So, what if we relaxed the difficulty in some other way? Maybe make the food clock is a little more generous, or give the monsters a bit less variety. Maybe such a game should provide players a list of all the possible items in the game, in order to reduce the usefulness of spoilers and FAQs?

An idea that I personally quite like is including a lot more kinds of items than could possibly appear in a single play-through, reducing the availability percentage from Rogue's 60% to something more like 35-40%. What would the consequences of this be on the game? Individual items would have to have less subtle effects, perhaps, to make up for the fact that the player probably won't be able to find more than one. Or maybe the possible items could be selected randomly from a list before the game starts, and those items would be the only ones generated; that way, whatever you do find, you have a good chance of finding more than one of, but other things won't show up at all.

Some of these items seem interesting, but they all also have their negative aspects. This is because Rogue's item ID system is exceptionally well-balanced. It's difficult to usefully change it in a way that could unequivocally be seen as better. To me, that indicates genius game design. But it also makes Rogue ID system a tough act to follow… which may explain, ultimately, why so few other games have tried to follow it.

Appendix: Rogue's Magic Items (source, plus a couple of contributions)

These items are those found in common versions of Rogue. Some versions may differ, like by splitting up identify scrolls among different item types or not offering scrolls of vorpalize weapon, so this should not be taken as definitive.

Scrolls: Monster Confusion, Magic Mapping, Hold Monster, Enchant Armor, Identify, Scare Monster, Food Detection, Teleportation, Enchant Weapon, Remove Curse, Protect Armor, Vorpalize Weapon, Light, Gold Detection, Genocide, Create Monster (bad), Aggravate Monster (bad), Sleep (bad), Blank Paper (useless)

Potions: Healing, Extra Healing, Gain Strength, Restore Strength, Haste Self, Magic Detection, Monster Detection, Raise Level, Restore Strength, See Invisible, Levitation, Blindness (bad), Confusion (bad), Paralysis (bad), Poison (bad), Hallucination (bad), Thirst Quenching (useless)

Rings: Add Strength, Dexterity, Increase Damage, Maintain Armor, Protection, Regeneration, Searching, Slow Digestion, Stealth, Sustain Strength, Teleportation, Aggravate Monster (bad), Adornment (useless)

Wands/Staves: Light, Striking, Lightning, Fire, Cold, Magic Missile, Slow Monster, Teleport Away, Cancellation, Drain Life (often bad), Polymorph (often bad), Haste Monster (bad), Invisibility (bad), Teleport To (bad), Nothing (useless)

     -     -     -     -     - 

@Notes:

Steam's roguelike sale, mentioned a couple of days ago at the Blogger @Play blog, continues until April 27.  If for no other reason it's a good time to get Spelunky and FTL for very little money, but there are a number of other interesting games offered too.  For a few more, follow that link right there.

It seems like this column took forever to write, and I'm still not entirely happy with it, but it's up now at least, remaining problems can be fixed later.  Because it took me nearly a month and a half to get up, I'm going to try to get the next one up fairly soon, maybe a review, maybe a review of one of those games in the Steam sale?  Hmmmm....

Read more about:

Featured Blogs

About the Author

Daily news, dev blogs, and stories from Game Developer straight to your inbox

You May Also Like