Angband Forums

Angband Forums (http://angband.oook.cz/forum/index.php)
-   v4 (http://angband.oook.cz/forum/forumdisplay.php?f=11)
-   -   Dead character feedback (http://angband.oook.cz/forum/showthread.php?t=5371)

Derakon April 26, 2012 18:38

Just because I had the original idea for the combat mechanics doesn't mean I should "own" them or need to provide my blessing to changes to them. Though I will protest if I think what you're doing is a bad idea. :) That said, you wanted my input, so here it comes.

Regarding differing crits for finesse vs. prowess characters: I'm not certain I see the point. How is piercing (some amount of) absorption different from dealing (some amount of) extra damage? Or are you advocating that finesse crits should completely obviate absorption? In which case, how would we differentiate between a "good" hit and a "*GREAT*" hit? This would also seem to establish a hard cap on how much extra damage a crit gets you -- only as much as the monster has absorption, which is often a fairly small number even in the late game.

Regarding finesse damage dice: assuming we want the per-hit damage from finesse characters to be consistent, I don't think we need do anything beyond ensure that they don't generally get weapons with bigger dice than a d4 -- which we'd do anyway, since prowess weapons start picking up around about d6. For example, let's say you have a 2d4 finesse weapon and you get 4 blows per round with it with no prowess bonus. I ran 10k iterations of this and got an average damage of 19.98 with a standard deviation of 3.19 -- that's a deviation of only 15%, which is going to be barely noticeable in actual gameplay.

By comparison, prowess combat is way spikier -- misses are a huge deal there since they tend to mean you don't do any damage for the entire round, and when you hit, most of your damage comes from rolling one or two dice and then multiplying the result by a big number. My last paladin had a 1d16 great hammer with IIRC 1.6 blows/round. I was able to kill things okay, but groups were a pain due to misses, and there were definitely times when that 1d16 would roll a 1 or a 2 -- I could tell because even though I hit the monster, its healthbar didn't budge.

That said, if you really want to provide some fixed bonus to per-hit damage, I'd suggest adapting the pval syntax where you do "A + XdY MB" -- a constant bonus, A, plus the dice XdY, plus a depth-dependent extra constant bonus, B.

Finally, last I heard the plan for unbiased weapons was that they would get better dice than either finesse or prowess weapons, at the cost of having a worse critical hit rate (due to the way the crit calculations work, which favors wielding a finesse weapon as a finesse character, or vice versa) and being comparatively hard for non-warrior classes to use (since they lack either the finesse to get multiple blows, or the prowess to make those blows hurt, depending on the class). Basically the goal is that when a non-warrior finds a good sword, they'd think "This can just about compete with the gear I'd rather be using." When a warrior finds that same sword, they can go "Sweet! It's a straight-up upgrade!"

fizzix April 26, 2012 18:52

Quote:

Originally Posted by Magnate (Post 68916)
But all damage info should assume 0 absorption, otherwise we have lots of mess for little gain.

One solution is to display the damage information on the monster recall, including absorption, and only have basic information on the weapon.

Magnate April 26, 2012 18:55

Quote:

Originally Posted by Derakon (Post 68919)
Just because I had the original idea for the combat mechanics doesn't mean I should "own" them or need to provide my blessing to changes to them. Though I will protest if I think what you're doing is a bad idea. :)

That's what I was getting at - if you thought it was a bad idea, I'd be interested to know why.
Quote:

Regarding differing crits for finesse vs. prowess characters: I'm not certain I see the point. How is piercing (some amount of) absorption different from dealing (some amount of) extra damage? Or are you advocating that finesse crits should completely obviate absorption? In which case, how would we differentiate between a "good" hit and a "*GREAT*" hit? This would also seem to establish a hard cap on how much extra damage a crit gets you -- only as much as the monster has absorption, which is often a fairly small number even in the late game.
This is a fair point. My thinking was that these 'finesse crits' would be much more common - but as you say, limited by the absorption available to overcome (there's nothing to stop a recalibration of absorption so that the numbers are bigger throughout).
Quote:

Finally, last I heard the plan for unbiased weapons was that they would get better dice than either finesse or prowess weapons, at the cost of having a worse critical hit rate (due to the way the crit calculations work, which favors wielding a finesse weapon as a finesse character, or vice versa) and being comparatively hard for non-warrior classes to use (since they lack either the finesse to get multiple blows, or the prowess to make those blows hurt, depending on the class). Basically the goal is that when a non-warrior finds a good sword, they'd think "This can just about compete with the gear I'd rather be using." When a warrior finds that same sword, they can go "Sweet! It's a straight-up upgrade!"
I don't think the idea of separating crits works against this at all. If anything it moves towards that goal a little further, I think.

Your comments on variation and dice are interesting. I think moving to A + XdY (whether or not we add +MB) would help both combat styles. For finesse it would allow finer control of variation (so that it could go from ~15% right down to 0%) and for prowess it would allow protection against really weak blows (so 4+1d12 instead of 1d16).

Thanks for your thoughts. I am a little unsure of where v4 is going at the moment, as there are really only three major departures from V so far: ego items, combat and traps. So as 1/3 of the main v4 contributors, I value your views highly. We'll see what happens after 3.4 (and Pyrel!).

Derakon April 26, 2012 19:24

Quote:

Originally Posted by Magnate (Post 68921)
(there's nothing to stop a recalibration of absorption so that the numbers are bigger throughout)

It's a fair amount of rather tedious work, is the only big concern. Certainly I don't want to go through and tweak a bunch of monster records. :) Much credit to fizzix for doing the first pass, incidentally.

Quote:

Your comments on variation and dice are interesting. I think moving to A + XdY (whether or not we add +MB) would help both combat styles. For finesse it would allow finer control of variation (so that it could go from ~15% right down to 0%) and for prowess it would allow protection against really weak blows (so 4+1d12 instead of 1d16).
For what it's worth:

4x 2d4: average 19.99, standard deviation 3.17 (15.8%)
4x 3d3: average 24.03, standard deviation 2.84 (12%)
4x 3d2: average 17.98, standard deviation 1.73 (9.6%)
4x 5d1: average 20, standard deviation 0 (0%)

I'll certainly grant that being able to add a constant bonus makes the range of values more versatile. There's a certain purity to deriving everything from a roll of the dice IMO, so stylistically I don't really like the offset (and I don't think that you'd notice a 15% variation in your damage), but if you think it'd be a valuable tool, and worth the cost of implementing, then hey, go ahead.

saarn April 27, 2012 03:05

SD in integer math shouldn't be too terrible, or you could report variance which eliminates the sqrt so it's simpler. I'm thinking about a slightly different idea for taking a stab at automatically redistributing the damage dice (without a code mod-- just some perl and the weapons file).

I do code for my day job, but not sure if I would be reliably engaged enough to be on the dev team (partly because I code for my day job) :-).

Magnate April 27, 2012 10:29

Quote:

Originally Posted by saarn (Post 68948)
SD in integer math shouldn't be too terrible, or you could report variance which eliminates the sqrt so it's simpler. I'm thinking about a slightly different idea for taking a stab at automatically redistributing the damage dice (without a code mod-- just some perl and the weapons file).

I do code for my day job, but not sure if I would be reliably engaged enough to be on the dev team (partly because I code for my day job) :-).

Heh - I think takkaria, fizzix and I are pretty much the only people on the dev team who *don't* code for a day job. But yes, using code to change all the damage dice is a sensible idea, though I think you'd want some manual tweaking eventually.

The problem with reporting variance is that it's meaningless to the reader, unless they can do sqrt in their head. One alternative is to calculate upper and lower bounds (+/- 3xSD covers 98%) and report these:

Damage: X vs. A, Y vs. B .... and Z vs. normal creatures (min Z1, max Z2)

Z1 and Z2 can be calculated without sqrts.

saarn April 27, 2012 15:52

thoughts on damage dice
 
I wrote a script last night that mocks up the following algorithm:

constrain finesse weapons such that number of dice >= x *faces
constrain prowess weapons surh that number of faces >= x *dice

and then two methods for deriving "balanced" weapons (right now this is a strict average between prowess and finesse, but it would eventually be an interpolation so we could have something that was 30% finesse and 70% prowess)

method 1: take finesse and prowess number of dice and average (then solve for faces)
method 2: take finesse and prowess faces and average (then solve for dice)

Based on some pencil and paper, I think I like finesse dice >=2*faces and prowess faces >=4*dice

Here's what that gives for each average damage between 1 (broken dagger) and 50(grond).

past double pipes I have a comparison of standard deviation for each of the sets of dice:
Code:

|seed_dam|prow dice|prow dam|fin dice | fin dam|  bal_d1 |bal1 dam|  bal_d2 |b2 dam| prowsd||fin sd|bal1sd|bal2sd|
    1  |  1d  1 |  1.0  |  1d  1 |  1.0  |  1d  1 |  1.0  |  1d  1 |  1.0 ||  0.0 |  0.0|  0.0|  0.0|
    2  |  1d  3 |  2.0  |  2d  1 |  2.0  |  2d  1 |  2.0  |  1d  2 |  1.5 ||  0.8 |  0.0|  0.0|  0.5|
    3  |  1d  5 |  3.0  |  3d  1 |  3.0  |  2d  2 |  3.0  |  2d  3 |  4.0 ||  1.4 |  0.0|  0.7|  1.2|
    4  |  1d  7 |  4.0  |  4d  1 |  4.0  |  3d  2 |  4.5  |  2d  4 |  5.0 ||  2.0 |  0.0|  0.9|  1.6|
    5  |  1d  9 |  5.0  |  5d  1 |  5.0  |  3d  2 |  4.5  |  2d  5 |  6.0 ||  2.6 |  0.0|  0.9|  2.0|
    6  |  1d 11 |  6.0  |  4d  2 |  6.0  |  3d  3 |  6.0  |  2d  7 |  8.0 ||  3.2 |  1.0|  1.4|  2.8|
    7  |  1d 13 |  7.0  |  5d  2 |  7.5  |  3d  4 |  7.5  |  2d  8 |  9.0 ||  3.7 |  1.1|  1.9|  3.2|
    8  |  1d 15 |  8.0  |  5d  2 |  7.5  |  3d  4 |  7.5  |  2d  9 | 10.0 ||  4.3 |  1.1|  1.9|  3.7|
    9  |  2d  8 |  9.0  |  6d  2 |  9.0  |  4d  4 |  10.0  |  3d  5 |  9.0 ||  3.2 |  1.2|  2.2|  2.4|
    10  |  2d  9 |  10.0  |  7d  2 |  10.5  |  5d  3 |  10.0  |  3d  6 | 10.5 ||  3.7 |  1.3|  1.8|  3.0|
    11  |  2d 10 |  11.0  |  7d  2 |  10.5  |  5d  3 |  10.0  |  3d  6 | 10.5 ||  4.1 |  1.3|  1.8|  3.0|
    12  |  2d 11 |  12.0  |  6d  3 |  12.0  |  4d  5 |  12.0  |  3d  7 | 12.0 ||  4.5 |  2.0|  2.8|  3.5|
    13  |  2d 12 |  13.0  |  7d  3 |  14.0  |  5d  4 |  12.5  |  3d  8 | 13.5 ||  4.9 |  2.2|  2.5|  4.0|
    14  |  2d 13 |  14.0  |  7d  3 |  14.0  |  5d  5 |  15.0  |  3d  8 | 13.5 ||  5.3 |  2.2|  3.2|  4.0|
    15  |  2d 14 |  15.0  |  8d  3 |  16.0  |  5d  5 |  15.0  |  3d  9 | 15.0 ||  5.7 |  2.3|  3.2|  4.5|
    16  |  2d 15 |  16.0  |  8d  3 |  16.0  |  5d  5 |  15.0  |  3d  9 | 15.0 ||  6.1 |  2.3|  3.2|  4.5|
    17  |  2d 16 |  17.0  |  9d  3 |  18.0  |  6d  5 |  18.0  |  3d 10 | 16.5 ||  6.5 |  2.4|  3.5|  5.0|
    18  |  2d 17 |  18.0  |  9d  3 |  18.0  |  6d  5 |  18.0  |  3d 10 | 16.5 ||  6.9 |  2.4|  3.5|  5.0|
    19  |  2d 18 |  19.0  |  10d  3 |  20.0  |  6d  5 |  18.0  |  3d 11 | 18.0 ||  7.3 |  2.6|  3.5|  5.5|
    20  |  3d 12 |  19.5  |  8d  4 |  20.0  |  6d  6 |  21.0  |  4d  8 | 18.0 ||  6.0 |  3.2|  4.2|  4.6|
    21  |  3d 13 |  21.0  |  8d  4 |  20.0  |  6d  6 |  21.0  |  4d  9 | 20.0 ||  6.5 |  3.2|  4.2|  5.2|
    22  |  3d 14 |  22.5  |  9d  4 |  22.5  |  6d  6 |  21.0  |  4d  9 | 20.0 ||  7.0 |  3.4|  4.2|  5.2|
    23  |  3d 14 |  22.5  |  9d  4 |  22.5  |  6d  7 |  24.0  |  5d  9 | 25.0 ||  7.0 |  3.4|  4.9|  5.8|
    24  |  3d 15 |  24.0  |  10d  4 |  25.0  |  7d  6 |  24.5  |  4d 10 | 22.0 ||  7.5 |  3.5|  4.5|  5.7|
    25  |  3d 16 |  25.5  |  10d  4 |  25.0  |  7d  6 |  24.5  |  5d 10 | 27.5 ||  8.0 |  3.5|  4.5|  6.4|
    26  |  3d 16 |  25.5  |  10d  4 |  25.0  |  7d  6 |  24.5  |  5d 10 | 27.5 ||  8.0 |  3.5|  4.5|  6.4|
    27  |  3d 17 |  27.0  |  11d  4 |  27.5  |  7d  7 |  28.0  |  5d 11 | 30.0 ||  8.5 |  3.7|  5.3|  7.1|
    28  |  3d 18 |  28.5  |  11d  4 |  27.5  |  7d  7 |  28.0  |  5d 11 | 30.0 ||  9.0 |  3.7|  5.3|  7.1|
    29  |  3d 18 |  28.5  |  12d  4 |  30.0  |  8d  6 |  28.0  |  5d 11 | 30.0 ||  9.0 |  3.9|  4.8|  7.1|
    30  |  3d 19 |  30.0  |  10d  5 |  30.0  |  7d  8 |  31.5  |  5d 12 | 32.5 ||  9.5 |  4.5|  6.1|  7.7|
    31  |  3d 20 |  31.5  |  10d  5 |  30.0  |  7d  8 |  31.5  |  4d 13 | 28.0 ||  10.0 |  4.5|  6.1|  7.5|
    32  |  3d 20 |  31.5  |  11d  5 |  33.0  |  7d  8 |  31.5  |  5d 13 | 35.0 ||  10.0 |  4.7|  6.1|  8.4|
    33  |  3d 21 |  33.0  |  11d  5 |  33.0  |  7d  8 |  31.5  |  5d 13 | 35.0 ||  10.5 |  4.7|  6.1|  8.4|
    34  |  4d 16 |  34.0  |  11d  5 |  33.0  |  8d  8 |  36.0  |  6d 11 | 36.0 ||  9.2 |  4.7|  6.5|  7.7|
    35  |  4d 17 |  36.0  |  12d  5 |  36.0  |  8d  8 |  36.0  |  6d 11 | 36.0 ||  9.8 |  4.9|  6.5|  7.7|
    36  |  4d 17 |  36.0  |  12d  5 |  36.0  |  8d  8 |  36.0  |  6d 11 | 36.0 ||  9.8 |  4.9|  6.5|  7.7|
    37  |  4d 18 |  38.0  |  12d  5 |  36.0  |  8d  8 |  36.0  |  6d 12 | 39.0 ||  10.4 |  4.9|  6.5|  8.5|
    38  |  4d 18 |  38.0  |  13d  5 |  39.0  |  9d  7 |  36.0  |  6d 12 | 39.0 ||  10.4 |  5.1|  6.0|  8.5|
    39  |  4d 19 |  40.0  |  13d  5 |  39.0  |  9d  8 |  40.5  |  6d 12 | 39.0 ||  11.0 |  5.1|  6.9|  8.5|
    40  |  4d 19 |  40.0  |  13d  5 |  39.0  |  9d  8 |  40.5  |  6d 12 | 39.0 ||  11.0 |  5.1|  6.9|  8.5|
    41  |  4d 20 |  42.0  |  14d  5 |  42.0  |  9d  8 |  40.5  |  6d 13 | 42.0 ||  11.5 |  5.3|  6.9|  9.2|
    42  |  4d 20 |  42.0  |  12d  6 |  42.0  |  8d 10 |  44.0  |  6d 13 | 42.0 ||  11.5 |  5.9|  8.1|  9.2|
    43  |  4d 21 |  44.0  |  12d  6 |  42.0  |  8d 10 |  44.0  |  6d 14 | 45.0 ||  12.1 |  5.9|  8.1|  9.9|
    44  |  4d 21 |  44.0  |  13d  6 |  45.5  |  9d  9 |  45.0  |  6d 14 | 45.0 ||  12.1 |  6.2|  7.7|  9.9|
    45  |  4d 22 |  46.0  |  13d  6 |  45.5  |  9d  9 |  45.0  |  6d 14 | 45.0 ||  12.7 |  6.2|  7.7|  9.9|
    46  |  4d 22 |  46.0  |  13d  6 |  45.5  |  9d  9 |  45.0  |  6d 14 | 45.0 ||  12.7 |  6.2|  7.7|  9.9|
    47  |  4d 23 |  48.0  |  13d  6 |  45.5  |  9d  9 |  45.0  |  6d 15 | 48.0 ||  13.3 |  6.2|  7.7|  10.6|
    48  |  4d 23 |  48.0  |  14d  6 |  49.0  |  9d 10 |  49.5  |  6d 15 | 48.0 ||  13.3 |  6.4|  8.6|  10.6|
    49  |  4d 24 |  50.0  |  14d  6 |  49.0  |  9d 10 |  49.5  |  6d 15 | 48.0 ||  13.8 |  6.4|  8.6|  10.6|
    50  |  4d 24 |  50.0  |  14d  6 |  49.0  |  9d 10 |  49.5  |  6d 15 | 48.0 ||  13.8 |  6.4|  8.6|  10.6|

What do you all think?

saarn April 27, 2012 16:00

Quote:

Originally Posted by Magnate (Post 68958)
The problem with reporting variance is that it's meaningless to the reader, unless they can do sqrt in their head. One alternative is to calculate upper and lower bounds (+/- 3xSD covers 98%) and report these:

I think maybe rather than reporting SD (who plays angband to do stats?), it might be better to show:

with this weapon, you will [very|somewhat] [consistently|erratically] deal 12.8 damage on average.

the lookup could be based on sd of the damage dice / average damage from the device which should give a nice slider and could be precomputed. . .

saarn April 28, 2012 04:43

1 Attachment(s)
Attaching the dice rebalancing script and results of running it against current object.txt

The rebalancing function has a bias that finesse weapons should do about one more damage. Interestingly, relatively few weapons got mucked with. Rapiers and daggers and short swords definitely look more powerful.

I'm going to give this a try and see how it feels.

Edit: dagger is overpowered-- ranger can run around on dlvl 1 and 2 and squash everything without thinking, mean looking mercenaries get mutilated :-/. Problem seems to be that +1 boost to average damage for a dagger is way too much-- I'm looking into doing something proportional to average damage to boost finesse weapons now.

Magnate April 28, 2012 08:24

Quote:

Originally Posted by saarn (Post 68995)
Attaching the dice rebalancing script and results of running it against current object.txt

The rebalancing function has a bias that finesse weapons should do about one more damage. Interestingly, relatively few weapons got mucked with. Rapiers and daggers and short swords definitely look more powerful.

I'm going to give this a try and see how it feels.

Edit: dagger is overpowered-- ranger can run around on dlvl 1 and 2 and squash everything without thinking, mean looking mercenaries get mutilated :-/. Problem seems to be that +1 boost to average damage for a dagger is way too much.

Yes - look at it in percentage terms - that's a 33% increase.

I like your algorithm, but I think you need to avoid using d1. Dagger, main gauche and rapier are all overpowered as d1s, but 2d2 / 1d3 / 3d2 would be fine. The changes to the higher weapons are all good.

Now we have a problem that rapier, short sword and cutlass would all be 3d2. One of them can switch to 2d3 (probably short sword), but we still want to distinguish the other two. Maybe 4d1 for the rapier would be a nice exception to the no-d1 rule, since it's the most extreme finesse weapon.

EDIT: but the problem with the dagger is not just the 33% increase in average damage, it's the 100% increase in minimum damage. Putting the rapier at 4d1 is only a 33% increase over 3d2, so shouldn't be quite so bad.


All times are GMT +1. The time now is 08:34.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2020, vBulletin Solutions Inc.