Armor

KuBaNKuBaN Join Date: 2002-11-16 Member: 8979Members, Constellation
<div class="IPBDescription">Do we know specifics?</div>With so many games having Health/Armor systems, it doesn't come as any surprise to me to see these variables displayed in my HUD, but since so many games use this system they can't all be identical. Coming from Half-Life, I assume damage is absorbed first by armor, and then by health, with no real difference in resistance to damage.

So, do we know how it works in NS2?

Comments

  • spellman23spellman23 NS1 Theorycraft Expert Join Date: 2007-05-17 Member: 60920Members
    I know in NS1 Armor had damage reduction on it.
  • ZekZek Join Date: 2002-11-10 Member: 7962Members, NS1 Playtester, Constellation, Reinforced - Shadow
    IIRC, in NS1 armor absorbed a set percentage of all damage as long as you had some armor left. And only a portion of that damage was subtracted from the armor. So for example, a 100 HP 50 armor marine would have 200 effective HP, or something like that.
  • HarimauHarimau Join Date: 2007-12-24 Member: 63250Members
    edited April 2011
    I did a more detailed analysis on this some time ago, but I'll see if I can summarise...

    *** <b>in words:</b>
    a portion of damage incoming is absorbed by armour (limited by the amount of armour remaining); damage taken to health is the difference of damage absorbed and damage incoming; armour reduces at a factor of "1/2" of the damage absorbed.

    *** <b>the pseudo-code:</b>
    damage absorbed = minimum ( "0.7" * damage incoming, current armour * "2")
    armour reduction = damage absorbed / "2"
    health reduction = damage - damage absorbed

    e.g.1
    currently on 50 armour, and 75 damage incoming
    damage absorbed = minimum (52.5, 100) = 52.5
    armour reduction = 26.25
    health reduction = 22.5
    e.g.2
    currently on 10 armour, and 75 damage incoming
    damage absorbed = minimum (52.5, 20) = 20
    armour reduction = 10
    health reduction = 55

    "0.7" is the scalar which determines the amount of damage absorption (70%) - for exos this will be 95%
    "2" is the amount of health damage blocked per point of armour, this changes according to the damage type (it is 1 for heavy damage, 2 for normal damage, and 4 for light damage)

    the vast majority of damage in the game is normal damage type

    *** <b>what this effectively means:</b>
    what is more relevant to a <b>player</b> (versus a single damage type), is that
    effective maxhp = maxhp + (health damage blocked per point of armour * maxarmour)

    e.g.1 (normal damage type) for a vanilla marine effective maxhp is 100 + 30*2 = 160;
    i.e. a marine will die after taking 160 normal damage (e.g. 1 parasite and 2 skulk bites which each do 75, 75, 10 damage respectively).

    e.g.2 (heavy damage type) for a skulk effective maxhp is 70 + 10*1 = 80;
    i.e. a skulk will die after taking 80 heavy damage (e.g. 4 standard pistol bullets which each do 20 damage).

    *** <b>so to answer your original question</b>:
    armour does provide damage reduction, however, the "true" degree of damage reduction is dependent on the damage type.
    technically the degree of damage reduction is dependent on the damage absorption scalar (i.e. armour type), but when approaching "death", the "true" damage is what really matters. hence, effective maxhp.


    Also:
    <!--quoteo(post=1840387:date=Apr 9 2011, 09:02 PM:name=Harimau)--><div class='quotetop'>QUOTE (Harimau @ Apr 9 2011, 09:02 PM) <a href="index.php?act=findpost&pid=1840387"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec--><!--quoteo(post=1840327:date=Apr 9 2011, 05:29 AM:name=matso)--><div class='quotetop'>QUOTE (matso @ Apr 9 2011, 05:29 AM) <a href="index.php?act=findpost&pid=1840327"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->After alll that, and after fixing the code so that armor absorbtion actually works (ie, changes with the crag updates), it came as a bit of dissappointment to realize that armor absorbtion has pretty much no effect on alien staying power. All it does it to shift around how quickly armor dissapears; it doesn't affect how much armor you have nor how effective it is.<!--QuoteEnd--></div><!--QuoteEEnd-->
    This is what I concluded as well. Damage types, health and armour are what determine your "effective hitpoints" (= health + healthperarmour*armour); armour absorption just changes the rate at which armour/health drops (higher absorption means armour drops faster, and health drops slower) but you are still taking the <b>same</b> "effective damage" because that is determined by the damage type.

    <!--quoteo(post=1840330:date=Apr 9 2011, 05:47 AM:name=Quovatis)--><div class='quotetop'>QUOTE (Quovatis @ Apr 9 2011, 05:47 AM) <a href="index.php?act=findpost&pid=1840330"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->Yeah, I kind of guessed that alien armor absorption would have pretty much zero effect in practice. Aliens have so little armor to start with that all the armor points are gone after a few shots anyway. How often do you find yourself going back to heal at a hive with armor points? I almost never do. It doesn't help to increase armor absorption when there is no armor there to absorb! The fade is the only class that even has a chance of seeing any kind of meaningful change. The solution is to increase the default alien armor and compensate by reducing the health. Alternatively, the armor upgrade could add actual armor points to the aliens, but I think other upgrades are supposed to do that (e.g. carapace).<!--QuoteEnd--></div><!--QuoteEEnd-->
    I was under the impression that carapace IS the alien armour upgrade, and that it changes the armour absorption and nothing else. This is based on what I saw in the code.

    Let's have an example.
    A marine deals <u><b>20</b></u> damage in one hit to a skulk with some hypothetical weapon, of a 'light' damage type (4 health per armour).
    A skulk has <b>70</b> hp and <b>10</b> armour. Against a damage type of 'light', it has an effective hp of <b>70</b> + <b>10</b>*4 = <u><b>110</b></u>.

    <i>Normally</i>, armourabsorption is 0.7.
    damage absorbed = minimum(armour*healthperarmour, damage*armourabsorption) = minimum(10*4, <u>20*0.7</u>) = <b>14</b>
    armour destroyed = damage absorbed / healthperarmour = <b>14</b>/4 = <b>3.5</b>
    health taken = damage - damage absorbed = <b>6</b>
    skulk's new hp: <b>64</b>
    skulk's new ap: <b>6.5</b>
    skulk's effective hp = <b>64</b> + 4*<b>6.5</b> = <u><b>90</b></u>
    Clearly you can see that <u><b>110</b></u> - <u><b>20</b></u> = <u><b>90</b></u>. What, then, was the point of the armour absorption?

    <i>Just to illustrate it more obviously</i>, let's change armourabsorption to 1.
    damage absorbed = minimum(armour*healthperarmour, damage*armourabsorption) = minimum(10*4, <u>20*1</u>) = <b>20</b>
    armour destroyed = damage absorbed / healthperarmour = <b>20</b>/4 = <b>5</b>
    health taken = damage - damage absorbed = <b>0</b>
    skulk's new hp: <b>70</b>
    skulk's new ap: <b>5</b>
    skulk's effective hp = <b>70</b> + 4*<b>5</b> = <u><b>90</b></u>
    Clearly no difference.

    <i>Just for fun</i>, let's do something illogical and make armourabsorption 2.5.
    damage absorbed = minimum(armour*healthperarmour, damage*armourabsorption) = minimum(<u>10*4</u>, 20*2.5) = <b>40</b>
    armour destroyed = damage absorbed / healthperarmour = <b>40</b>/4 = <b>10</b>
    health taken = damage - damage absorbed = <b>-20</b>
    skulk's new hp: <b>90</b>
    skulk's new ap: <b>0</b>
    skulk's effective hp = <b>90</b> + 4*<b>0</b> = <u><b>90</b></u>
    Despite health actually regenerating... there is still no difference to effective hp.

    <b>Long story short</b>, <u>armour damage absorption doesn't affect overall survivability at all</u>.
    What it does do is affect which of your two "hitpoints" (health or armour?) goes down first and how fast.
    <!--QuoteEnd--></div><!--QuoteEEnd-->
  • KuBaNKuBaN Join Date: 2002-11-16 Member: 8979Members, Constellation
    edited May 2011
    So now that Alien armor has been "fixed" and it's been revealed that Armor doesn't really mitigate damage but just moves it, is there any intention to change this? Running with an earlier <a href="http://www.unknownworlds.com/ns2/2010/6/damage_types_in_ns2" target="_blank">blog post</a>:

    <b>Light</b> - Half (50%) vs. armor (Sentries, Hydras)
    <b>Normal</b> - Standard (100%) damage (Rifle, Bite)
    <b>Heavy</b> - Extra damage (150%) vs. armor (Fade swipe, Pistol, Shotgun)
    <b>Puncture</b> - Extra (150%) vs. players (Minigun, Lerk spikes)
    <b>Structural</b> - Double (200%) vs. structures; (Onos gore, SwitchAxe, Rifle grenades)
    <b>Gas</b> - Breathing targets only (Spores, Rifle nerve gas grenades)
    <b>Biological</b> - Living/organic targets only (Parasite, Flamethrower)
    <b>StructuresOnly</b> - Doesn't damage players or AI units (MASC, Whip Bombard)

    Note: All damage types deal standard damage to health unless otherwise indicated

    Health/Armor percentages can be tweaked to be more or less vulnerable against certain enemies. Giving an entity more Armor than Health makes it stronger vs. Light damage but weaker vs. Heavy, and vice-versa. Units with an even mix of Health and Armor become best fought with Normal damage types.

    To illustrate, give all structures the same total amount of Health and Armor (5000), only tweak the ratio of Health to Armor.
    <!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->Name            %       Health      Armor
    CommStation     10/90   500         4500
    Armory          20/80   1000        4000
    Extractor       20/80   1000        4000
    InfPortal       50/50   2500        2500
    Observatory     50/50   2500        2500<!--c2--></div><!--ec2-->

    Despite having the same total Life, the Infantry Portal and Observatory would still go down faster to a Light damage Bite than the Armory or CommStation. Conversely, Heavy attacks (Fade Swipe) would be more effective against structures with more armor. Structural attacks would damage a Structure's Health and Armor indiscriminately. To make varying Health/Armor percentages intuitive at first glance (without having to memorize damage tables), subject all structures to only a few distinct, enumerated ratios, weighed heavily by the structures size. The larger a structure is, the more important it is, and (presumably) the more defended it is. Most alien structures appear fleshy and unarmored, so very few would have Armor. This seems to work out, however, as it would make the shotgun less potent against most Alien structures, but preferred for some (Crag, Whip, Fade, Onos).

    Tweaked properly this could fix a lot of balance issues that currently plague the game. <b>Here's how I would do it:</b>

    <b>Light</b> - Bite, Sentry, Hydra Spike, Pistol, Flamethrower (Direct Damage)
    <b>Normal</b> - Rifle, Lerk Spike, Gorge Spit
    <b>Heavy</b> - Fade Swipe, Shotgun
    <b>Puncture</b> - Minigun, Lerk Alt-Spike, Fade Stab
    <b>Structural</b> - Gore, Switch-ax, Grenades
    <b>Biological</b> - Lerk Spore, Nerve Gas, Parasite, Gorge Healspray, Flamethrower (Burn Damage over Time); Bio and Gas are redundant; merge them. Also change Biological type to ignore Armor and damage Health only.
    <b>StructuresOnly</b> - MASC, Whip Bombard

    After looking at the game code, it seems like most of the abilities use the Normal damage type, so I'm beginning to wonder if the damage types are even implemented yet.

    EDIT: Removed a lot of conclusions based on an incorrect understanding of the system.
  • l3lessedl3lessed Join Date: 2010-06-07 Member: 71977Members
    edited May 2011
    I don't get why they're using this overly complicated system, which takes a decent amount of arithmetic to even really understand its workings. I personally say just get rid of any armor counter and turn it into merely a damage reduction system. So you never run out of armor or its damage reduction. From there the numbers and damage types can be tweaked to balance it. It would pretty much run off the same system, but completely throw out an armor counter so players always maintain the benefit of armor damage reduction as long as they're alive, no matter how much damage they have sustained.

    Structures will run the same way. They'll just have huge armor damage reductions against most attack types except structure or heavy armor specific ones.

    Health is merely a construct put into games to signify a players survivability. This simplifies everything down to just a single health bar and from there certain attacks are good at killing different things by doing more damage. None of this convoluted armor/health system. Players will really quickly learn what kills them quickly and what they can stand up against better and this will hold true no matter what.

    There is a reason more and more games are completely throwing this traditional health and armor system out the window. Because it is confusing, can be frustrating, and usually doesn't really correlate with the players ability to survive.
  • ScardyBobScardyBob ScardyBob Join Date: 2009-11-25 Member: 69528Forum Admins, Forum Moderators, NS2 Playtester, Squad Five Blue, Reinforced - Shadow, WC 2013 - Shadow
    So, if I understand this right, armor is really just a complicated form of extra hp? That seems silly.

    Either
    1. Just make armor upgrade give extra hp, or
    2. Remake armor into a simple damage modifier

    For example, make the calculation damage taken = damage given/armor count (i.e. if the armor value is 2 and damage given is 100, then the damage taken = 100/2 = 50). I'd also simplify the damage types to normal and heavy, where heavy ignores armor when calculating damage taken (i.e. damage taken = damage given).
  • l3lessedl3lessed Join Date: 2010-06-07 Member: 71977Members
    edited May 2011
  • l3lessedl3lessed Join Date: 2010-06-07 Member: 71977Members
    <!--quoteo--><div class='quotetop'>QUOTE </div><div class='quotemain'><!--quotec-->So, if I understand this right, armor is really just a complicated form of extra hp? That seems silly.

    Either
    1. Just make armor upgrade give extra hp, or
    2. Remake armor into a simple damage modifier

    For example, make the calculation damage taken = damage given/armor count (i.e. if the armor value is 2 and damage given is 100, then the damage taken = 100/2 = 50). I'd also simplify the damage types to normal and heavy, where heavy ignores armor when calculating damage taken (i.e. damage taken = damage given).<!--QuoteEnd--></div><!--QuoteEEnd-->

    I'm glad I'm not the only one who agrees here or see's the unneeded redundancy of the traditional model of handling armor. I also like simplifying it to only normal and heavy damage.
  • KuBaNKuBaN Join Date: 2002-11-16 Member: 8979Members, Constellation
    edited May 2011
    <!--quoteo(post=1846609:date=May 16 2011, 07:40 PM:name=l3lessed)--><div class='quotetop'>QUOTE (l3lessed @ May 16 2011, 07:40 PM) <a href="index.php?act=findpost&pid=1846609"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->I don't get why they're using this overly complicated system, which takes a decent amount of arithmetic to even really understand its workings. I personally say just get rid of any armor counter and turn it into merely a damage reduction system. So you never run out of armor or its damage reduction. From there the numbers and damage types can be tweaked to balance it. It would pretty much run off the same system, but completely throw out an armor counter so players always maintain the benefit of armor damage reduction as long as they're alive, no matter how much damage they have sustained.

    Structures will run the same way. They'll just have huge armor damage reductions against most attack types except structure or heavy armor specific ones.<!--QuoteEnd--></div><!--QuoteEEnd-->
    Actually after looking at it a bit, I realize I was mistaken. It also isn't that complicated.

    Any damage you take is divided between your Armor and Health (this is the "appears to just move damage," part). The <b>armor absorption scalar</b>, which at this point is either .70 (Normal) or .95 (Heavy), determines how much of that damage goes to your Armor and how much goes to your Health.

    From there, Health damage is applied to Health (usually unmitigated), and Armor damage is mitigated where applicable (reduced by 1/2 or 1/4 for Normal or Light damage respectively, Heavy deals 100% damage) and then applied. It's actually pretty intelligent, as it means you can still die while you have Armor (meaning someone's welding the hell out of you will increase your survivability, but won't keep you alive indefinitely).

    I guess the confusing part is that there is not only 1) A scalar that delegates the flow of damage, which is effectively your "Armor Type", but also 2) "Damage Types" which determine how much of that damage is reduced (by Armor). The Armor absorption scalar seems to unnecessarily complicate what would be an otherwise easily understood system (why not have a unified damage absorption scalar and just give units that would have the .95 scalar more total Armor?). It's also odd that Heavy damage deals 100% damage instead of more than 100% damage.

    <!--quoteo(post=1846613:date=May 16 2011, 07:57 PM:name=ScardyBob)--><div class='quotetop'>QUOTE (ScardyBob @ May 16 2011, 07:57 PM) <a href="index.php?act=findpost&pid=1846613"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->So, if I understand this right, armor is really just a complicated form of extra hp? That seems silly.<!--QuoteEnd--></div><!--QuoteEEnd-->
    Thought that was the case originally, but now I see it isn't. Armor reduces the damage you receive. The amount of damage that can be reduced is determined by your "Armor Type". The factor by which it is reduced is determined by the damage type.

    The reason for this is so that weapons don't deal uniform damage across the board. If they did, higher tier weapons would have to deal more damage in order to justify their additional costs. At some point, earlier-tier weapons would become obsolete. Damage types allow weapons to have weaknesses and strengths in certain circumstances, meaning that it's possible for all weapons to remain useful throughout the game, and also considerably easier to balance.

    But like I said earlier, nearly every attack uses the Normal damage-type currently (despite what the blog post says), so the strengths and weaknesses of these weapons are not presently implemented.
  • l3lessedl3lessed Join Date: 2010-06-07 Member: 71977Members
    edited May 2011
    <!--quoteo--><div class='quotetop'>QUOTE </div><div class='quotemain'><!--quotec-->Any damage you take is divided between your Armor and Health (this is the "appears to just move damage," part). The armor absorption scalar, which at this point is either .70 (Normal) or .95 (Heavy), determines how much of that damage goes to your Armor and how much goes to your Health.

    From there, Health damage is applied to Health (usually unmitigated), and Armor damage is mitigated where applicable (reduced by 1/2 or 1/4 for Normal or Light damage respectively, Heavy deals 100% damage) and then applied. It's actually pretty intelligent, as it means you can still die while you have Armor (meaning someone's welding the hell out of you will increase your survivability, but won't keep you alive indefinitely).<!--QuoteEnd--></div><!--QuoteEEnd-->

    This is still pretty complicated. I say first just completely get rid of an armor counter and just use an armor reduction and damage type system. All players care about and need to know is if weapon a kills target b.

    As an example of this, in games with vehicles players aren't calculating or confused about how much damage their rifle does to a tank. Instead, the moment they see a tank, they either switch to an appropriate anti-vehicle weapon, or run, hide, and wait for backup. NS2 should have this sort of clarity. You see a onos and all you have is a flame thrower or a rifle, it should be very clear right away you aren't going to do jack.
  • KuBaNKuBaN Join Date: 2002-11-16 Member: 8979Members, Constellation
    edited May 2011
    <!--quoteo(post=1846723:date=May 17 2011, 05:11 AM:name=l3lessed)--><div class='quotetop'>QUOTE (l3lessed @ May 17 2011, 05:11 AM) <a href="index.php?act=findpost&pid=1846723"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->This is still pretty complicated. I say first just completely get rid of an armor counter and just use an armor reduction and damage type system. All players care about and need to know is if weapon a kills target b.

    As an example of this, in games with vehicles players aren't calculating or confused about how much damage their rifle does to a tank. Instead, the moment they see a tank, they either switch to an appropriate anti-vehicle weapon, or run, hide, and wait for backup. NS2 should have this sort of clarity. You see a onos and all you have is a flame thrower or a rifle, it should be very clear right away you aren't going to do jack.<!--QuoteEnd--></div><!--QuoteEEnd-->
    And that's all he's going to know about, whether you remove the armor counter or not. Your opponent doesn't know how much armor you have at any given point, only more or less what your max armor is, which combined with their weapons damage type will give them a pretty good idea whether or not they should engage or not. Once the damage types are implemented and tweaked properly, we should see players' situational awareness increase to more or less this level (but no weapon will become obsolete, so you'll always be able to at least <i>do jack</i>).

    With armor counters unique to each unit type, some units will absorb more damage before becoming vulnerable. It's only really important to your opponent that at some point they <i>do become vulnerable</i>, but the amount of armor you have at any point is really only important to you (tells you when you need to get out of there), which is why it's only shown to you.

    But like I said, just about everything uses the Normal damage type right now, so all we're seeing is 70% of all damage cut in Half across the board. <b>That's only 35% of damage effectively reduced</b>.
  • BacillusBacillus Join Date: 2006-11-02 Member: 58241Members
    <b>To recap NS1 system: </b>

    Each 'unit' has three armor statistics:

    * The actual armor points (For skulk 10, for fade 150 and ect).

    * Each armor point has some kind of damage absorbtion percent: For heavy 95%, for the rest it was 65 or 75 % if my memory serves me right. Basically armor absorbs as much as it can and the rest goes to the actual health.

    * The armor has some damage negation value. Usually 1 point of armor is worth 2 points of damage. At some point the alien value increased according to the hives something like 2 / 2.5 / 3, but later on it got reduced to almost irrelevant 2 / 2 / 2.5 or so.

    ---

    For marines the results are pretty clear with the welding and HAs immense ability to survive without medpacks. Basically the separate armor recovery method justified having a separate armor value in addition to the health. I guess the system could be a bit more intuitive and explained somewhere, but the general idea is good.

    For aliens the system was probably a bit too confusing for what it was worth. Basically the biggest depth I've found in it is that regening armor is double the effective (same amount of time to regen as health while the armor still has the actual HP value of 2). There was also a bit of trickery with fade metabolize and regen to maximize the effectiveness when you reached full health and started regening armor. All in all, cool stuff but probably not worth the confusion. For example newbies had hard time understanding that 50% the actual fade HP was tied to the armor even if the numeric value seemed to be only one third.

    ---

    I like the idea of having more than just the HP pool to play around. However, the NS1 system was in no way as in depth or intuitive as it could have been. Improving it for NS2 would be sweet.
  • KuBaNKuBaN Join Date: 2002-11-16 Member: 8979Members, Constellation
    edited May 2011
    Well, according to the blog:

    Light attacks should deal 50% damage to Armor. They currently deal 25%.
    Normal attacks should deal 100% damage to Armor. They currently deal 50%.
    Heavy attacks should deal Extra (I assume 150%) damage to Armor. They currently deal 100%.

    I suspect these new values were adopted at some point because most attacks were dealing Normal damage and they needed to test the Armor damage reduction system, or perhaps they saw that people were dying way too quickly.

    While it may alleviate that problem, we no longer have weapons that are better against Armor than Health. While that makes sense logically, it does remove that potential strategic advantage from game-play. Shifting the values this way changes the weapon game from, "Oh, this guy has more Armor than HP, I should grab a weapon that deals extra damage to Armor," to, "Oh, I have more spending cash, now I can purchase the weapon that's LESS hindered by Armor."

    Light, Normal and Heavy Damage types no longer offer trade-offs, just additional damage.
  • HarimauHarimau Join Date: 2007-12-24 Member: 63250Members
    edited May 2011
    The system is somewhat complicated in theory (with absorption scalars), but actually very simple in practice:

    for damagetype = light, normal, heavy
    k = 4, 2, 1 respectively
    <b>effective hitpoints = health + k*armour</b>

    That's it. That's really all you need to know.

    The fact that the first rifle bullet will take out 3 health and 3.5 armour, or the third rifle bullet will take out 4 health and 3 armour, or the fifth rifle bullet will take out 10 health, is not important.
    The idea that 9 rifle bullets will kill you is.


    It's like the difference between chemistry (useless) and chemical engineering (profitable). <u>We operate in bulk.</u> Do you really need to know the steric number of a certain molecule, or is it enough that when Hydrogen is burned with Oxygen it forms Water? We're only interested in how things tick insofar as it affects results, as what we're most interested in are results.
Sign In or Register to comment.