Page 1 of 1

Remove GDR?

PostPosted: Friday, 26th May 2017, 20:50
by Shtopit
GDR has multiple problems.

The unspoiled player has no idea it exists.

The spoiled player does. Now, let's look at what it means.

GDR makes heavy armour even better at what it does, without skill investment.

I don't think heavy armour needs such an advantage. Because of how AC is calculated, heavier armour already has a better return to investment in armour skill: at skill 10, you will gain a bonus of 2 AC for a scale mail, a bonus of 4 points for a plate mail, and a bonus of 1 point for a leather armour.

There's also another reason. Let's assume that you found a +8 scale mail. You have about 15 points in armour skill, and it brings your AC to 18 (6+4+8). That would be the same as a +2 plate armour (10+6+2). I think that it's OK if a highly enchanted, lighter armour gives you as much protection as a heavier cuirass. However, this simply cannot happen, because GDR cannot be enhanced. A plate will always be better than a chain mail from this point of view.

An alternative to removal would be to make GDR dependent on AC total (all worn amour pieces) or total AC given by the cuirass (intrinsic + skill bonus + enchantment level). This would also make sneaky characters and mages slightly less squishy. Maybe add a maximal threshold to avoid things getting out of hand.

Re: Remove GDR?

PostPosted: Friday, 26th May 2017, 22:17
by tasonir
I don't think GDR should be removed - it is handy for preventing large damage spikes in melee. I would however, be okay with reworking it to be based off total AC rather than the base AC of your body armor. This would have a few unintended side effects, like giving GDR to draconians and other casters in robes, but I don't mind slightly buffing draconians and very light armor casters.

Edit: and also a slight early game buff to trolls and ogres.

Re: Remove GDR?

PostPosted: Friday, 26th May 2017, 22:47
by Shard1697
tasonir wrote:I don't think GDR should be removed - it is handy for preventing large damage spikes in melee.
Does that actually mean it shouldn't be removed, though? A lot of crawl gameplay revolves around the assumption that things can quickly go bad.

Re: Remove GDR?

PostPosted: Saturday, 27th May 2017, 00:19
by Floodkiller
I think GDR should still exist, but it should just be a static percentage that is an innate part of AC. It would help keep the mechanical aspect that AC is better against absorbing a lot of smaller blows and reducing damage overall, while EV is better at avoiding high, single spikes of damage. It shouldn't depend on the type of armor you are wearing, what form/species you are, etc. Just to throw a number range out there, somewhere around 30% would be fine in my opinion.

Edit: Basically what tasonir said.

Re: Remove GDR?

PostPosted: Saturday, 27th May 2017, 01:11
by bel
GDR makes heavy armour even better at what it does, without skill investment.

This is not clear to me. Heavy armour reduces your EV and also affects your melee.

I once modified fsim to dump raw data from a fight. Using the tool, I found that without GDR, a marginal increase in EV is typically much better than AC. With high GDR, AC is better than EV.

Removing GDR would be a nerf to heavy armour fighting, especially later in the game, when you train a fair bit of armour skill. (We could change the numbers so that it's just a relative nerf, not an absolute nerf). Does it need a (relative) nerf? I don't know.

Re: Remove GDR?

PostPosted: Saturday, 27th May 2017, 01:44
by tasonir
Shard1697 wrote:
tasonir wrote:I don't think GDR should be removed - it is handy for preventing large damage spikes in melee.
Does that actually mean it shouldn't be removed, though? A lot of crawl gameplay revolves around the assumption that things can quickly go bad.

Still, if you're proposing a change to the status quo I think it's up to you to demonstrate why it's better than the status quo. I realize you didn't start the thread, and are just agreeing with it, but I would argue that outright removing GDR without any compensation would be a bad change.

Imagine a much simplified combat system where monsters really roll 0-X damage and the player has a fixed 100 health. Would the ideal dangerous monster this game roll from 0 to 50, 0 to 75, or 0 to 100? There's some value which is reasonable, and some which is too high. Allowing the monster to kill a player in one hit with only a 1% chance isn't fair or fun.

I'd argue that GDR brings the high spikes down into reasonable hits. You also have to remember this isn't just a flat reduction - this is something that is only given to heavy armor melee characters, because those characters are otherwise taking much higher risks by going toe to toe against everything in the dungeon. Casters have strong ranged attacks and don't have to put themselves in the position where heavy melee hits can kill them, so they are safer to play. If they do end up in melee for a prolonged period of time then they can certainly suffer very large hits which will kill them quickly, but that can be assumed to be the player's fault. The melee character MUST go into melee range against all serious threats, because that's how they deal damage. They need a tool which lets them handle it better than casters.

Keep in mind how narrowly focused GDR is - It's only melee hits, it's only taking off the worst case scenario, it provides relatively little "average" case reduction. AC itself does, but GDR does a poor job of lowering overall damage in the average case over a long period of time. It's because of this I think that GDR is really well designed - the main flaw with it is that it's poorly communicated to the player and often poorly understood by even those who know about it.

Re: Remove GDR?

PostPosted: Wednesday, 31st May 2017, 02:51
by njvack
I think "you have X AC and Y EV and Z SH" should be everything you need to know about how non-elemental damage is going to affect your character. If this means "GDR is totally not a thing" that's fine. If this means "GDR is a function of your total AC" that's fine. But the current situation is weird. I still don't know if GDR is a thing that's worth thinking about at all when choosing armour and I've been reading these threads for years.

Re: Remove GDR?

PostPosted: Wednesday, 31st May 2017, 03:28
by chequers
Can we please call it GMDR to make clear it only applies to melee damage.

Re: Remove GDR?

PostPosted: Wednesday, 31st May 2017, 06:51
by Sprucery
chequers wrote:Can we please call it GMDR to make clear it only applies to melee damage.

I've tried to push that several times, but it just does not seem to happen...

Re: Remove GDR?

PostPosted: Wednesday, 31st May 2017, 21:55
by tasonir
I'm on board with the change but it's hard to beat old habits, and especially when OP called it GDR, I just went along with it rather than replying with "GMDR".

The way I see it, melee characters have to deal with significantly more threats as they can't kill dangerous melee monsters at range like casters/ranged weapon users do, so they get GMDR to prevent melee from being too deadly. It's okay for melee to be more deadly for a mage, because mages should be avoiding being in melee range, at least with anything considerably dangerous.

There is a 'flaw' in this logic that ranged weapon users are both ranged and also free to wear heavy armor, but that's a problem with ranged weapons, not GMDR. Ammo is in theory a limitation on this power, but it is frequently not an issue in practice.

Re: Remove GDR?

PostPosted: Wednesday, 31st May 2017, 22:24
by watertreatmentRL
In a sense, probably the most important sense, it's currently called nothing. It's not mentioned in the game as far as I know, so you're really talking about what a small collection of players, the wiki, learndb and so on call it.

Re: Remove GDR?

PostPosted: Wednesday, 31st May 2017, 22:31
by Sprucery
watertreatmentRL wrote:It's not mentioned in the game as far as I know, so you're really talking about what a small collection of players, the wiki, learndb and so on call it.

Yes, so it should be quite simple to start calling it GMDR!

Re: Remove GDR?

PostPosted: Wednesday, 31st May 2017, 22:36
by watertreatmentRL
Well, no, because if it were actually written in the game, you could just make the change in the code and people would slowly convert to the new terminology. Since it's a matter of common usage among a diffuse group of people, it's not like that.

Re: Remove GDR?

PostPosted: Thursday, 1st June 2017, 02:03
by Doesnt
it is called gdr because that's what the code calls it, as does the game if built with debug functions

Re: Remove GDR?

PostPosted: Thursday, 1st June 2017, 17:25
by bel
GDR is defined in player.cc, function player::gdr_perc()


/**
* Guaranteed damage reduction.
*
* The percentage of the damage received that is guaranteed to be reduced
* by the armour. As the AC roll is done before GDR is applied, GDR is only
* useful when the AC roll is inferior to it. Therefore a higher GDR means
* more damage reduced, but also more often.
*
* \f[ GDR = 14 \times (base\_AC - 2)^\frac{1}{2} \f]
*
* \return GDR as a percentage.
**/
int player::gdr_perc() const
{
switch (form)
{
case transformation::dragon:
return 34; // base AC 8
case transformation::statue:
return 39; // like plate (AC 10)
case transformation::tree:
return 48;
default:
break;
}

const item_def *body_armour = slot_item(EQ_BODY_ARMOUR, false);

int body_base_AC = (species == SP_GARGOYLE ? 5 : 0);
if (body_armour)
body_base_AC += property(*body_armour, PARM_AC);

// We take a sqrt here because damage prevented by GDR is
// actually proportional to the square of the GDR percentage
// (assuming you have enough AC).
int gdr = 14 * sqrt(max(body_base_AC - 2, 0));

return gdr;
}

Re: Remove GDR?

PostPosted: Thursday, 1st June 2017, 22:43
by tabstorm
Suggestion: have an AC range like in Sil depending on what is now GDR and your max AC, but apply it against all attacks instead of only melee. This is nice and transparent while still reducing the spikiness of damage like one would like for heavy armor. For instance, in GDA one might have AC: 10-40 (min roll of 10 max of 40). I have assumed that AC reduces damage at 1dAC, I don't know if this actually happens since Crawl combat formulas are all kludged for reasons unknown to me. i guess there is a bit of a problem with enemies that rely on having a bunch of weak attacks, but you could always fiddle with the numbers.

Re: Remove GDR?

PostPosted: Friday, 2nd June 2017, 04:08
by yesno
It sounds like the simplest thing to do would be to add a paragraph under the chapter on armor in Crawl's manual.

Re: Remove GDR?

PostPosted: Friday, 2nd June 2017, 06:09
by Fingolfin
tabstorm wrote: i guess there is a bit of a problem with enemies that rely on having a bunch of weak attacks, but you could always fiddle with the numbers.


The point of heavy armour is that it really shines against exactly these enemies

Re: Remove GDR?

PostPosted: Friday, 2nd June 2017, 08:37
by VeryAngryFelid
Fingolfin wrote:
tabstorm wrote: i guess there is a bit of a problem with enemies that rely on having a bunch of weak attacks, but you could always fiddle with the numbers.


The point of heavy armour is that it really shines against exactly these enemies


I am not sure. GDR 50% means a monster with max attack 4 still can deal 2 damage as long as you have at least AC 4. Basically I don't care about goblins, reducing max damage from 50 to 25 (as long as you have AC 50+) is much more useful and I wouldn't call it a weak attack.
A bunch of weak attacks being weak vs plate armour has little with GDR, it is also explained by typically high AC: 3 attacks with max damage 20 each need really lucky rolls vs AC 50 to cause meaningful damage because every damage roll (d20) is reduced by AC roll (d50), even with GDR 0.

Re: Remove GDR?

PostPosted: Friday, 2nd June 2017, 21:37
by tabstorm
Fingolfin wrote:
tabstorm wrote: i guess there is a bit of a problem with enemies that rely on having a bunch of weak attacks, but you could always fiddle with the numbers.


The point of heavy armour is that it really shines against exactly these enemies


Sort of. GDR is like an AC floor that can depend on the enemy's max hit. A flat minimum AC roll could make enemies using multiple attacks considerably weaker.

Re: Remove GDR?

PostPosted: Friday, 2nd June 2017, 22:38
by tasonir
tabstorm wrote:Sort of. GDR is like an AC floor that can depend on the enemy's max hit. A flat minimum AC roll could make enemies using multiple attacks considerably weaker.

A flat minimum to all AC rolls is a great idea but it's 1) very different from GDR (and maybe should have a seperate thread) and 2) almost certainly not going to be implemented. I know this because I've suggested it several times as a method of reducing variance in crawl combat, and get told that people love variance and how dare I, etc etc :)

Re: Remove GDR?

PostPosted: Tuesday, 6th June 2017, 11:45
by VeryAngryFelid
tasonir wrote:A flat minimum to all AC rolls


I remember a very old thread where a guy had a "firecrab pet" who kept shooting fireball at PC with rF+++.
This flat minimum to all AC rolls might lead to some great pets: Silent Spectre for Fo, Tormentor for Mu, some weak summoner like Natasha to get a permanent meat shield of imps ;)

Re: Remove GDR?

PostPosted: Tuesday, 6th June 2017, 22:29
by duvessa
tabstorm wrote:
Fingolfin wrote:
tabstorm wrote: i guess there is a bit of a problem with enemies that rely on having a bunch of weak attacks, but you could always fiddle with the numbers.


The point of heavy armour is that it really shines against exactly these enemies


Sort of. GDR is like an AC floor that can depend on the enemy's max hit. A flat minimum AC roll could make enemies using multiple attacks considerably weaker.
It's not GDR that shines against those monsters, it's AC itself. This would be true both before and after the proposed change. I don't see anything wrong with a minimum AC roll and it would be much better for the game than the current GDR system is. It might take some time to get the balance right but the current system is not exactly perfectly balanced. Weak monsters doing an average of 0 damage instead of an average of 0.1 damage does not strike me as a problem.

Re: Remove GDR?

PostPosted: Tuesday, 6th June 2017, 22:50
by Shtopit
In case anyone is wondering, I am currently not answering because the thing appears much more complicated than I thought, so I am trying to make myself a more complete idea of how defense works. I am reading all answers, however.

Re: Remove GDR?

PostPosted: Saturday, 10th June 2017, 06:27
by tasonir
GMDR is really most useful against things that hit very very hard and slowly, against a player character with high AC. Ideally, you should have AC equal to or better than half the monster's attack. For example a stone giant hits for 45 damage, if you managed to have a 45+ AC and heavy enough armor to reach 50% GMDR, then the worst case scenario it can hit you for is 22.5 (not sure how this rounds). Basically, it prevents the stone giant from getting really lucky on their roll when you also get really unlucky on your AC roll. A theoretical octopode with 8 rings of +6 AC could still get hit for the full 45 damage (assuming they aren't in statue form, which gives GMDR). That same zero GMDR octopode could still get hit for 0, even if the giant rolls 45, because they have 48 AC.

Re: Remove GDR?

PostPosted: Saturday, 10th June 2017, 06:38
by duvessa
tasonir wrote:GMDR is really most useful against things that hit very very hard and slowly, against a player character with high AC. Ideally, you should have AC equal to or better than half the monster's attack. For example a stone giant hits for 45 damage, if you managed to have a 45+ AC and heavy enough armor to reach 50% GMDR, then the worst case scenario it can hit you for is 22.5 (not sure how this rounds).
quite a tall order, since armour heavy enough to have 50% GMDR does not actually exist

Re: Remove GDR?

PostPosted: Saturday, 10th June 2017, 07:16
by bananaken
duvessa wrote:quite a tall order, since armour heavy enough to have 50% GMDR does not actually exist

You can get 50% GMDR pretty easily if you're a gargoyle

Re: Remove GDR?

PostPosted: Thursday, 27th July 2017, 20:00
by Shtopit
I just wanted to add that Lear's Hauberk, as a unique armour, adds one more layer of unknown GDR to the unspoiled player.

Re: Remove GDR?

PostPosted: Friday, 28th July 2017, 15:15
by mattlistener
IMHO don't change GMDR, just document it in the manual and in inventory descriptions.

A +0 leather armour.

A suit made from layers of tanned animal hide. It provides basic protection with
almost no hindrance to spellcasting or stealthy movement.

Base armour rating: 3 Encumbrance rating: 4
Wearing mundane armour of this type will give the following: 3 AC and an additional 14% reduction of all melee damage.

It can be maximally enchanted to +3.

Re: Remove GDR?

PostPosted: Friday, 28th July 2017, 18:31
by Fingolfin
mattlistener wrote:IMHO don't change GMDR, just document it in the manual and in inventory descriptions.

A +0 leather armour.

A suit made from layers of tanned animal hide. It provides basic protection with
almost no hindrance to spellcasting or stealthy movement.

Base armour rating: 3 Encumbrance rating: 4
Wearing mundane armour of this type will give the following: 3 AC and an additional 14% reduction of all melee damage.

It can be maximally enchanted to +3.
Also, make it affect ranged damage. A crystal plate that can guarantee reduced damage from daggers should similarly reduce damage from arrows

Re: Remove GDR?

PostPosted: Friday, 28th July 2017, 20:29
by Siegurt
mattlistener wrote:IMHO don't change GMDR, just document it in the manual and in inventory descriptions.

A +0 leather armour.

A suit made from layers of tanned animal hide. It provides basic protection with
almost no hindrance to spellcasting or stealthy movement.

Base armour rating: 3 Encumbrance rating: 4
Wearing mundane armour of this type will give the following: 3 AC and an additional 14% reduction of all melee damage.

It can be maximally enchanted to +3.


But that isn't what it does, it isn't any additional anything.

Maybe:
"and guarantees that at least 14% of the monsters max melee damage will be reduced by your armour, up to half your total ac"

Which is horrible, wordy, and useless without a bunch of tedious math the result of which should almost never change your decisions, but at least we have monster max melee damage displayed now, so it isnt totally meaningless any more.

Re: Remove GDR?

PostPosted: Saturday, 29th July 2017, 00:17
by mattlistener
Well, the description of body armour is already wrong by omission. We could make it less-wrong by less-omission while still leaving out whatever's needed to avoid maximizing horribleness. eg "3 AC with a 14% reduction of an attacker's max melee damage".

Re: Remove GDR?

PostPosted: Saturday, 29th July 2017, 02:14
by duvessa
Every time someone makes a post criticizing GDR, someone else will chime in with "well actually no, GDR is actually a great mechanic, here's why". Strangely, this someone else never seems to know what GDR does.