I've opened a PR to change the stats from 3-18/220 to 1-40. There's no particular reason to keep the minimum of 3, if we're doing away with D&D conventions, though I doubt it will come into play very often.
Attribute Potions
Collapse
X
-
I think I'll be removing the 18/xxx option too in T2 soon.
There just isn't any point to keep the old system around. (I actually grew quite accustomed to it from playing Vanilla/Entro for a loooong time, but it's probably time for it to go.)Comment
-
Comment
-
So when I tried this out in the dev branch some years ago (maybe 5?), people pointed out that when you switch from the current scheme to one where you basically move from 18/10 -> 18/20 -> 18/30, you spend a lot longer at the lower end of the 18/x stats and it takes a lot less time to go from 18/80 to 18/100.
I reverted this change but not completely (by accident). The historic algorithm [1] gained 1/6 to 1/3 of of the distance to 18/100 between 18 and 18/98. The modern one [2] retains this behaviour between 18 and 18/90, but then moves straight to 18/100. I think it's worth thinking about the historic behaviour rather than the new one, because the idea was to make stat gain more marginal over time, relative to equipment bonuses. This is an interesting bit of design that deserves some consideration.
You could preserve this by having fractional stats, so 11.3 or 18.3 or whatever. (I think maybe late Zang did this.) You can retain the increasingly marginal gains of stat potions while still removing the bizarre display, and without having to rejig the stat tables. Drinking a potion of stat gain at 18.0 will still on average take you to 20.6 and the next one to 22.6, while a +1 stat piece of equipment would move you from 18.0 to 19.0.
Maybe the decimals feel too metric for Angband, which has always had a bit of an imperial units thing going on. Maybe stats could go up in increments of 1/3. Less clinical feeling than decimal places, maybe more in theme, but with similar functionality. Or you could keep the decimal representation behind the scenes but just show the whole numbers.
The other option, which is removing the fractional component completely, decreases the early power of stat gain potions but increases their later power. At the moment the average progression from stat gain, starting at 18, is:
0. 18
1. 18/26
2. 18/46
3. 18/61
4. 18/72
5. 18/80
6. 18/86
7. 18/91
8. 18/100 [3]
(The historic algorithm had an extra three steps:
8. 18/94
9. 18/97
10. 18/99
11. 18/100)
So with a simple linearisation that didn't adjust the stat tables, the power of stat gain at the beginning of the game would be less. However, at the end of stat gain, when it used to take 7 potions (and currently takes 4) to get from 18/80 to 18/100, it now takes 2. That's a big change!
So I there would have to be some reassessing of the stat tables. Maybe the old 18 to 18/100 isn't 18 to 28, but 18 to 32 or 34. Compress the beginning of the range a bit, and stretch out 18/80 to 18/100 over 4 or 5 different increments.
There are probably other things I've not thought about with this. But a simple linearisation is quite a major gameplay change and is worth looking at in more depth.
[1] https://github.com/angband/angband/b...pells1.c#L1004
[2] https://github.com/angband/angband/b.../player.c#L142
[3] If you want to see how I worked these out, it's a Google Sheet: https://docs.google.com/spreadsheets...it?usp=sharingtakkaria whispers something about options. -more-Comment
-
Now that this can of worms is open, I am going to open another one.
My first thought was "why not just multiply all the stats by 10?"; so rather than 3 to 40, we would go from 30 to 400. Then I recalled an intention I had to try and make some of the calculations in the game simpler and more transparent.
So I went and had a look at the various tables for things like effect of WIS on saving throw, and my next thought was "what if we could get rid of all those, and have simple relationships from the stats to all the things they depend on?".
So (and here narrative catches up with reality) I am now wondering if this is a realistic aim. There are a great many little calculations in the game - class.txt, for example, is full of them - and they all form a massive web of interdependence. On thing that's clear from the class/magic branch process is that detail of things like exactly how much mana spells cost and what level they are available at and what their fail rate is like are critical to gameplay (mage Frost Bolt and necro Dispel Living, for example, are probably too much mana to be useful). Maybe Angband is now fundamentally a complex game, and simple, clean calculations as used to such great effect in Sil are simply too coarse-grained for Angband.
So that's the "simpler" bit dismissed. As for "more transparent", I'm starting to wonder about that too. I've been on a drive to push stuff out to data files, and this has reached possibly ridiculous lengths now that there is an object_power.txt which basically contains the algorithm for calculating powers of objects (used for determining prices and level feelings, and in the randart algorithm). It seems unlikely that anyone is ever actually going to edit that for their own play, in which case what was the point?
In summary, I think this entire post was a waste of time, but if it gives anyone an idea of something useful to the contribute to the discussion, please fire awayOne for the Dark Lord on his dark throne
In the Land of Mordor where the Shadows lie.Comment
-
Comment
-
Comment
-
Or if it's an ironman you read scrolls after clearing a level so if you hit deep descent, you're only really being pushed down four levels not five.Comment
-
The diff of the relevant file is too big to display by default, but I set Con 1 to be -3.5 hp per level. Here is the line in question.Comment
-
I think trying to make the effects of stats on gameplay effects simple and transparent is going to be very difficult, and will probably sacrifice some significant amount of gameplay. Pretty much every major roguelike has very complicated calculations. The ones that get away with simple calculations do it by really simplifying. (Sil and Brogue come to mind here). These games do tend to be shorter overall, and extending Sil style gameplay to Angband is probably very difficult.
Other roguelikes have super complicated stats and effects (Tome, DCSS, and probably many others I haven't played) and they do fine. So I don't think this is a big turn-off. The important part is that the results of the complicated calculations should be made apparent to the player. We do this by displaying hit chance on monster recall screens, increased blows chance on weapon inspect screens, and damage boosts on device inspect screens. This is good, and we should keep things like these.
Fixing the scale from 3-40 or whatever is a good idea. If we are worried about a midgame effect on gameplay because you lose the stat gain boost after 18/00, then we can counteract that by making stat potions a bit more common, or more likely to drop in pairs, or whatever.Comment
-
Are Sil mechanics actually simpler then V? The stealth mechanics certainly aren't & it certainly worth considering making the V stealth mechanics more complicated like Sil (though teleports as usual would be a headache to balance for). The basic melee mechanics are "simple" in Sil in the sense you'd have an easier time doing them with pen & paper but you certainly have a much harder time comparing 2 weapons & having a good idea which to use without going up & hitting a bunch of stuff. Then when you start adding in the other modifiers: penalties for being surrounded, bonus for lights, bonus for bane, status effects, special abilities. I'm not convinced.
So what is actually complicated about V mechanics? I get the impression the code calculates to-hit in an overly convoluted way, but underneath that are the mechanics too complex, or are they actually too simple? I actually suspect it's the later. Angband has a lot of incredibly binary mechanics(like FA - on/off, alive or screwed). There's a fair argument that it's too often simplistic, rather then overly complicated.Comment
-
So when I tried this out in the dev branch some years ago (maybe 5?), people pointed out that when you switch from the current scheme to one where you basically move from 18/10 -> 18/20 -> 18/30, you spend a lot longer at the lower end of the 18/x stats and it takes a lot less time to go from 18/80 to 18/100.
...
At the moment the average progression from stat gain, starting at 18, is:
0. 18
1. 18/26
2. 18/46
3. 18/61
4. 18/72
5. 18/80
6. 18/86
7. 18/91
8. 18/100 [3]
(The historic algorithm had an extra three steps:
8. 18/94
9. 18/97
10. 18/99
11. 18/100)
So with a simple linearisation that didn't adjust the stat tables, the power of stat gain at the beginning of the game would be less. However, at the end of stat gain, when it used to take 7 potions (and currently takes 4) to get from 18/80 to 18/100, it now takes 2. That's a big change!
So I there would have to be some reassessing of the stat tables. Maybe the old 18 to 18/100 isn't 18 to 28, but 18 to 32 or 34. Compress the beginning of the range a bit, and stretch out 18/80 to 18/100 over 4 or 5 different increments.
Code:Before After Before After Error 16 17 16 18 New way too good 18 ~18/26 18 20 0.06 below average 18/26 ~18/46 20 22 0.06 below average 18/46 ~18/61 22 24 Accurate average 18/61 ~18/72 24 25 Accurate average 18/72 ~18/80 25 26 Good here 18/80 ~18/86 26 27 New way a bit better 18/86 ~18/91 27 28 Done 1 potion too soon? 18/91 18/100 28 29 Unless we extend the range by 1
Edits:
After you asked and I didn't see it in GitHub either, I actually panicked and thought somehow I had lost my changes. But the review is appreciated. I just discovered a bug in the blows calculations in my version, so more eyes are always welcome.Last edited by Ighalli; June 2, 2018, 18:33.Comment
-
The current stat gain model has the following attributes:
* punishes mediocre and bad starting stats (11 and less), giving lousy character attributes, with long slow climb.
* gives a huge boost at 18/00, when next stat potion gives ~3 extra, and significant improvement to character attributes
* Generally gives diminishing returns above 18/60 when equipment is added in, except for CON (which is valuable to the end for most race/class combos.)
The above is why !Toughness is the most potentially valuable (as opposed to immediately valuable) stat swap potion. It also means that any roughly linear solution (including modifications like +2 stat gain up to some limit) will mean significant gameplay changes.
The origin of this is the roughly normal distribution of dice rolls for 3d6. (18 is much better than 10.5, and 3 is much worse.)Comment
-
In my opinion, the complexity of Angband with all its nuances, intricacies, and deep, deep, learning curve are one of the principle reasons for the longevity of the game and my continued interest in playing all these years. I still learn things I never knew, and this is a good thing. The current push to simplify and make things less opaque not only runs the risk of destroying much of the nostalgia and fond memories of this game, but the very fabric that makes the game worth coming back to again and again. Please, be very careful about these changes.“We're more of the love, blood, and rhetoric school. Well, we can do you blood and love without the rhetoric, and we can do you blood and rhetoric without the love, and we can do you all three concurrent or consecutive. But we can't give you love and rhetoric without the blood. Blood is compulsory. They're all blood, you see.”
― Tom Stoppard, Rosencrantz and Guildenstern are DeadComment
Comment