Make the identification game less regimented. Currently, a rational spoiled player (who will not take the risks associated with direct use-ID) is restricted to indirect use-ID (and monster use-ID) of most objects until such time as they can find a general, book, or scroll shop, at which point they can price-ID the scroll of identify and other items. Once identify is known (and could be blessed), the good items (as determined by price ID) can be fully identified. This is problematic because it’s not at all a gradual process, and it feels like it should be.

Some ideas have been floated to remove price ID outright (presumably, a shopkeeper would pay the same amount for each item of an object class as they currently do with amulets). This has some advantages; price ID is tedious, encourages stashing to some extent (because stashing near a shop where you can ID new things is good), and roguelike players who don’t primarily play NetHack tend to hate its price ID system. In this case, either the scroll of identify should start out identified for all characters, so that identification doesn’t take forever to get off the ground, or some other mechanic should be added so identify is easy to pick out for spoiled players (such as retaining price-ID for only that scroll).

A designer may not want to get rid of the price identification system entirely. But there are some options for amending it. Overall, it should become less regimented and predictable, and less necessary of a strategy. NetHack’s entire idea of price tiers doesn’t appear to be based on much of anything, and having items organized into tiers makes it easy to disregard entire sets of items once their base prices are known. Ideas include:

  • Change price ID so that each item is assigned to a “band” of possible prices. There are four price bands, and each item class has its base price randomized based on its band. The price bands show up on unidentified items, e.g. “an expensive scroll labeled KIRJE”. Some items might fall into more than one price band.
  • Implement price tiers (e.g. all scrolls cost either 100, 150, 200, or 300), and items are placed into 1-3 possible tiers at the start of the game.
  • Fuzz the prices of items so that it’s not possible to definitively say what an item is, only that it’s cheap or expensive.
    • One way to do this is to scatter the base price of each previously tiered item each game on an interval so that it overlaps with the intervals from other previous tiers, perhaps a random number from 1/2 the original price to 2x the original price.
    • Or fuzzing is done on a per-shopkeeper basis. Each shopkeeper sees each type of object as having a different base cost, based on hashing their monster ID. Asidonhopo sells a scroll of fire with a base cost of 86; Enniscorthy sells it with a base cost of 103.
    • Or, do away with tiers entirely and simply scatter the base costs permanently. A ring of free action might be 240 or 260 base, because it’s on the higher end of usefulness in the former 200 tier. Some fuzzing would probably be needed here to keep things from being unambiguously identified.