This is a 4 part series on annoyances I have with roguelikes. Last time we covered Burden of Knowledge.

Today I want to talk about Identification systems. In many roguelikes, particularly the older ones, the items you encounter in the dungeon are not easily identified. While inexperienced adventurers can tell when they’ve picked up a scroll, the meaning of the cryptic symbols on it are not immediately obvious. Items can be identified in a variety of ways and once identified, any items of that type are known for the rest of the game. Using items that are unidentified can often save your bacon, but they can also be very dangerous.

Before I start complaining, a hypothetical example is in order.

Imagine you’re a new player who wants to try one of those rogue-likes everyone’s been talking so much about. You fire up Dungeon Crawl Stone Soup. After a few minutes, you’re near death.

Things look hopeless, so what do you do?

Fortunately, you’ve already scooped up 3 kinds of potions, 5 kinds of scrolls, and 2 pieces of jewelry. They’re all unidentified, so you don’t have the faintest clue what magical effects they could have.

Whatever. You click on the first item in your inventory. It turns out to be an invisibility potion. Good call.

Huh? Despite being invisible, it looks like the monsters are still attacking you. The potion also caused “magical contamination”, which negates the effect of invisibility. You die.

Why do we fall, Bruce? So we can learn to pick ourselves up…

So you roll a new character and quickly get into another bad situation. This time you encounter Grinder, a deadly early game “unique” monster. You decide to quaff a random potion again.

This time you get lucky! Your stack of three unidentified potions turns out to be Potions of Curing. These potions heal you, but for a tiny amount. Chugging all three isn’t enough to stop Grinder’s damage. You die.

You make one more character: an Octopode Assassin. Maybe sneaking past the the monsters might work better. Despite your best efforts to stay hidden, a pack of gnolls sees you on Floor 3.

You think you’ll try using scrolls this time instead of potions. Your first scroll makes a large bang. It’s a Scroll of Noise! More monsters will be coming soon, so you need to do something fast. One more scroll remains in your inventory. You read it. It’s a Scroll of Immolation. You die a fiery death.

Hopefully the numerous problems with identification are obvious from this example.

It’s yet another instance of Burden of Knowledge.

There are 28 kinds of potions in Nethack and 20 kinds in DCSS. Likewise, there are a large number of wands, scrolls, rings, weapons, etc. When you pick up your first potion and consider taking a single sip, you now have a HUGE learning problem ahead of you. In order to fully understand the consequences of this one action, you need to already understand several dozen items. Of course new players don’t go through the trouble of learning all that. They just treat the outcome as a total crapshoot. Maybe they roll the dice, but maybe they don’t…

It encourages hoarding

One of the hardest lessons to learn about roguelikes is that you must use your damn items. It’s very common for new players to die with full inventories. Part of this can be explained by item identification. When each unidentified item could be one of 20 things and half of those things are bad, the risk of using items appears too high.

It’s a common strategy to accumulate unidentified consumables until you have several of each kind. That way, you can identify a stack of items by wasting one and still have the rest identified and ready for future use. Players using this strategy may eventually stop hoarding items, but they ignore items and the item identification system completely until mid-game.

It causes learned helplessness

After watching many roguelike Let’s Plays, I’ve noticed that new players are very susceptible to learned helplessness. A couple bad (or even neutral) outcomes can convince a player to avoid certain systems altogether. When someone is new to a game, they’re constantly constructing mental models of all the systems in a game (most of which will be incorrect). They’re trying to deduce whether a particular strategy is good or bad on the fly. A few bad numbers from the RNG might give them the wrong impression.

And in the previous examples, it’s not even that the items were all bad. Curing was a great potion, but not very helpful in that situation. Invisibility didn’t help and the reasons are not going to be clear to a new player. Noise isn’t particularly bad, but it sure didn’t help. Immolation just sucked.

For a new player, there is no way to predict any of that is even a possibility. What’s worse is that, even after the outcome, most players (tending not to read the message log in detail) will barely understand what happened. They might swear off of using unidentified items completely, figuring that it’s more likely a newb trap than a useful strategy. Later, when they desperately need consumables to survive, they may not use them.

For experienced players, it’s a solved problem and a boring one at that

In Episode 30 of Roguelike Radio, guests discuss identification systems. I find myself nodding along with Keith Burgun:

For most people, these systems tend to come down to either it’s totally clear and it’s obvious what the item is or it’s completely random what the item is. Even if there is all this information that you could be using, it’s not clear enough… It’s very hard to make this system either not like completely solved or completely random.

Keith gives the example that in DCSS your biggest stack of potions is almost certainly a Potion of Curing or Potion of Heal Wounds (together these make up 38% of potions generated). Once you learn that, you’re rarely surprised. The vast majority of the scrolls and potions in DCSS are beneficial and the dangerous ones hardly pose a problem if dealt with correctly. Veteran players will know to find a quiet corner of the dungeon, rest to full HP, and ID items by wasting one of each type. As I’ll get into later, this zero-risk scenario is anathema to how a good ID system should work.

Admittedly, the system in Nethack is much more fascinating (for novices at least). Items can be far more powerful. You might come across a Scroll of Genocide that lets you wipe out an entire race of monsters or instead a Scroll of Punishment which weighs you down with a heavy ball and chain.

Are we having fun yet?

There’s also a bazillion ways to identify items. For example, dipping an Amethyst into a potion will turn it into a Potion of Fruit Juice if it was a Potion of Booze and thus identifies both kinds. Interesting idea, but the problem is it’s just another spoiler. Experienced players will know a bunch of these tricks, but those methods become both uninteresting and tedious. The worst offender is “price identification.” Since items have various prices and shopkeepers don’t have any problems with identification, you can often ID something by checking its sale price. I’ll let the Nethack wiki explain (emphasis mine):

The sell price will normally be half the “base price” of the item (one third the “base price” if you’re wearing a dunce cap, a level 14 or lower tourist, or wearing a shirt with no armor or cloak over it), but there is a 25% chance that you will only be offered 3/4 of the normal sell price (3/8 of the base price overall). You can get around this by repeatedly dropping an item and refusing to sell it, until you have been offered two different prices for it.

Finally, the topic of cursed equipment (forcing you to wield subpar gear  for extended periods) only needs a brief mention: it’s a hassle. After running out of ways to identify/uncurse items, you either avoid unknown gear altogether or you accept that some of your playthroughs will be dragged down by long periods of passive penalties. In Brogue, however, you can automatically identify items by wearing them for 1000 turns. Oh. Super.

Throwing the baby out with the Unholy Water

Many newer roguelikes remove identification completely including Cardinal Quest, Dungeons of Dredmor, IVAN, and DoomRL. Notably, TOME4 kept a bizarre vestige long after its identification system was made moot: players start with a Scrying Orb that can be activated an unlimited number of times to identify items.

Here’s the thing. Despite disliking the implementation of such systems, I actually like the idea of identification in theory.

More than anything else, having unidentified items makes the dungeon seem more mysterious, more magical. It emphasizes that the dungeon is dangerous, that you’re not running through a kiddie fun house. The dungeon isn’t meant for you. You’re no hero. You’re not storming in there at the beginning of the game with a +10 flaming sword. No, you’re a scared little thing, trying your darnedest to survive by scraping together whatever you find in the trash. That’s what roguelikes are all about to me.

A Broughlike, not a roguelike (so I have no complaints).

Of course, there’s also real gameplay benefits to identification. Getting down to your last hitpoint and then saving yourself with some unidentified item feels amazing. The bad outcomes are equally important though. Quaffing weird potions in the middle of bad situations can also result in a bunch of hilarious deaths. And that’s something truly special about the genre. Earlier we saw that standard ID systems discourage you from taking such risks and that’s really the thing I don’t like.

Rogue, That One

The most convincing defense of ID systems has come from John Harris. He pushed back strongest in that Roguelike Radio episode mentioned earlier. And he also wrote an excellent article on identification in Rogue. Harris explains the backstory behind having unidentified items in the first place. Like most things in early roguelikes, it comes straight from Dungeons & Dragons. That’s followed by a little story about “Rodney” that helps explain why the system in Rogue is so great. I encourage you to read the entire article if you have time.

That post had a huge influence on me when I was designing the ID system in Golden Krone Hotel. I was particularly inspired by Harris’s criteria for what makes an identification system good. I won’t list all 9 recommendations, though I did find most highly convincing. Here are the ones that resonated the most:

  • There must be bad items as well as good ones. Without bad items, the system loses a lot of its charm.
  • Bad items should be useful, at least in certain scenarios. Otherwise they’re just junk.
  • There should be a lot of items so that identification isn’t solved too early. The items generated in a single run should be a fraction of what the game offers.
  • The game must be hard enough that winning requires the player to use unidentified items in desperate situations.

That last point really stands out as the most crucial feature of a good ID system. Ideally, players would not want to waste their items. No quaff-IDing in a corner to safely reveal an entire inventory. It’s much better instead if a roguelike encourages players to use items in combat.

So how to achieve it? I’ll talk about what I did, but I’m not saying it’s the best solution or it solves all the problems with identification. All I’m saying is let’s try something different. There’s got to be some happy medium between throwing away identification completely and doing the same old thing we’ve been doing for 35 years.

After much ado, something surprisingly simple

As soon as I read Harris’s article, an idea popped into my head and I left a comment on the post saying as much:

While reading your article I had an idea: perhaps on the description of each unidentified potion you can see that is 1 out of 3 possibilities (and maybe that number changes depending on your character’s intelligence). This might give you more interesting decisions rather than feeling like you are rolling a 20 sided dice each time you quaff.

The way I implemented that idea is pretty straightforward. I decided to make all the consumables potions. Intelligence doesn’t factor into how many possibilities there are. Though I considered different possibility counts, 3 seems like the best option (offering enough complexity, but limiting how much information is presented). There’s 40 potions in the game, though you’ll only see 26 in any given run. People I told the idea to were initially worried that laying out 3 possibilities would make for a cumbersome interface, but putting the information in tooltips seems to works fine.

There are a few nuances to implementing the system. Though it’s not strictly required, I “bundle” potions in groups of 3. So in the above case, the bundle consists of Honey, Antidote, and Blink Potion. If I had all 3 of these potions and tried examining each, they would all yield identical descriptions.

To avoid price identification, I make all unidentified potions have the same super cheap price. That also has the benefit of encouraging players to buy and use more unidentified potions rather than pricier identified ones.

The most complex part is automatically deducing potion identities for the player. Some potions only have noticeable effects in certain cases. Let’s say I’m currently a vampire, I’m poisoned, and I quaff the above unidentified potion. It has no effect. Logically, we know it has to be Honey because Honey is the only potion of the 3 that would have no effect in the current situation (vampires aren’t sated by it). So the game would then identify the potion automatically.

If, however, I was not poisoned before quaffing, there would be no telling if it was Honey or Antidote. Neither would have an effect. That kind of potion would remain unidentified. Having potions that are not always guaranteed to be identified on the first use is one of Harris’s other recommendations. It adds a little depth to the system, so that players can think strategically about the best time to try identifying stuff.

Importantly, I’ve made sure all bad potions have utility if used properly. Conversely, many good potions can be bad if used at the wrong time. The above bundle is a good example. Aether is really powerful if fighting monsters that only do Physical damage, but could be game ending otherwise. Combustion is one of those classic “seems purely bad” potions, but can push enemies away from you in addition to damaging them. Nostrum is similar to Aether; you’ll have to decide if the healing is worth the subsequent vulnerability.

Live and quaff, friend

This system is only a tiny tweak to the status quo, but it changes everything. Knowing the worst thing that could happen upon using an item discourages hoarding and instead encourages you to use it in the middle of battle. I can’t say that I’ve fixed hoarding completely, as it’s truly one of the most hardwired behaviors you’ll see in new roguelike players.

The 3-possibilities system once and for all fixes the problem with Burden of Knowledge. There’s no need to consult a wiki if the game tells you what’s possible in a few short sentences. New players actually have a chance to make strategic decisions about what  they’ll use instead of it being a crapshoot every time. At the same time, experienced players don’t get to sidestep identification by using some obscure tricks. They still have to deal with it like everyone else.

If you know of any really interesting identification systems, let me know about them in the comments. Next time we’ll be talking about a staple of the roguelike genre, awful controls.