erikbroo / chengband

Automatically exported from code.google.com/p/chengband
0 stars 0 forks source link

[General] Monster AC to reduce melee damage #28

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
Melee is far too strong right now.  Even though it's being addressed by Rings 
of Spell Power, I think we should also approach this from the "nerfing melee" 
side.

Monsters AC right now affects player's hit rate, but not damage.  On the other 
hand, player AC can reduce monsters' melee damage by up to 60% (at 150 AC).  
Make monsters follow the same rules as the player, and have scaled melee damage 
reduction.

To make this not too crippling for melee types, many monster ACs will probably 
need to be adjusted downwards.

Original issue reported on code.google.com by caltech....@gmail.com on 8 Nov 2010 at 10:40

GoogleCodeExporter commented 8 years ago
Makes perfect sense. I agree with this. Makes life harder for us Human Warriors 
though :)

Original comment by djaban...@gmail.com on 12 Nov 2010 at 7:02

GoogleCodeExporter commented 8 years ago
Actually, I think the relative melee strength is an illusion in Hengband, at 
least for the final battle with The Serpent.  The problem with casters is

[1] Ergonomics.  Melee is simply move in a direction (your hands are already 
their anyway, since you are moving the player around).  Wham, all of your 
attacks go with a single keystroke.  Spells are press 'm'.  Press book key.  
Press spell key.  Choose target (How many keystrokes is that when the targeting 
system is choosing closest but you want farthest [dragon breath] or strongest 
[unique] or middle [mob])?  Generally, I tire of fighting this, and macro up 
\e*tmae or whatever, targeting my spells suboptimally but getting the one key 
ergonomics.

[2] Getting There.  Melee is *much* more powerful in the CL30 to CL40-5 range.  
A mage waits til CL40 to get a magic rocket, which does 180 or so with a 20-30% 
fail rate.  Its not really reliable until CL45.  Until then?  Well, I figured 
out how to level up by switching to Craft for my second realm, stair scumming 
the Dragon's Lair, and using the Poison Needle.  In contrast, that sort of 
damage output would make a warrior laugh in the the mid CL30s.  And warriors 
can fight all day, while the mage gets 5 or 6 casts before running away to 
fight the RNG with the unreliable Eat Magic.

In Hengband, an endgame Mana Storm beats most any melee character, hands down.  
Its not even close!  In a way, Mages have earned this (unless they scummed 
their way up, like me :).

In Chengband, we've changed things a bit:
[1] Spell Power makes end game spell casters more advantageous.  They can 
probably only suck up +4 with an awesome equipment set though.  But that moves 
Mana Storm from 500 to 700.

[2] New Monster AI might totally reverse the power differential, giving melee 
guys the upper hand.  I've learned that The Serpent is rather weak with 
distance attacks (So is The Unicorn, and I'm speaking relatively here ... 
Relative to say, Morgoth).  No Mana Storm, for instance.  Still, he does tend 
to Dispel Magic and Summon a bit, so we'll have to see how the next brave 
caster fares.  And his Rocket hurts.  His breathe Nether, Chaos, Toxic Waste 
and Disenchantment are all middle of the road, damage wise.  And his Hand of 
Doom often fails against casters (Monsters will have to learn about that after 
a few tries).

[3] New Monster Spell: Antimagic (Not done yet).  This will really annoy 
casters ... but I'm just guessing on that one ;)  Since it is not done, here is 
what I am planning.  Every monster with Dispel Magic will get this.  Monsters 
will look at the player, and judge whether or not this might be worthwhile.  It 
will happen frequently, but not too frequently (Dispel Magic is 1 in 2, maybe 1 
in 4 for this).  If the player is in an Antimagic field, the monster will not 
cast this again.  It will last 2 or 3 turns.

So, its not clear who will be on top in Chengband.  Getting Mages up to CL50 is 
really, really hard (tedious!), and I've removed the main ways of doing it.  
Forcing Mages to choose Craft and melee until they are mid 40s is definitely 
not what I have in mind.  I was hoping to remedy this with the Spell Power, but 
I have yet to see whether or not this works.

Original comment by ckou...@gmail.com on 12 Nov 2010 at 3:19

GoogleCodeExporter commented 8 years ago
Andrew, thanks for the support!  

Probably warriors won't be too affected by improved monster AC--rather, it'll 
be the marginal warriors like Warrior-Mages, Imitators, etc. that have the most 
trouble.

Yeah, I was thinking we probably needed to renormalize AC so that 200 is the 
new 150.  But that would also go well with improved AC effects of DEX.  

Chris - I agree with you that mages need more mid-game power though.  This 
might be as simple as lowering the levels for some mid-game spells, like 
Starburst and Darkness Storm.  Other than Doom Bolt and Disintegrate, there 
aren't really any other offensive mage spells between clvl 20 and 32 (not 
counting Fireball and Nether ball, because just about everything resist those 
two).  Honestly, should a 200 damage ball spell really be level 40?

Original comment by caltech....@gmail.com on 12 Nov 2010 at 4:00

GoogleCodeExporter commented 8 years ago

Original comment by caltech....@gmail.com on 13 Nov 2010 at 6:31

GoogleCodeExporter commented 8 years ago
Help me out on this.  I completely agree that their is a lack of symmetry 
between the player and every one else.  But I am really worried that this sort 
of change could completely break game balance, so I want to be careful.

[1] If monster AC begins to reduce player damage, especially by up to 60%, then 
many of the marginal melee winners will be reduced to the shame of -Rockets 
scumming :)  Many characters currently top out at 400hp damage or so, and that 
is about the margin for taking on The Serpent with melee, in my opinion.  If we 
knock that down to 160hp, then these guys are in real trouble!

[2] If we add this mechanic, and then rescale monster AC down, a couple things 
might happen.  (1) Monsters will be easier to hit then they were before this 
change.  (2) Players will be back to similar deadliness so the change will 
essentially be a wash.  Of course (2) depends on the amount of rescaling.  If 
we scale so that the damage reduction exactly compensates for the increased 
accuracy, then what is the point?

[3] If we keep AC as is and add a new monster stat for damage reduction, that 
might be easier.  But dropping damage by more than, say, 20% seems too much 
(Even that has me worried).

I think this request is a lot of work to rebalance all the monsters, for all 
the players, and all the various playstyles.  Melee is too strong for dual 
wielding big boys, but what about Mindcrafters?  Weaponsmiths? Rangers? Warrior 
Mages? etc.  I'm worried we will break some of the classes unless we are 
careful.  The problem is there is a wide range of melee damage, from 300 to 
2000+.  I don't see how to biff melee without making the weak guys unplayable.

Thoughts?

BTW, Why does player AC drop damage?  Shouldn't dodging be enough?  I'm not 
suggesting we change that either for similar reasons of breaking game balance 
until all the monsters have their damage output reduced.  I'm just wondering 
where that mechanic comes from ...

Original comment by ckou...@gmail.com on 13 Nov 2010 at 10:38

GoogleCodeExporter commented 8 years ago

Original comment by ckou...@gmail.com on 13 Nov 2010 at 10:38

GoogleCodeExporter commented 8 years ago

Original comment by ckou...@gmail.com on 13 Nov 2010 at 10:44

GoogleCodeExporter commented 8 years ago
So, one question is whether some of the marginal melees should be melee 
characters at all.  For example, the Nature High Mage, I wouldn't feel too bad 
if that's no longer viable as a melee.  Same thing with Bard and Ranger; they 
have other ways of doing damage.  And we're going to power up Weaponsmiths 
anyway.

The ones we actually need to be careful about are Imitator, Red-Mage, 
Warrior-Mage, Tourist, Mindcrafter, and Ninja.  But my feeling is that a little 
alpha testing will allow us to fix most of the imbalances pretty quickly.  It 
could be as simple as giving them a bit of a Melee skill boost.

We could potentially also reduce monster HP to adjust for the damage reduction 
of Armor.. although that would make Mages comparatively more powerful. (I also 
suspect that +10% spell damage per (+1) pval of Spell Power is too much; 6-8% 
per pval should be more than enough.)

Another observation:  Since we're also thinking of buffing the player's ACs, 
this could potentially just mean that melee takes more rounds than before, 
without really changing the balance.  Sure, your damage on the Serpent is 
reduced by 1/2, but his damage on you is also reduced by 1/2 because of your 
improved AC.  Of course, the Serpent's spells throw a wrench in this analysis...

Original comment by caltech....@gmail.com on 13 Nov 2010 at 11:10

GoogleCodeExporter commented 8 years ago
Or we could make dual wielding less effective.  Any 5 attack character that is 
single wielding would be pleased to get 400hp damage output.  Paladins and 
Chaos-Warriors that don't dual wield are in this boat.  Also, playing with a 
weaker race ... 

Maybe we shouldn't be increasing player AC?  Perhaps we could scale that down 
to compensate instead?  We could roll thru the high end arts and drop AC by 5 
on each.  Also, Dragon armor used to be 30 base, but got bumped to 40 in 1.7.0, 
I think.  Why not bump that back down to 30?  Melee is a heck of a lot tougher 
if your AC is below the 200 mark ...

I guess I'm just not convinced melee is broken at the moment.  I suppose I can 
add damage reduction and we'll see what happens ... I've been wrong before :D

Original comment by ckou...@gmail.com on 13 Nov 2010 at 11:33

GoogleCodeExporter commented 8 years ago
Really?  (Looks at dumps on Oook...)

Dunharrow, Spectre Ranger:  656 /rnd
Ryoko, Draconian Ranger: 598 / rnd
Anabasis, Archon Paladin: 595 / rnd
Destroyer, Golem Magic-Eater: 880 / rnd
Paranoia, Dunadan Magic-Eater: 408 / rnd
Max, Amberite Mindcrafter: 504 / rnd
Gaffer, Hobbit Mindcrafter: 495 / rnd
Bug Brain, Klackon Mindcrafter: 612 / rnd
Wey, Barbarian Priest, 511 / rnd
Halfheart, Archon Priest, 1072 / rnd
Bark Naked, Ent Priest, 648 / rnd
Black Arts, Zombie Cavalry, 603 / rnd
Lancer, Half-Titan Cavalry, 700 / rnd

So, marginal melee types are getting around 600 damage, with some outliers.  
Chopping it down by 60% to 240 is a bit much, but my feeling is that at 400, 
it'll be fine (so -33%).  But if we're going to do monster AC affects damage 
reduction, we might as well implement it symmetrically, even though this will 
require some AC tweaks.

Original comment by caltech....@gmail.com on 14 Nov 2010 at 12:49

GoogleCodeExporter commented 8 years ago
Hey, I remember Gaffer!  He was stuck for a long time unable to do The Serpent 
until he lucked into Shiva's Jacket, giving him a 5th attack.  No fair counting 
your characters :D  Or lazy characters as they are deceptive.

OK, you did the stats, so this is going in there.  Player AC reduction only 
works against some types of melee attacks.  The calc was:
damage -= (damage * ((ac < 150) ? ac : 150) / 250);

Now it is:
damage -= (damage * ((ac < 200) ? ac : 200) / 333);

This only works against SUPERHURT, HURT and SHATTER attacks.

Monster damage reduction will use a different system, since players and 
monsters don't share a common attack system (Where is my SUPERHURT attack?).

Original comment by ckou...@gmail.com on 14 Nov 2010 at 6:17

GoogleCodeExporter commented 8 years ago
Monster calculation is:
k -= (k * ((r_ptr->ac < 200) ? r_ptr->ac : 200) / 600);

This applies to all melee attacks by the player, including attack mutations.

Monster hit chances against the player have also been adjusted by a factor of 
3/4.

All changes made in 0.0.9.

Original comment by ckou...@gmail.com on 14 Nov 2010 at 6:26

GoogleCodeExporter commented 8 years ago
(Dave's C coding skills are rusty.)

What do the "?" and ":" operators mean?  Is this some sort of shorthand for IF 
THEN ELSE?  If (ac < 200) THEN ac ELSE 200?

What's the difference between HURT and SUPERHURT?  Just damage, or is these 
some other effect (like Earthquake from SHATTER?)

Original comment by sherryxi...@gmail.com on 14 Nov 2010 at 7:03

GoogleCodeExporter commented 8 years ago
Oops!  That was me.  (Was on my girlfriend's account because she wanted me to 
look at one of her essays.)

Original comment by caltech....@gmail.com on 14 Nov 2010 at 7:04

GoogleCodeExporter commented 8 years ago
Sorry, its easier for me to just cut and paste from code.  

x ? y : z is "if x then y else z" ... you nailed that one!  Really, we just 
want MIN(AC, 200), but for some reason, I always make the error and code as 
MAX(AC, 200) when I mean MIN ... probably because we want to use AC until a max 
of 200, and you need to use the min function to do that.

So, new damage reduction by player AC scales linearly as AC/333, until AC 
exceeds 200 when reduction is just 60%.

So, new damage reduction by monster AC scales linearly as AC/600, until AC 
exceeds 200 when reduction is just 33%. (Combat Echizen has AC350 ...)

SUPERHURT is just like HURT, but occasionally gives critical hits for double 
damage.  You get the message "It was a critical hit!"

Original comment by ckou...@gmail.com on 14 Nov 2010 at 7:22

GoogleCodeExporter commented 8 years ago
What about the Death Scythe?  Return blows from the Death Scythe, why doesn't 
that get damage reduced by your AC value?  

Original comment by caltech....@gmail.com on 14 Nov 2010 at 9:31

GoogleCodeExporter commented 8 years ago
Well, the Death Scythe cuts thru your invulnerability barrier, so it just 
laughs at your normal armor!  Seriously, though, I think the Death Scythe is 
supposed to be a joke item ... I wouldn't want to make it actually usable.  60% 
damage reduction might do just that.

Original comment by ckou...@gmail.com on 14 Nov 2010 at 11:23