650 lines of code are devoted to evaluating monster power; this is used for monster level feeling, evaluating slays and brands on objects, and could be (but isn't) used for deciding whether monsters are the appropriate rarity.

750 lines of code are devoted to evaluating the power of wearables and ammo. This is used for prices and randarts.

The randart code (about 2500 lines) does a detailed evaluation of the standard artifact set, including powers, and then designs a new set so that each individual randart has similar power to some standard artifact, and over the two sets of artifacts as a whole each property will appear roughly the same number of times.

The monster power code is intricate and contains a large number of arbitrary-looking choices for how to value various properties. The object power also has a lot of arbitrary choices, but it's mostly fairly clear how they're made. The core of the randart code is pretty simple and clear (make a frequency table of properties and choose randomly from it), but there are some aspects of it which are outdated, and other choices as to how to allocate power and properties that might be worth considering.

My current thinking is to

Blow away the monster power code, replace monster power by level, maybe with a slight bonus for uniques. The monster list is the core of the game - it is player against monsters - and as such should be handcrafted.

Simplify the object power code as much as possible. Ideally each property (sustain, resist, immunity, +1 to a stat, etc) would have its own fixed contribution to power, but in practice we might need to increase power when an item has, say, all the basic resists covered. The main pitfall here is the effect on prices.

Some simplification of the randart code, considering options like assessing overall power rather than item-by-item. I think we have a fair bit of leeway here, but because randarts are downstream of objects there will be potentially big effects from changes to the object power code. This might take a while to balance.

Thoughts?

__________________
One Ring to rule them all, One Ring to find them,
One Ring to bring them all and in the darkness bind them.

I'm fine with removing monster power code, but I'd think very carefully about object power. I suspect that power is not so linear as you describe; in particular, the power of a given item is dependent on all the other items that you could equip in that slot. For example, why are Cambeleg and Paurhach the best artifact gloves? Because one gives you CON and the other gives you regen, and both are not otherwise available on gloves. On the other hand, if you lack Free Action (and let's pretend for a moment that Cambeleg doesn't provide FA) then suddenly any gloves that give FA are the best gloves you could possibly be using.

Similarly, you can make some very powerful rings indeed without them being excessively unbalancing, because there's so many other powerful rings that the player is having to choose between. No other slot has the potential for handing out a +12 speed bonus (or even larger!). As long as your new super-ring doesn't show up too early, it's fine.

I honestly don't know how I'd go about assigning object power levels. Too much depends on what the player has already found for me to be confident that we can point at a single item in a vacuum and say "that item is worth this much."

Maybe what we should do is compile expected player power levels somehow over the course of the game, and then say "we would expect this item to most likely be found at this point in the game, at which point it would modify the player's power by X". Player power can be assigned as a probabilistic sum of flag and stat powers, e.g. at 2000' the player has a 99% chance of the FA flag, 95% of the basic elemental resists, on average a +3.5 to CON, etc. So at that point an item giving FA isn't that valuable, but one giving more CON would be.

I'm somewhat surprised at this, since if I remember previous discussions you were one of the ardent supporters that monster level should not be direclty tied to monster power.

I won't claim to be a consistent human. But I believe what you're alluding to was the desire to have a perfectly consistent "monster difficulty curve", where there were no monsters that were unusually powerful for their native depths. Assuming we still allowed that, I guess using treating those monsters' power levels as being their native depths would be inaccurate, but it probably wouldn't have a major impact on other calculations that depend on monster power.

Or we could just explicitly separate power from native depth and have two manually-set numbers.

What would happen if you gave items a power value based on some average estimation, and ignored slot/player power/available egos it competes with/etc ?
(basically Nick´s suggestion, if I understand correctly).

Where exactly do you need the distinction that speed on a ring is normal while on a body armour its special ?

For randarts, I would expect that things even out - standarts have a speed option in the bow slot; randarts can be expected to have something with a major speed boost in some unconventional slot, it doesnt have to be the bow slot.

Currently such a speed item is tied to a powerful standart, otherwise it wont get enough points to become a speed item in a non-speed slot.

If you do away with that tie, you end up with powerful standarts becoming junk or junk standarts becoming powerful more often. Over the course of creating some 100 artifacts, it is going to even out. I think you wont notice the difference when you look at a random set of randarts.

@Derakon: The problem here, and I think one of the problems the initial calculation was trying to solve, is that the most dangerous monsters are precisely those that come earlier than expected. So a dracolisk is a lot more dangerous than a great wyrm of balance (prior to conical breaths) simply because it's the first monster that can breath nether for gobs of damage.

Conical breaths obviously change things specifically here, but the general idea is the same. The most dangerous monster is the one that's "out of depth" whether by design or by a roll of the die in dungeon generation.

@Estie: One of the main reasons for tying certain abilities to certain skill slots was the proliferation of +blows or +shots on armor. It's possible just not allowing those abilities on anything but weapons and launchers is good enough for now.

Still though, the comparison is against the non-artifact items that are available. A +5 speed boost on boots just isn't worth nearly as much as a +5 boost on armor because you can find +10 speed on boots with non-artifact gear. You really do need to account for that.

@Derakon: The problem here, and I think one of the problems the initial calculation was trying to solve, is that the most dangerous monsters are precisely those that come earlier than expected. So a dracolisk is a lot more dangerous than a great wyrm of balance (prior to conical breaths) simply because it's the first monster that can breath nether for gobs of damage.

I don't dispute that, I'm just wondering how much impact that has on use of monster power for calculating item value. After all, when you're considering the value of a piece of equipment, you're (usually, with rPois a big exception) considering its value against all targets, not just the really big ones.

Item valuation is ridiculously complex. It matters how rare the resistance is, how powerful the equipment slot is, how strong MAX breath damage is, and MAX spell damage as well (for darkness in particular.) And how common the attack is.

@Derakon: The problem here, and I think one of the problems the initial calculation was trying to solve, is that the most dangerous monsters are precisely those that come earlier than expected. So a dracolisk is a lot more dangerous than a great wyrm of balance (prior to conical breaths) simply because it's the first monster that can breath nether for gobs of damage.

Conical breaths obviously change things specifically here, but the general idea is the same. The most dangerous monster is the one that's "out of depth" whether by design or by a roll of the die in dungeon generation.

@Estie: One of the main reasons for tying certain abilities to certain skill slots was the proliferation of +blows or +shots on armor. It's possible just not allowing those abilities on anything but weapons and launchers is good enough for now.

Still though, the comparison is against the non-artifact items that are available. A +5 speed boost on boots just isn't worth nearly as much as a +5 boost on armor because you can find +10 speed on boots with non-artifact gear. You really do need to account for that.

I understand that, because of the ego item distribution, +5 speed on boots is almost worthless and on armor, very relevant. But where exactly do you need the distinction ? What are you trying to achieve ?

As for blows/shots, just let +1 blow be equivalent in power to +5 speed. Then have weapons pick up extra blows with a 10% probability and non-weapons with 1%, and you end up with a distribution that is similar to the current situation (if you so wish - adjust values to gusto).

Whether the +1 blow ring/helmet ends up being more powerful than a +5 speed ring/helmet depends on many circumstances, but doesnt seem to be relevant.

+1 blows is so powerful it will trump +5 speed very quickly. That is 16% up front(roughly) damage increase vs ~10% over time (assuming hasted speed 30.) And if you allow 1% across all slots, that comes to around 6% overall. If you want this, work backwards from the average endgame artifact distribution, and see whether it's too powerful or too weak--keeping in mind that some slots will not have ego items (or just rings of speed/damage/CON)