Randarts and power
Collapse
X
-
It's a good point. Right now we allow for very granular modification of stuff, like going into the edit files and changing individual allocations. Really it'd be useful to have some broader knobs to tweak. Turn up wands, turn down ammo, turn up monster density, reduce artifact generation chance, etc. -
-
Randarts currently are weaker than standarts - in a randart game, I am using more ego items. While there are spikes where the set creates some very powerfull endgame toon, on average a randart game often feels like a "no artifact" game. It is easiest to see this for - but not limited to - melee weapons; the standart set guarantees a few who are on par or better than the top end egos, but many (I would think: more than half) of randart sets have nothing that tops egos. This is not a very interesting situation, so if you want to make the game harder by lowering item power, I would suggest nerfing the egos instead.
The value of the affixes changes with class, game stage, monster population and what not, and this is a good thing. So assigning them a value that is correct under all circumstances is impossible; however, I dont see why this would be necessary. There is no need to get the shop price just right, or make rand-Ringil exactly as desirable as original Ringil. You just need to get it close enough so the game doesnt feel distorted.
As for difficulty in general, what about introducing difficulty levells. Currently you can pick between a normal game, with or without connected stairs, and 2-stage ironman, but ironman is not only more difficult, it is a completely different game. What I envision is to make some values variable, like for example the amount of inventory slots, the capacity of the quiver, the power and/or frequency of items and any other things people can think of (and maintainers can program
. The idea is to change gameplay as little as possible, but provide more of a challenge for people who play the game for that reason.
I dont know how much work that would be - probably a lot - but with that in mind, it might be good to completely change the randart generation, from mirroring the existing standarts, to a scheme where you enter a few parameters like amount, minvalue, maxvalue and then just let the game roll a set with those parameters. It would then be easy to modify the overall quality, be it for different birth options or just for balancing the basic game, by adjusting those parameters.Leave a comment:
-
Part of the problem we run into is that powers are tightly inter-related across pieces of equipment. This is most obvious with stuff like off-weapon brands, where the power of the brand depends on the dice of the weapon you use in the endgame -- which might be determined by the fact that you have the brand in the first place! So for example, an 8d8 randart dagger with weak to-dam and no powers might be an amazingly useful item just because you happened to find a ring with an off-weapon Slay Evil on it.
That particular kind of situation I believe is specifically coded for, but only really because it's the most obvious of these kinds of dependencies across items. The value of a specific item always depends on what it brings to the table relative to what you're already using. In particular, many abilities suffer from diminishing returns. Your fifth source of Free Action isn't very valuable, but your first is incredibly important -- and if FA is rare in your randart set, then the value of a randart with FA is correspondingly higher. The same goes for all the other resists and protections.
This is a very tricky problem to solve with a "greedy" randart generator (that does not consider the entire set of randarts when calculating power for a specific randart). And it is of course further complicated by the fact that the average player does not find all randarts in a given session. There might be an incredibly powerful and pretty common randart that's skewing the power rankings for every other randart in the game -- that still doesn't mean you'll find it.
Honestly I don't know what the right solution to this is. I think the current randarts are usually pretty good. I'd rather err on the side of making them weaker rather than stronger, though, for three reasons. First, people playing randarts generally have more experience with the game. Second, we want to make the game harder anyway.
And third, all it really takes to blow the game wide open is the player finding a single really great artifact. I'm not saying the player should never find good artifacts, just that they shouldn't be routinely finding e.g. Deathwreaker-caliber artifacts.
(Frankly I think the Rings of Power are all too common right now; I remember only rarely finding them back in the 2.8.x days)Leave a comment:
-
Sample size will be nowhere near enough, and furthermore, it won't necessarily scale across versions. For a long time, trident of pain + branding acid ring was a very common combo. That's out of the picture now.Leave a comment:
-
If you really want to know, do a fit based on dlevel statistics in the ladder. But in general, acid brand +slay evil is super powerful, while cold brand and slay animal is notLeave a comment:
-
What we really need is a good metric for these things. How valuable is slay evil, how about slay undead? slay orc on an early weapon isn't bad, but on a late game weapon is completely worthless. How do we calculate the power of that?
Since these things do depend on the monster list, I don't see any way of getting around the coupling problem. I think this is the natural way to go.
I'm not sure how to go about calculating these metrics in any sort of self-consistent way. This even moreso for "utility" things like speed, damage, telepathy. What's the relative weighting of +3 damage vs. slay troll?Leave a comment:
-
Funnily enough, I just had that very thought this morningThis is probably more reorganising the problem than solving it, but how about moving all the arbitrary multipliers/fudge factors out to an edit file? List all the flags in an edit file and assign them each a numerical "power level"/value corresponding to their relative usefulness/importance (huge can of worms in itself, I know). Then the actual hard-coded power calculation can be clean and simple and just look up how many "points" each trait is worth from the file and plug that number in as a multiplier. Plus it will be easy to make tweaks to the edit file both to balance things after game changes and for individual players who disagree with the existing rankings.
A start has already been made on this with constants.txt, but yes, that is the correct thing to do.
Well, once they're all in edit files I can just throw my hands up and say "Fix it yourself"(As for the huge can of worms that is deciding how much individual traits are worth relative to each other in the first place, the only thing I can suggest is getting the community to all list their personal rankings and averaging the results. Which I'm sure will probably devolve into a length derailing argument about some minor point within the first handful of posts, but oh, well.
)
Leave a comment:
-
This is probably more reorganising the problem than solving it, but how about moving all the arbitrary multipliers/fudge factors out to an edit file? List all the flags in an edit file and assign them each a numerical "power level"/value corresponding to their relative usefulness/importance (huge can of worms in itself, I know). Then the actual hard-coded power calculation can be clean and simple and just look up how many "points" each trait is worth from the file and plug that number in as a multiplier. Plus it will be easy to make tweaks to the edit file both to balance things after game changes and for individual players who disagree with the existing rankings.Fudge factors - there are many. One example is when calculating the max damage a monster can deal with a melee blow, the current code multiplies that damage by 4/3 if it is a blow that can stun, or by 7/5 if it is a blow that can cut, to give an idea how relatively dangerous that blow is. This seems kind of reasonable, but is also basically just an arbitrary guess, and then there are dozens of these guesses.
I'm not sure exactly what the best way forward is - we may well end up with something quite similar to now, but I'll be thinking about it and I'm happy to hear suggestions.
(As for the huge can of worms that is deciding how much individual traits are worth relative to each other in the first place, the only thing I can suggest is getting the community to all list their personal rankings and averaging the results. Which I'm sure will probably devolve into a length derailing argument about some minor point within the first handful of posts, but oh, well.
)
Leave a comment:
-
Good luck my friend. I am lurking and interested - it is a long-held ambition to get rid of all the fudge factors. If there's anything I can do etc.Leave a comment:
-
Stunning is way more dangerous than cuts or poison. Stunning and confusion are by far the most dangerous side effects (especially with lanterns of seeing in the game.)Leave a comment:
-
Well, power of an artifact includes a power value for its slays and brands. This is worked out by working out the best slay/brand multiplier against each monster, and then calculating an average multiplier against all monsters weighted by the monster power.
Fudge factors - there are many. One example is when calculating the max damage a monster can deal with a melee blow, the current code multiplies that damage by 4/3 if it is a blow that can stun, or by 7/5 if it is a blow that can cut, to give an idea how relatively dangerous that blow is. This seems kind of reasonable, but is also basically just an arbitrary guess, and then there are dozens of these guesses.
I'm not sure exactly what the best way forward is - we may well end up with something quite similar to now, but I'll be thinking about it and I'm happy to hear suggestions.
When these power calculations first started, there was, for example, a big drop in the shop price for Boots of Speed. I don't think there will be huge price changes this time, but there may be some; and certainly randarts will be different in ways I can't really predict.
Yes, the first changes are in the latest nightlies. There will probably be more randart changes as I clean up the code and see what I break
Leave a comment:
-
I would be happy to play, but are these changes already in effect ?
Can you give a rough idea of how artifact power depends on monster power and what those fudge factors look like ?
As for shop pricing, giving that there are items I always buy (free action gloves) and ones I never buy (defender weapon), I dont see how changing prices could possibly be unbalancing, unless it is for consumables - but why would those depend on power calculations.
Edit: it seems to be in effect alreday, I created a randart file and there is artifact with +3 str and +5 stealth, indicating multiple pvals.Last edited by Estie; November 6, 2016, 11:02.Leave a comment:
-
Randarts and power
First, some context.
Randarts have a long history in Angband. Since about 3.2, they have principally been a labour of love for Magnate, who spent a lot of time and effort refining the randart generation to the point where everyone seems to be pretty happy with it in 4.0.5.
So I'm about to break them. Here are my reasons:- Objects used to only be allowed to have one value (the "pval") which could be used as a bonus to stats, speed, stealth, etc. This changed first to allowing three such values ("multiple pvals"), and now to the ability to have as many as there are such modifiers. But the randart code still behaves as if it's the one pval era, which seems an unnecessary restriction.
- Randarts work by calculating a power value for all the standard artifacts, then for each one generating a replacement of similar power. This power calculation can in fact be done for any object; it is also used for determining shop prices. Now there is also a monster power calculation, and these two depend on each other. This power calculation code is quite intricate, and has had some strange fudge factors put in to make all the final answers look sensible. This is all very well, but it means the power calculations are very sensitive to changes in the object or monster list. I would like to make it so that changes to objects and monsters can be made without having to retune power.
- More generally, a big part of my aim in restructuring the Angband code was to make it easier to modify sensibly. My insistence on making 4.0.0 gameplay identical to 3.5.1 meant much of the power and randart code had to remain as it was, but now that restriction has been lifted I would like to finish the restructure job for these areas.
So long story short, the nightlies are going to have randarts and object prices which will (to put it kindly) require some balancing for a while. Please play them and give feedback about how the balance is going (note that there is also a bug thread for the nightlies here).Tags: None

Leave a comment: