Advertisement

Damage reduction for dodging

Started by November 16, 2009 08:27 PM
10 comments, last by AngleWyrm 15 years, 2 months ago
You know how in most RPGs there's a dodge chance that causes attacks to miss (do no damage) occasionally? I'm thinking of an RPG that removes that and just makes dodging reduce damage like armour (and for my game toughness) does. The question is how do I make dodging reduce damage in a way that's different enough from armour to make any choice between dodging and armour interesting. One idea I had was make dodging reduce damage by a percentage while armour reduces damage by subtraction. Dodging would be effective against any kind of damage, while armour is able to block weak attacks completely. A problem with this is that increasing dodging ability for percentile damage reduction brings diminishing returns. For example, I can see a situation where a player may have to increase his dodging ability by five points to reduce a given damage value by one. I know this because these are the kinds of numbers I saw when coming up with a damage reduction formula for armour, which I was thinking would itself use percentile reduction. What other ways could dodging and armour reduce damage that are different from one another?
I don't see anything wrong with diminishing returns.
I think that as currently designed, armors would dominate the beginning of the game, while dodging would rank up later (mainly because of the subtraction math).

We may start from better describing the algorithm that decides if an attack hits the target or not. It seems reasonable that dodging would make the target harder to hit and hurt, while armor would possibly make it easier to hit but massively harder to hurt. Once the hit has been resolved, the two may eventually work using the same logic.

Could you elaborate a few examples of your idea?

Previously "Krohm"

Advertisement
Actual damage reduction per ability point is not a good comparison point. What really matters is effective hp.

Effective hp is the equivalent hp the character would have if he had 0 damage reduction. 100hp with 50% damage reduction gives you an effective hp of 200, which means you need 200 points of damage to kill the character.

So if you invest 1 point in dodge and go from 0 to 50% damage reduction, it has the same effect than if you invest another point and go from 50% to 75%. In both cases, your effective hp doubled making both points have the same impact, doubling your life expectancy.

For fixed damage absorbtion, you need to take into account initial damage :

effective_hp = damage * hp / (damage - absorb)

That means you'll need to redo this for every enemy in the game. Much harder to balance, but can lead to situations where one is better and the other is worse. However, numbers need to be perfectly tweaked or the whole thing breaks down. RPGs which have fixed damage reduction and are balanced are very rare.

Instead of giving a damage reduction for dodging, you could give a speed penalty for the attacker. You would have to prepare a longer attack against a faster opponent because he moves so fast. Instead of affecting the hit damage, it affects the overall dps because your next turn comes much later. That would allow you to use a % based armor system and make the balancing a lot easier.
Developer for Novus Dawn : a [s]Flash[/s] Unity Isometric Tactical RPG - Forums - Facebook - DevLog
You could have dodging and armor both factor into defense against different types of attack. I don't play D&D, but I listened to the Penny Arcade podcasts and there seems to be a sort of damage class system, where a guy will swing a sword and the DM will say, "That's 16 against your armor class to hit" and then the player rolls a die and if his armor can take it, the attack is ineffective, whereas if it's a fireball it'll be tested against his "reflex", and I think there are a couple other ones, like "will" for some magic or psychic attacks.

So maybe your armor protects you more from certain types of attack, like impact and area of effect, and your dodge skill gives you a chance to mitigate other types of damage. SInce it's a computer game and you don't have to roll actual dice, you could use both, and just have some attacks weighted more toward dodgability and others more armor-oriented.

Fight scenes in the old Conan stories are all about how fast he is and how he's able to ensure that all incoming attacks are either totally avoided or impact on his armor.
Dodging is more effective against slower attacks than faster attacks, and virtually impossible against attacks that you cannot see (from behind and such).

Armor on the other hand is always effective and passively so. You don't have to think about your suit of armor for it to protect you, while dodging requires concentration/action on your part and would limit your ability to perform other actions while dodging.

Armor's effectiveness varies on what weapon you are being attacked with. A suit of plate mail can deflect a sword well, but, a blunt mace is designed to smash plate mail. If you dodge a sword swing or mace blow, the end result is the same, you weren't hit.

If you wear heavy armor, you are going to impede your movement and ability to dodge attacks.

Really though, if you dodge an attack, it doesn't hit you. The only justification for damage reduction on a dodge, is being hit with a glancing blow instead of a direct full-on hit (or causing yourself to be hit in less vital areas of the body I suppose).
Interesting responses guys.

Let me take some time to better explain my motivations for wanting to make dodging reduce damage.

First of all, I want to get rid of the chance-to-miss mechanics and have attacks always hit. I don't want to have to sit through a bunch of misses; I want all of my attacks to make at least some progress in hurting my enemy. :P

Another part of my motivation was thinking about hit points in general. I read somewhere that hit points did not originally mean your physical health but also included your skill at evading attacks. However, that would imply that dexterity (i.e. your dodging ability) should contribute to your hit points, which they normally don't. So why not make a game where they do contribute? :D

I'm going for a fairly minimalist approach, so I wanted to make dodging a passive rather than an active skill like armour. Really, when I say dodging, I mean a character's general litheness and agility. I guess, if I have a character with a maxed-out dodging ability and a character with maxed-out armour, the difference wouldn't be so much in how they're controlled as how they feel. I don't really know what that would look like though. :P

Also, this is meant for a turn-based game.

Quote:
Original post by Tiblanc
Actual damage reduction per ability point is not a good comparison point. What really matters is effective hp.

Effective hp is the equivalent hp the character would have if he had 0 damage reduction. 100hp with 50% damage reduction gives you an effective hp of 200, which means you need 200 points of damage to kill the character.


I was actually going to make hit points a fixed value (I should have probably said this earlier...). This was why I was focusing on the actual damage reduction instead of effective HP. Instead of increasing your hit points you'd increase either your dodging or your toughness/ability to wear heavier armour. Of course I want the choice between dodging and toughness/armour to be interesting. The point about effective HP was good though and thanks for brining it up.

I still don't like the diminishing returns of proportional damage reduction or effective HP increases. Here's an example I put together that compares the effects of increasing defence values against a damage value of 100, where the final damage is divided by the defence value:

Defence  Damage  Difference      1     100         N/A      2      50          50      3      33          17      4      25           8      5      20           5      6      16           4      7      14           2      8      12           2      9      11           1     10      10           1     11       9           1     12       8           1     13       7           1     14       7           0     15       6           1     16       6           0     17       5           1     18       5           0     19       5           0     20       5           0


As you can see, there comes a time when increasing defence has no effect until several points have been sunk into it. I suppose this effect happens anyway with HP that increases by fixed amounts, but it still feels "wrong." I want every point invested to have a noticeable or at least semi-noticeable effect, which I've found only a linear rate provides.

Quote:
Instead of giving a damage reduction for dodging, you could give a speed penalty for the attacker. You would have to prepare a longer attack against a faster opponent because he moves so fast. Instead of affecting the hit damage, it affects the overall dps because your next turn comes much later. That would allow you to use a % based armor system and make the balancing a lot easier.


The concept of speed is interesting, but I'm not sure what you mean by preparing longer attacks and such. Does this mean that the attacker has to actively prepare a "long" attack to be effective against a character with a high dodge ability? I'm sort of going for a minimalist approach, and I'd rather make as many effects as passive as possible. I'd rather not have to choose my attack speed every time I want to hit something.

I suppose in a turn-based system where actors expend points to perform actions the number of points an actor has to expend to attack another actor is determined by the enemy's dodge. That wouldn't so much help the defender as it hinders the attacker.

Quote:
Original post by Iron Chef Carnage
You could have dodging and armor both factor into defense against different types of attack. I don't play D&D, but I listened to the Penny Arcade podcasts and there seems to be a sort of damage class system, where a guy will swing a sword and the DM will say, "That's 16 against your armor class to hit" and then the player rolls a die and if his armor can take it, the attack is ineffective, whereas if it's a fireball it'll be tested against his "reflex", and I think there are a couple other ones, like "will" for some magic or psychic attacks.

So maybe your armor protects you more from certain types of attack, like impact and area of effect, and your dodge skill gives you a chance to mitigate other types of damage. SInce it's a computer game and you don't have to roll actual dice, you could use both, and just have some attacks weighted more toward dodgability and others more armor-oriented.


So, I'd basically categorize attacks (weapon types, magic, etc.) and defences (armour types, dodging, strength of mind, etc.) and modify damage based on the attack type and what types of defence you have available. Plate armour would be strong against swords, dodging would be strong against missiles, and so on. It'd be like elemental resistances I guess.

I'd have to balance it though to make sure there are an equal number of situations that favour armour as the number of situations that favour dodging. As for equipment, I'm worried this would obligate the player to bring around and switch between a bunch of weapons and armour to maximize their damage and protection.

"Uh oh. He has a spear. Better switch from my leather to my plate armour now..."

Quote:
Fight scenes in the old Conan stories are all about how fast he is and how he's able to ensure that all incoming attacks are either totally avoided or impact on his armor.


I can certainly feel for that. I also want players to be able to define a kind of style using as few elements as I can get away with. He could be a tank that bulldozes through everything in front of him, a rogue that darts in between his foes with quick and precise strikes, or a balanced character that has a little bit of both speed and brawn.
Advertisement
Quote:
Original post by The Blarg
Quote:
Instead of giving a damage reduction for dodging, you could give a speed penalty for the attacker. You would have to prepare a longer attack against a faster opponent because he moves so fast. Instead of affecting the hit damage, it affects the overall dps because your next turn comes much later. That would allow you to use a % based armor system and make the balancing a lot easier.


The concept of speed is interesting, but I'm not sure what you mean by preparing longer attacks and such. Does this mean that the attacker has to actively prepare a "long" attack to be effective against a character with a high dodge ability? I'm sort of going for a minimalist approach, and I'd rather make as many effects as passive as possible. I'd rather not have to choose my attack speed every time I want to hit something.

I suppose in a turn-based system where actors expend points to perform actions the number of points an actor has to expend to attack another actor is determined by the enemy's dodge. That wouldn't so much help the defender as it hinders the attacker.


Take an archer vs a golem and the same archer vs an imp. The imp has higher dodge rating and jumps everywhere(maybe not in a turn based game since it's glued to a square ;)). To ensure a hit, the archer will need to prepare its shot and wait for an opportunity. This takes a lot more time than vs the golem where he only needs to shoot in its general direction. The second shot can come a lot faster than vs the imp. The same applies to melee characters. Where it gets messy is in area attacks. A fallback solution of enabling misses for these attacks may be simpler.

The idea is to remove the variance. If you have a 50% miss rate, then 1 shot out of 2 will hit. This means you could have streaks of hits or streaks or misses, which is what you want to avoid. With 0 variance, you will have : miss, hit, miss, hit, miss, hit, etc. A hit every 2 shots. You can say it takes you twice as long per attack and get the same average damage per turn.

Quote:
As you can see, there comes a time when increasing defence has no effect until several points have been sunk into it. I suppose this effect happens anyway with HP that increases by fixed amounts, but it still feels "wrong." I want every point invested to have a noticeable or at least semi-noticeable effect, which I've found only a linear rate provides.


You could use a base of 1000 damage and the 0 gains will disappear.

With a linear increase, you may get into situations where you reduce a 100 hit by 1, essentially nothing. Your survivability did not increase at all because you still die in the same number of hits. It's the same as above, it does not benefit you at all, but I guess it looks like it's giving you benefits.
Developer for Novus Dawn : a [s]Flash[/s] Unity Isometric Tactical RPG - Forums - Facebook - DevLog
Quote:
Original post by Tiblanc
The idea is to remove the variance. If you have a 50% miss rate, then 1 shot out of 2 will hit. This means you could have streaks of hits or streaks or misses, which is what you want to avoid. With 0 variance, you will have : miss, hit, miss, hit, miss, hit, etc. A hit every 2 shots. You can say it takes you twice as long per attack and get the same average damage per turn.


So instead of dodging reducing damage directly, and instead of dodging causes misses at random, dodging would set the number of attacks an actor can avoid before being hit.

To make this mechanic more explicit, I could introduce a Dodge bar separate from the HP bar. Damage would deplete the Dodge bar before depleting the HP bar, and the Dodge bar would refill after HP damage is done. I could also use different formulas for calculating Dodge damage (attacker speed vs. defender dodge?) and HP damage (attacker strength vs defender toughness?).

Quote:
You could use a base of 1000 damage and the 0 gains will disappear.


Not completely. The zero gains are just pushed farther down. I'd prefer a formula where I wouldn't see zero gains at all. Besides, inflating the base damage value sounds like a band-aid solution. :P

Quote:
With a linear increase, you may get into situations where you reduce a 100 hit by 1, essentially nothing.


Assuming linear reduction means Final Damage = Base Damage - (Defense * Constant), I'd just have to make sure Constant is greater than one. ;)
Quote:
Original post by The Blarg
Quote:
Original post by Tiblanc
The idea is to remove the variance. If you have a 50% miss rate, then 1 shot out of 2 will hit. This means you could have streaks of hits or streaks or misses, which is what you want to avoid. With 0 variance, you will have : miss, hit, miss, hit, miss, hit, etc. A hit every 2 shots. You can say it takes you twice as long per attack and get the same average damage per turn.


So instead of dodging reducing damage directly, and instead of dodging causes misses at random, dodging would set the number of attacks an actor can avoid before being hit.

To make this mechanic more explicit, I could introduce a Dodge bar separate from the HP bar. Damage would deplete the Dodge bar before depleting the HP bar, and the Dodge bar would refill after HP damage is done. I could also use different formulas for calculating Dodge damage (attacker speed vs. defender dodge?) and HP damage (attacker strength vs defender toughness?).


The dodge meter is a good idea. I had a similar idea back then to allow a combat system to have low and high fatality at the same time. The idea was to make characters hard to kill if they were hit sporadically, but easy to kill with proper opportunity. I called that stability. Basically, the more stable you are, the less damage you receive from attacks because you can deflect to either evade the blow or redirect it to some other part of your body where you are more heavily armored. Stability is restored every turn based on some stats. This naturally creates the situation where a nimble character can outlast a strong but slow foe, but die rapidly when there are 3 or 4 enemies on him. He can probably dodge 1 enemy 90% of the time, but with 4, he won't be able to dodge more than 50%, effectively making each attacker 4 times as likely to hit.

What resulted from this was another class of attacks whose sole purpose was to reduce or improve stability. It allows the creation of cool combo chains which are not "yet another attack that deals more damage". Things like a battle cry to destabilize your opponents followed by a charge. Normally, on stable targets, the charge is easily evaded, but when unstable, it hits and does major damage.

Also, this creates a risk vs reward scenario for mages. Casting powerful spells costs them stability, which makes them easy targets afterward. They can choose to play it safe and throw firebolts or go all out and cast that meteor and risk getting pummeled instantly after the spell is cast.

This is a bit more complex than your average RPG, but it creates a strategic layer which makes battles a lot more dynamic than standard RPGs.

The only game I know who uses this combat system is Infantry, an old free to play top down shooter. You can survive dozens of bullets if you spread them out, but a streak of 4-5 consecutive hits will kill you.
Developer for Novus Dawn : a [s]Flash[/s] Unity Isometric Tactical RPG - Forums - Facebook - DevLog
The idea of different attack classes is interesting. You'd have the standard attacks that have to deplete an actor's Dodge Points (DP) before they can deplete an actor's Hit Points (HP). There'd be attacks that only affect DP, which are better against DP than regular attacks of course, which could be described as feints or trips. Then there'd be attacks that bypass DP completely; these would be for things like explosions that an actor couldn't really be rationalized as "dodging."

Having DP automatically replenish every turn and having HP requiring healing items to restore is also a good way to differentiate DP from HP. Introducing effects of equipment would also be interesting. Heavy armour could increase your HP but decrease your DP, for example. Though that example would break down if DP and HP are out of balance such that increasing HP is better than increasing DP anyway.

This topic is closed to new replies.

Advertisement