Hi all,
I've been playing around with the randart power algorithm, turning it into a more general power algorithm for all wearable objects, and using it in a pricing formula. Takkaria suggested that before I go any further I post some results here and see what people think (with apologies to Eddie, who thinks this whole direction is misguided...).
The original power algorithm used damage as its basis, so one power point equated to one point of damage. When trying to extend this to cover everyday wearables I found that it didn't allow for enough distinction at the lower end: lots of base weapons and armour items ended up with identical power ratings and therefore costs.
So I've doubled the scale: one point of power now represents half a point of damage (per blow). This just about allows enough separation, but please bear in mind that plain weapons with identical damage dice and plain armour items with identical base AC will always come out the same, no matter how long the scale! (But see my to-do list below.)
Here is a list of sample items and their new prices, using a quadratic pricing curve (price = a * power^2 + b * power, using a=2 and b=3):
If anyone is interested, I've put a spreadsheet at http://www.terminalarrogance.com/object_pricing.xls which allows you to mess with the power rating on one tab and the pricing formula on another. Post here if you have any problems with it and I'll try to help.
Looking at the table above, there are slightly greater price increases between low- and high-damage weapons than was previously the case. Non-magical weapons are generally a little dearer, and launchers are also a little more expensive (but this seems fair, given their power in V-combat). Minor slays like orc and troll on low-damage weapons are now much cheaper (since they are not actually worth much).
Boots of speed stand out as underpriced. This is one of a small number of items with hard-coded prices which bear no relation to how any formula prices them:
- heavy armours (mithril and adamantite plate - there is a huge jump from ribbed plate to these)
- armour/shields of resistance (currently costed at 5x the total cost of the four individual resist egos - a saner multiplier would be no more than 3x)
- boots of speed and elvenkind (isn't there an extra zero on the cost of the latter??)
- headgear of telepathy
(- robes of permanence, shields of preservation - these are less out of whack, but still about double what they should cost)
It's quite possible that speed and telepathy are still undervalued in the power algorithm, and it's likely that I need to add an extra power term for multiple resists/sustains (akin to the one already used for multiple pval attributes) - but it's also possible that these things were historically overpriced quite deliberately. Moving to power-based pricing would require dealing with that (either by abandoning it or by hard-coding exceptions).
Obviously this is not a finished piece of work and I welcome people's views on improving it. My current to-do list (apart from continuing to improve the ratings of various powers) is:
1. Add power ratings for activatable effects
2. Add an extra power term for multiple resists
3. Adjust the power for AC to reflect an item's weight (the same AC is worth more on a lighter item)
4. Calculate the power value of resists and sustains by reference to monster attacks, rather than using hard-coded values.
5. Find some way of reflecting critical hits in weapon power (but I might wait until criticals are re-vamped!).
One final note: it is not possible to calculate the power of the new elemental rings. If your weapon already has that brand, it's worth nothing on the ring. If your weapon is a 1d4 dagger, it's worth a tiny amount. If your weapon is the Glaive of Pain, it's worth a huge amount! (I guess we will have to base the cost of said rings on branding an "average" weapon, like 2d5 or so).
Power-based pricing is now available in trunk. To try it, check out r1284 (or later) and uncomment the line "#define POWER_PRICING" in src/config.h before compiling. Let me know of any prices which stand out as either too high or too low.
CC.
I've been playing around with the randart power algorithm, turning it into a more general power algorithm for all wearable objects, and using it in a pricing formula. Takkaria suggested that before I go any further I post some results here and see what people think (with apologies to Eddie, who thinks this whole direction is misguided...).
The original power algorithm used damage as its basis, so one power point equated to one point of damage. When trying to extend this to cover everyday wearables I found that it didn't allow for enough distinction at the lower end: lots of base weapons and armour items ended up with identical power ratings and therefore costs.
So I've doubled the scale: one point of power now represents half a point of damage (per blow). This just about allows enough separation, but please bear in mind that plain weapons with identical damage dice and plain armour items with identical base AC will always come out the same, no matter how long the scale! (But see my to-do list below.)
Here is a list of sample items and their new prices, using a quadratic pricing curve (price = a * power^2 + b * power, using a=2 and b=3):
Code:
Power Cost 1 5 armour[1,0] 3 27 armour[2,0] or weapon(1d2)(+0,+0) 4 44 armour[3,0] or weapon(1d3)(+0,+0) 7 119 armour[5,0] or weapon(1d6)(+0,+0) 9 189 armour[6,0] or weapon(1d8)(+0,+0) 12 324 armour[8,0] or weapon(2d5)(+0,+0) or shortbow(x2)(+0,+0) 19 779 armour(-2)[14,0] or lightXbow(x3)(+0,+0) or boots of speed[2,+10](+1) 33 2277 armour(-3)[24,0] or boots of speed[2,+10](+3) 39 3159 armour(-3)[28,0] 40 3320 weapon(8d4)(+0,+0) or longbow(x3)(+9,+9) 50 5150 armour(-3)[35,0] or weapon(1d4)(+15,+15) 55 6215 longbow(x3)(+15,+15) or boots of speed[2,+10](+5) 85 14705 weapon(8d4)(+15,+15) or boots of speed[2,+10](+7) 103 21527 weapon of westernesse(2d5)(+15,+15)(+1) or boots of speed[2,+10](+8) 121 29645 armour of elvenkind(-1)[28,+15](+3 to stealth){rpois} 123 30627 weapon of westernesse(2d5)(+15,+15)(+2) or boots of speed[2,+10](+9) 154 47894 weapon (Holy Avenger)(8d4)(+15,+15)(+4)
Looking at the table above, there are slightly greater price increases between low- and high-damage weapons than was previously the case. Non-magical weapons are generally a little dearer, and launchers are also a little more expensive (but this seems fair, given their power in V-combat). Minor slays like orc and troll on low-damage weapons are now much cheaper (since they are not actually worth much).
Boots of speed stand out as underpriced. This is one of a small number of items with hard-coded prices which bear no relation to how any formula prices them:
- heavy armours (mithril and adamantite plate - there is a huge jump from ribbed plate to these)
- armour/shields of resistance (currently costed at 5x the total cost of the four individual resist egos - a saner multiplier would be no more than 3x)
- boots of speed and elvenkind (isn't there an extra zero on the cost of the latter??)
- headgear of telepathy
(- robes of permanence, shields of preservation - these are less out of whack, but still about double what they should cost)
It's quite possible that speed and telepathy are still undervalued in the power algorithm, and it's likely that I need to add an extra power term for multiple resists/sustains (akin to the one already used for multiple pval attributes) - but it's also possible that these things were historically overpriced quite deliberately. Moving to power-based pricing would require dealing with that (either by abandoning it or by hard-coding exceptions).
Obviously this is not a finished piece of work and I welcome people's views on improving it. My current to-do list (apart from continuing to improve the ratings of various powers) is:
1. Add power ratings for activatable effects
2. Add an extra power term for multiple resists
3. Adjust the power for AC to reflect an item's weight (the same AC is worth more on a lighter item)
4. Calculate the power value of resists and sustains by reference to monster attacks, rather than using hard-coded values.
5. Find some way of reflecting critical hits in weapon power (but I might wait until criticals are re-vamped!).
One final note: it is not possible to calculate the power of the new elemental rings. If your weapon already has that brand, it's worth nothing on the ring. If your weapon is a 1d4 dagger, it's worth a tiny amount. If your weapon is the Glaive of Pain, it's worth a huge amount! (I guess we will have to base the cost of said rings on branding an "average" weapon, like 2d5 or so).
Power-based pricing is now available in trunk. To try it, check out r1284 (or later) and uncomment the line "#define POWER_PRICING" in src/config.h before compiling. Let me know of any prices which stand out as either too high or too low.
CC.
Comment