Jump to content

Using a percentage for armour (discussion)


Recommended Posts

If we're going to make a radical change to the way armour is calculated in the name of simplicity, then why add complications? :) If we change to a percentage armour, then it should be a simple percentage.

Yes, but what happens after an armor upgrade? Thats what I'm mainly referring to. A changed armor value adding percentages absorbt will be better for units with already high armor.

Say the upgrade provides 10% more armor:

A unit with 0% armor would get the 10% and then recieves 10% damage less then before the upgrade.

A unit with 50% armor gets 60% then effectively reducing the damage taken compared to before the upgrade would be 20%.

(100 damage, 50% before the upgrade makes 50 damage, 60% after the upgrade makes 40 damage. 40/50 = 0.8 = 80% makes 20% less then before)

It is a damage absorption ratio but is increased by upgrades exponential decaying so every unit gets the same benefit in sense of effective damage reduction.

Perhaps I didn't say what I meant clear enough, sry.

Edited by FeXoR
Link to comment
Share on other sites

Perhaps here could be a combination of both (though then again, perhaps this is not really simpler).

Still, I think there should be a maximum armor or something so that catapult hits still feel powerful even against a 90% defense.

That's exactly the kind of thing that concerns me, avoiding absurdities like troops that catapult hits just bounce off of. The % system starts out simple, but how much adjustment will it take to avoid things like that? If that can be done while still keeping it simple, it would be a good change - but beware of unintended consequences.

I've been testing open-source software for years, and I've see many examples of changes that looked simple that turned out to create a hopeless mess. Still, you've got to try things sometimes.

Link to comment
Share on other sites

If we target wide to use game rules granting the possibility of close to infinite upgrades (and RPG mods) it would be the percentage armor as quantumstate suggests but still having an armor value connected to it in the way I suggested above. The percentage of damage reduction should then be added to the tooltip and can be got by round(100 * (1 - pow(0.9, armor))):

Armor (Damage reduction)

1 (10%)

2 (19%)

3 (27%)

4 (34%)

5 (41%)

6 (47%)

7 (52%)

8 (57%)

9 (61%)

10 (65%)

...

20 (88)

...

50 (99)

As stated above 0.9 is just an example. 0 to 10 Armor seams a good area to use while some upgrades could provide 1-3 additional armor.

Having fixed values of percentage granted per upgrade would extremely favor units with high base "armor"/percentage damage reduction:

A unit with 10% base armor and 3 10% armor upgrades will end up with 40% damage reduction.

A unit with 60% base armor and 3 10% armor upgrades will end up with 90% damage reduction.

Without armor upgrades the light armored unit gets about 2 times the damage of the heavy armored unit.

With upgrades it gets 6 times the damage!

If we target a ruleset that allows huge discrepancies in damage taken we should stick with the subtractive armor.approach. However, this is extremely hard to balance since 1 point in armor can make the difference of 50% effectiveness e.g. for a unit dealing 14 damage to a unit with 12 armor (of that type) that makes 2 effective damage. Raising the armor by 1 reduces the damage to 1. Upgrading the attack again leads to 2 damage.

So in the end only a few units and only when fighting against a specific other unit will extremely benefit from an armor/damage upgrade while most others just get a small benefit.

Attack speed is of extreme importance here as well.

Edited by FeXoR
Link to comment
Share on other sites

Just for reference, Warcraft 3 uses this system of percentage-based armor. Here is the link for its page: http://classic.battl...apontypes.shtml

Yep. Warcraft III game rules are so good that DotA was possible, the most played map of the game right now - and the game is from 2002.

Since we don't aim to support attributes AFAIK (like WC3 does for heroes) and it's somehow wired to set the amount of damage bonus per upgrade for every single unit type in the game (like WC3 does) it seams to me using a similar system for units attack upgrades would be the best way to go also. It should have a higher efficiency then armor though to make small battles at the beginning take about as long as large battles at the end. So the basis for damage upgrades could be 1.2 (about 8% damage increase when armor and damage is upgraded by one "point"). The base damage could remain as is (absolute values) while the damage upgrades could be a multiplier of pow(1.2, numberOfDamageUpgrades). Some damage upgrades may also grand 2 or 3 "numberOfDamageUpgrades" like armor could be raised by more then 1 per upgrade (I know it's bad naming then). The tooltip for damage could then show something like:

1 "damage upgrade": 15 + 3 (20%)

2 "damage upgrades":15 + 6 (44%)

3 "damage upgrades":15 + 11 (73%)

...

10 "damage upgrades":15 + 78 (619%)

At 10 damage and armor upgrades the average damage dealt will then be raised to 2.16 times the damage compared to no upgrades (so battles would be about twice as fast).

BTW: Making the percentage values of damage reduction granted by armor (not the armor value itself) a float value would push the number of possible upgrades making a difference possible (if the damage is high enough, about 15+) close to infinity (for both, armor and damage upgrades).

The tooltips I suggested are somehow misleading due to the use of "+" (suggesting upgrades would be additive) and the "%". It might be even better to just show multipliers/divisors like:

Damage: 93 (15 * 6.19)

- 93 actual damage, 15 base damage, 6.19 damage multiplier by upgrades.

Armor: 10 (1 / 2.97)

- 10 Armor, 2.97 damage divisor (reducing the life loss roughly to 1/3 of the incoming damage)

That way it is easy to see that about 2 times the damage is dealt. Roughly: 6 / 3 = 2

Edited by FeXoR
Link to comment
Share on other sites

You have pretty much all the aspects of the game already set in your mind, don't you?

Not really, but I take this one as a compliment, so THX :thank_you2:

But I have pretty much no idea how to effectively make formations valuable without seaming enforced but still being easy to implement. It could make use of direction dependent blocking, healing and/or regeneration, moral and stamina but should NOT just raise values like attack or armor (That what makes it "enforced to be useful" for me).

Stances is another example that I can't wrap my brain around totally because I find it hard to construct a situation where changing the stance is more useful/less micro intensive then selecting the units in question and give them an order. The second in almost all cases seam better (as far as the units listen to your command what is pretty much the problem as is now). Another thing is that it interferes with the current action of units and so all combinations of stances/action has to be thought about which is pretty much impossible (At least to work sane). The unit AI is hard enough on its own to make work well.

But, yes, I have spend several time thinking of good systems for RTS and RPG games (Pen and Paper as well as Hack n Slay).

Edited by FeXoR
Link to comment
Share on other sites

FeXor: I like your idea of the 0.9^n idea but I also share the concern that it might be too complicated. Also since this system would be similar to a percentage it would actually be easy to switch between them. The only thing that would change would be the effect of researching technologies, this means that if we find armour techs are giving too much advantage to stronger units we can just change one little bit of code and it would basically work.

That's exactly the kind of thing that concerns me, avoiding absurdities like troops that catapult hits just bounce off of. The % system starts out simple, but how much adjustment will it take to avoid things like that? If that can be done while still keeping it simple, it would be a good change - but beware of unintended consequences.

I've been testing open-source software for years, and I've see many examples of changes that looked simple that turned out to create a hopeless mess. Still, you've got to try things sometimes.

As I have argued above the current system is a complicated mess. The current system shows its problems in the high armour case, where tech upgrades and minor differences between units cause really non linear behaviour. The percentage system will be so easy to understand that we can easily see these nasty cases. If the catapult causes crush damage and a unit has 90% crush armour you can easily see that the unit will barely take any damage from catapults. In this case the catapult can easily be given a bonus multiplier vs that unit type, again the effect of the bonus will be obvious and easy to work out even if you are applying it to a group of untis with varying stats.

Link to comment
Share on other sites

I think I should clarify that there are 2 dfferent issues involved - making things straightforward and understandable for the end user, and having the code tight and uncluttered. If this change could accomplish both those goals, there's no question it would be a good thing to do.

Edited by greenknight32
Link to comment
Share on other sites

  • 1 month later...

My vote is for Percentage armor.

In my point of view, exponential armor is far too complicated and slow (compared to others) to be considered in this game, and the current flat armor system has some flaws (for example the disproportional attack speed/damage contribution in damage boost) that should be avoided.

Link to comment
Share on other sites

I am leaning towards exponential armour at the moment. It works more cleanly with anything that modifies armour values, making the modification apply evenly across units. We could easily display a percentage in the GUI. Being too slow isn't a problem since it can very easily be cached as a multiplier if it is really too slow (this seems unlikely anyway).

Link to comment
Share on other sites

With exponential armour each armour point decreases damage by a fixed multiplier. So for example if we have a 0.9 based exponential system then we can look at some upgrades.

Initially we have units A and B which have armour values of 2 (19%) and 5 (41%). Now we add a tech for 1 armour point (10%). This means that units A and B both take 10% less damage than they took before the tech was researched.

Now lets look at the percentage armour. A and B again have 19% and 41% armour. Lets try adding 10% armour to get 29% and 51%. Now Unit A takes 12% less damage and Unit B takes 17% less damage. So the armour techs give more benefit to units which had more armour before.

The disadvantage is that the numbers are less pretty and players may find it harder to understand, though hopefully by describing techs as a reduction in the damage taken it will actually be quite clear. Once you get the concept it is actually easier to deal with since like the change from additive (existing) to multiplicative (percentage) it makes the effects uniform across all units. The advantage is that upgrades act uniformly on the damage rate for all units.

Link to comment
Share on other sites

Another advantage of exponential armor increase by upgrades is that balancing applies equally despite the level of upgrade . So a specific unit 2 times as strong against an other specific unit will exactly remain 2 times as strong against that other unit if both got the same number of upgrades (This only exactly fits if the units have the same range because higher armor favors melee while higher damage favors ranged units, just to mention that side effect).

Same with attack upgrades if done exponentially.

Edited by FeXoR
Link to comment
Share on other sites

My vote is definitely for exponential armor, mostly because IMO the behavior of percentage armor and techs is definitely not desirable.

It's really not at all difficult to grasp (I do not have a particularly high math education (yet...) but I understood it just fine).

  • Like 1
Link to comment
Share on other sites

I think showing the armor value (that might seam arbitrarily to some PPL) and the percentage damage reduction would be fine for most PPL like:

Armor (Damage reduction)

1 (10%)

2 (19%)

3 (27%)

4 (34%)

5 (41%)

...

Only showing the armor value in the GUI and the percentage damage reduction in the tooltip/mouseover and adding an explanation to the manual would do IMO.

Note that Warcraft 3 was and is a very popular game and uses that as well. Most players are not at all interested how a game works in sense of game rules and are just happy when they works fine. They don't notice/care "why" it is fine in most cases IMO (sorry if I do the gamers wrong but that's my experience).

So focusing on good game rules while making the GUI as informative as possible and explaining them to interested PPL in the manual seams the best way to go for me. The game rules should not depend on the average understanding of math but on the fun PPL have in average playing this game. Most will find out by try how the game "works" anyway rather then calculating everything before actually playing.

Edited by FeXoR
Link to comment
Share on other sites

I like the current system :D It's straightforward, and doesn't lead to counter-intuitive cases like a wooden shield absorbing 50% of the blast from a nuclear bomb.

(Speaking as a player, though, not as someone having done any gameplay programming.)

Armour does not work in that simplistic way. It has massively varying strength depending on where and how you hit it, many places on the body have no armour. Lighter armour is effective in some situations because you can move more rapidly and take less damage that way, so armour should not be a literal interpretation of just the materials that a person is wearing.

I actually don't see how this relates to whether the armor value is a percentage or not. Even if the value is a percentage, it is still the same percentage being subtracted, regardless of "where" the attack hit.

Edited by zoot
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...