Jump to content
Sign in to follow this  
Chris

New Damage / Armour System

Recommended Posts

One of the perennial problems in Xenonauts has been how best to handle damage, armour, and armour penetration. We want a system that is realistic, flexible, generates interesting choices, and is easy to display in the UI and for the player to understand.

After quite a lot thinking I've settled on what I feel is the ideal solution. The system listed below is deeper than the one in Xenonauts, but should also be easy to understand and display in the UI. I thought I'd post this up on the forums to get some feedback before we start implementation; I'm pretty sure the idea is solid but it's always good to see if anyone can poke holes in my design or find a new perspective on things.

Damage Randomisation vs. Locational Damage:
This first change is relatively simple - instead of weapons inflicting a random damage amount somewhere between 50% - 150% of the base weapon damage, hits are now randomly assigned to a specific body part and the damage is modified based on which part is hit.

  • Head: 20% hit chance, 2x damage modifier
  • Body: 40% hit chance, 1x damage modifier
  • Left Arm: 10% hit chance, 0.5x damage modifier
  • Right Arm: 10% hit chance, 0.5x damage modifier
  • Left Leg: 10% hit chance, 0.5x damage modifier
  • Right Leg: 10% hit chance, 0.5x damage modifier

The main advantage here is that it's easy to add in locational injuries based on which body part is hit, and in future expansions or DLC we could actually split out armour so it covers specific body parts if we wanted (e.g. maybe a specific helmet reduces the damage modifier if you are shot in the head). Potentially we could give certain weapons like sniper rifles a bonus chance to hit the head (effectively a critical hit) if we wanted, too.

Armour HP:
In X2 armour currently provides resistances that provide a % reduction to incoming damage, which I don't think works particularly well - as even the best armour doesn't offer 100% resistance, being hit by any weapon will cause damage to the soldier below. This doesn't really make sense; shooting a basic pistol at a soldier wearing a late-game Exosuit shouldn't hurt them.

In the new system Armour conceptually works like it does in XCOM - it provides the unit a seperate pool of Armour HP that absorbs damage before the unit takes damage to their own HP. This Armour HP is permanently consumed when it stops damage, so 20 Armour HP is only ever going to prevent 20 incoming damage (i.e. it's only applied once, rather than being applied to every shot that hits the unit).

However, unlike XCOM, the "hardness" of the Armour is also a factor. This is reflected in a new characteristic called the "Armour Level" which is explained further below. In general more advanced armour will have a higher Armour Level, whereas heavy armour (i.e. the armour module that increases protection at the cost of extra weight) will boost Armour HP instead.

Resistances:
Resistances have not been removed from X2 entirely, but they are now used to represent inherent resistances that do not change as a result of penetration and so forth. For example, units with rebreathers or enclosed helmets are immune to gas damage and this is achieved by setting 100% gas resistance.

Similarly, certain alien races may have an inherent resistance to particular types of damage (encouraging players to use weapons that might otherwise be sub-optimal). Androns might have a 30% resistance to Kinetic damage, and Wraiths might have a 30% Energy damage resistance. This would also be handled via resistances.

(This system can already be used by modders; it's not difficult to add +20% Energy Resistance to a piece or armour or an armour module. The problem is that there's no UI space to display this sort of stuff, but in a mod it's probably fine just to display this stuff on tooltips and research pop-ups.)

Weapon Level & Armour Level:
The final system is the most important. Both weapons and armour now have a Level, which represents penetrative power for weapons and hardness for armour. They share the name "Level" because they are compared to one another to decide whether some or all of the damage penetrates the armour or is absorbed by it.

The lookup table is as follows:

  • Armour +3: -90% damage / suppression
  • Armour +2: -60% damage / suppression
  • Armour +1: -30% damage / suppression
  • Equal: damage treated normally
  • Weapon +1: 30% damage penetrates
  • Weapon +2: 60% damage penetrates
  • Weapon +3: 90% damage penetrates

If the Armour level is higher the incoming damage is reduced by a percentage, and sufficiently hard armour is almost impervious to weapons with low penetration. Conversely, if the Weapon level is higher then a percentage of the damage becomes penetrative damage and will bypass the armour while also damaging it (penetrative damage damages both the armour AND the unit underneath).

Note that the Weapon Level represents penetrative power and is *not* the same as the weapon tier / family - i.e. a Laser Pistol is likely to have a lower Weapon Level than a Ballistic Sniper despite being a more advanced tier of weapon (but it would likely have a higher Weapon Level than a Ballistic Pistol)!

The advantage of this system is that we can model technology progress in a more interesting way. I think the Gun Drone from X1 is a good example; let's say it has Burst Cannon that fires 10 shots that do 12 damage each. If you give this weapon good accuracy but a relatively low Weapon Level, it'll be utterly deadly against unarmoured starting troops. A starting soldier wearing heavy armour might survive a burst but is most likely going to be both injured and suppressed.

What's cool is that once you have advanced armour the Gun Drone immediately becomes less threatening. The incoming damage and suppression is reduced even against your lightly-armoured troops, and your heavily-armoured troops might have enough HP / Armour to eat the entire burst at short range and still survive. Soldiers with late-game heavy armour can pretty much ignore the Gun Drone entirely, which I think would make an Exosuit like the X1 Predator feel much more like the walking tank it is intended to be.

So, those are the new systems we're planning to implement. What do you guys think?

Share this post


Link to post
Share on other sites

With regards to damage nubmers and locational damage, I don't say this often, but I think the proposal is more complicated than necessary. Unless you go even into more detail with body parts and damage, it might be easier to implement and balance a somewhat simpler system. Keep a small random spread for weapons damage, say max -/+20%, and introduce a critical hit system that works pretty much like they always do in games. Let the critical head be a headshot for double damage. Then, just from that, a few variables would be enough to have significant gameplay variation. Let weapons have a critical hit modifier (for sniper rifles as you mentioned), and let soldier/alien entities have that modifier as well - maybe Androns are less vulnerable to crits, not being biological.

Potential enhancements for mods/DLCs then include things like armour modules that affect critical chance (offensively or defensively), soldier perks related to crits, etc.

Your current proposal is basically 40% chance of 0.5x damage, 40% chance of 1x damage and 20% chance of 2x damage. I feel like framing it in the context of locational damage, if e.g. the combat text says you were hit in the right arm, would even be actively disappointing - upon seeing such text, my first guess would be that the game has a complex system where each body part works differently (like Fallout), only then to be disappointed that it's simply a damage modifier phrased in different terms.

So that's me calling for a simplification for a change.

On resistances and armour HP in general, I agree with your post. Hopefully X2 makes good use of resistances - they were technically there in X1, but essentially unused.

The weapon / armour level proposal is... confusing. I agree with the end goal as described, but I had to read the section twice to understand how it's supposed to work. Other than being pretty bad names, weapon and armour level sound just like penetration values anyway. What I'm seeing instead is a "penetration" value for weapons and a "hardness" value for armours. You can get the same numbers as you proposed and more flexibility with a simple rule.

Armours have hardness, weapons have penetration. For each 1 point of difference between them, damage/suppression effects change as you described, but by 10% (flexibility for mods, etc). You stick to using hardness/penetration values that are a multiple of 3 to get the 30/60/90%. Optionally then introduce a global cap to these values to make sure 90% is the max.

It's the same thing essentially, I guess the difference in what I'm saying is, use 10% increments as a base and get your 30% increments by setting the numbers appropriately, and don't use the terms weapon level or armour level.

Share this post


Link to post
Share on other sites

I like most of this, there's a good framework here for future possibilities, however, just one question regarding Weapon/Armour level. Is it absolute or relative? 

By that, I mean armour/weapon level currently looks like any bonus is defined at the point of interaction, so a "level 2" weapon that interacts with a "level 4" armour would grant the armour the +2 armour bonuses, whereas a "level 8" weapon interacting with the same "level 4" armour would grant the weapon the +3 weapon bonuses (+3 being the maximum bonus permitted). This means any bonus granted is always relative to the difference between the armour/weapon levels, with a cap regardless of the difference between armour and weapon. 

Or, are weapons/armour assigned a specific bonus level (0/+1/+2 etc) at creation, and only get that bonus if the level of the weapon/armour beats the opposing level of the armour/weapon? In that case the level is absolute. 

Share this post


Link to post
Share on other sites
4 hours ago, Solver said:

It's the same thing essentially, I guess the difference in what I'm saying is, use 10% increments as a base and get your 30% increments by setting the numbers appropriately, and don't use the terms weapon level or armour level.

The numbers can be changed; I'm using 1 level = 30% difference as an example but we'll see what we end up once I actually start assigning values. Using a value of 10% for each level might be problematic though, because even starting level 1 armour would need a weapon with penetration level 10 to fully ignore it. You're going to need quite big numbers if you go down that route.

Weapon level and armour level are somewhat clumsy names, admittedly. But I'm not sure what would be a better alternative - "Penetration" and "Hardness" are more descriptive, but they don't immediately link together like Weapon Level and Armour Level do (after all, the only purpose of these values is to be compared to one another).

4 hours ago, Max_Caine said:

I like most of this, there's a good framework here for future possibilities, however, just one question regarding Weapon/Armour level. Is it absolute or relative? 

By that, I mean armour/weapon level currently looks like any bonus is defined at the point of interaction, so a "level 2" weapon that interacts with a "level 4" armour would grant the armour the +2 armour bonuses, whereas a "level 8" weapon interacting with the same "level 4" armour would grant the weapon the +3 weapon bonuses (+3 being the maximum bonus permitted). This means any bonus granted is always relative to the difference between the armour/weapon levels, with a cap regardless of the difference between armour and weapon. 

Or, are weapons/armour assigned a specific bonus level (0/+1/+2 etc) at creation, and only get that bonus if the level of the weapon/armour beats the opposing level of the armour/weapon? In that case the level is absolute. 

It's relative - what matters in the calculation is the difference between the two values.

Share this post


Link to post
Share on other sites

That System what Chris wanna implement sounds good. A similar System were in the old X-Com Series and if I have that correctly in Mind in UFO Extraterestials. And if you wanna have the newest Example for such a System play Battletech. The Difference in Battletech is that the Hit-Chance-System is the other way around.

18 hours ago, Chris said:

One of the perennial problems in Xenonauts has been how best to handle damage, armour, and armour penetration. We want a system that is realistic, flexible, generates interesting choices, and is easy to display in the UI and for the player to understand.

After quite a lot thinking I've settled on what I feel is the ideal solution. The system listed below is deeper than the one in Xenonauts, but should also be easy to understand and display in the UI. I thought I'd post this up on the forums to get some feedback before we start implementation; I'm pretty sure the idea is solid but it's always good to see if anyone can poke holes in my design or find a new perspective on things.

Damage Randomisation vs. Locational Damage:
This first change is relatively simple - instead of weapons inflicting a random damage amount somewhere between 50% - 150% of the base weapon damage, hits are now randomly assigned to a specific body part and the damage is modified based on which part is hit.

  • Head: 20% hit chance, 2x damage modifier
  • Body: 40% hit chance, 1x damage modifier
  • Left Arm: 10% hit chance, 0.5x damage modifier
  • Right Arm: 10% hit chance, 0.5x damage modifier
  • Left Leg: 10% hit chance, 0.5x damage modifier
  • Right Leg: 10% hit chance, 0.5x damage modifier

The main advantage here is that it's easy to add in locational injuries based on which body part is hit, and in future expansions or DLC we could actually split out armour so it covers specific body parts if we wanted (e.g. maybe a specific helmet reduces the damage modifier if you are shot in the head). Potentially we could give certain weapons like sniper rifles a bonus chance to hit the head (effectively a critical hit) if we wanted, too. 

Armour HP:
In X2 armour currently provides resistances that provide a % reduction to incoming damage, which I don't think works particularly well - as even the best armour doesn't offer 100% resistance, being hit by any weapon will cause damage to the soldier below. This doesn't really make sense; shooting a basic pistol at a soldier wearing a late-game Exosuit shouldn't hurt them.

In the new system Armour conceptually works like it does in XCOM - it provides the unit a seperate pool of Armour HP that absorbs damage before the unit takes damage to their own HP. This Armour HP is permanently consumed when it stops damage, so 20 Armour HP is only ever going to prevent 20 incoming damage (i.e. it's only applied once, rather than being applied to every shot that hits the unit).

However, unlike XCOM, the "hardness" of the Armour is also a factor. This is reflected in a new characteristic called the "Armour Level" which is explained further below. In general more advanced armour will have a higher Armour Level, whereas heavy armour (i.e. the armour module that increases protection at the cost of extra weight) will boost Armour HP instead.

Resistances:
Resistances have not been removed from X2 entirely, but they are now used to represent inherent resistances that do not change as a result of penetration and so forth. For example, units with rebreathers or enclosed helmets are immune to gas damage and this is achieved by setting 100% gas resistance.

Similarly, certain alien races may have an inherent resistance to particular types of damage (encouraging players to use weapons that might otherwise be sub-optimal). Androns might have a 30% resistance to Kinetic damage, and Wraiths might have a 30% Energy damage resistance. This would also be handled via resistances.

(This system can already be used by modders; it's not difficult to add +20% Energy Resistance to a piece or armour or an armour module. The problem is that there's no UI space to display this sort of stuff, but in a mod it's probably fine just to display this stuff on tooltips and research pop-ups.)

Weapon Level & Armour Level:
The final system is the most important. Both weapons and armour now have a Level, which represents penetrative power for weapons and hardness for armour. They share the name "Level" because they are compared to one another to decide whether some or all of the damage penetrates the armour or is absorbed by it.

The lookup table is as follows:

  • Armour +3: -90% damage / suppression
  • Armour +2: -60% damage / suppression
  • Armour +1: -30% damage / suppression
  • Equal: damage treated normally
  • Weapon +1: 30% damage penetrates
  • Weapon +2: 60% damage penetrates
  • Weapon +3: 90% damage penetrates

If the Armour level is higher the incoming damage is reduced by a percentage, and sufficiently hard armour is almost impervious to weapons with low penetration. Conversely, if the Weapon level is higher then a percentage of the damage becomes penetrative damage and will bypass the armour while also damaging it (penetrative damage damages both the armour AND the unit underneath).

Note that the Weapon Level represents penetrative power and is *not* the same as the weapon tier / family - i.e. a Laser Pistol is likely to have a lower Weapon Level than a Ballistic Sniper despite being a more advanced tier of weapon (but it would likely have a higher Weapon Level than a Ballistic Pistol)!

The advantage of this system is that we can model technology progress in a more interesting way. I think the Gun Drone from X1 is a good example; let's say it has Burst Cannon that fires 10 shots that do 12 damage each. If you give this weapon good accuracy but a relatively low Weapon Level, it'll be utterly deadly against unarmoured starting troops. A starting soldier wearing heavy armour might survive a burst but is most likely going to be both injured and suppressed.

What's cool is that once you have advanced armour the Gun Drone immediately becomes less threatening. The incoming damage and suppression is reduced even against your lightly-armoured troops, and your heavily-armoured troops might have enough HP / Armour to eat the entire burst at short range and still survive. Soldiers with late-game heavy armour can pretty much ignore the Gun Drone entirely, which I think would make an Exosuit like the X1 Predator feel much more like the walking tank it is intended to be.

So, those are the new systems we're planning to implement. What do you guys think?

Let´s beginn with the Damage Randomisation vs. Locational Damage:

I like it, because it shows the Reality of Organig and Robotic Lifeforms which are build like a Human or Organic Alien. The Randomisation of the Damage Modifier is very good, because you can crunch, lay down or standing normal as a Human and Organic Alien. That explains very good the low Leg and Arm-Damage-Modifiers (x0,5) realy good. The best Points are the Front and Back-Torso, which get the normal Damage-Modifiers (x1). Head-Shots are in reality a gambling, which get the highest Damage-Modifier (x2).

The locational Damage (Head, Arms, Torso, Legs) are fully correct too. We Humans and other Organic Lifeforms are on a similar Level. 

The Only Thing I would Change the Hit Chance. Head 15%, Legs 10%, Arms 15% and Torso is ok.

Then the Armour HP:

Sounds very good, we should try that in the next Beta-Version (V.12). Here I don´t have anything to attach. Atm the Armour HP aren´t there to get a damage reduction.

Then the Resistances:

Sounds good, the existing system feels like the one of the first Game. Like you already said, the Rebreather and Closed Helmets give a 100 % Ressistances. I would say we bring in the following 5 Types of Ressistances. More aren´t needed and make the Game much more interessting.

1. all types of Gases (f. e. Smoke, Stun)

2. all types of Fire (nothing more to say)

3. Kinetic Weapons (Knife, Rifels, Pistols etc.)

4. Energy Weapons (Laser, Plasma)

5. Electrical / EMP (Stun Rods, EMP-Weapons)

Weapon Level & Armour Level:
:confused:

I make an example with the Starting-Armors and the Upgrade as well as with the Starting Weapons. If I understand that correctly it should be like the follwoing example.

Starting Weapons: Standard-Starting-Weapons (equal) / Upgraded with the light Magnetion-Thing (30 % Damage Bonus)

Starting Armor [Kevlar Suit]: Standard-Kevlar Suit with heavy Kevlar-Vest (- 60%) / Standard-Kevlar Suit with heavy Kevlar-Vest (- 30 %) / Standard-Kevlar Suit with upgraded heavy Kevlar-Vest (- 60%)

Is that an correct example you mean with that Levels?

Chris, bring such a System in the next Version (Beta 12), then we will see how it works in the Game for the Fighter-Aircrafts (Airfights) and Ground-Fights (Soldiers / Vehicles). Therfore we only can speculate. If we see how the system Works we can optimise it in the overnext Betas (Beta 13 and Beta 14) step by step.

 

Edited by Alienkiller

Share this post


Link to post
Share on other sites
1 hour ago, Chris said:

The numbers can be changed; I'm using 1 level = 30% difference as an example but we'll see what we end up once I actually start assigning values. Using a value of 10% for each level might be problematic though, because even starting level 1 armour would need a weapon with penetration level 10 to fully ignore it. You're going to need quite big numbers if you go down that route.

I'm talking about an implementation detail though. Let 1 level be 10% (in the game files), and then you use multiples of 3 for the actual content. So you give the basic armour level 3 and a pistol level 6. Just pointing out that the game can then easily support different granularities in mods.

4 hours ago, Chris said:

Weapon level and armour level are somewhat clumsy names, admittedly. But I'm not sure what would be a better alternative - "Penetration" and "Hardness" are more descriptive, but they don't immediately link together like Weapon Level and Armour Level do (after all, the only purpose of these values is to be compared to one another).

Penetration and Hardness have been used as a pair in other games, so there might be some familiarity. On the other hand, level has a common meaning in games that's very contrary to what you're doing. A higher level means something is better/stronger. That's how RPG games work, that's how plenty of other games work where a Level 3 MegaBoomStick is simply better than a Level 2 MegaBoomStick. In a game where different weapon tiers are actually a thing, weapon and armour level are simply bad names for this - they're not just clumsy, they evoke a different concept entirely.

If you want to more clearly link them together, you can use something clumsy but less directly misleading, something like "armour hardness" and "armour penetration", keeping one word in common in both terms to indicate they're related.

Share this post


Link to post
Share on other sites

I'd say keep damage variability. Perhaps, reduce it to +/- 25%. With non-variable damage and multipliers, there's only 3 dmage values that you can see. Also 2x for a headshot seems extreme. So slightly variable damage and location multipliers like 1.5/1.0/0.75 would give healthy numbers, I think.

If you're doing location based damage, I really like the way Battle Brothers does it. It would make a lot of sense in X2.
So basically, armor and HP have different properties. The location based damage applies its damage bonus/penalty to HP damage only, otherwise it deals normal damage (minus resistances) to armor. Also it would make sense that the resistances are a property of armor only, once you get to the softer bits, you deal full damage. This opens interesting strategic options when you can have a soldier who has a weapon that's good for damaging alien armor and then another one who goes in for the kill, with say, a shotgun.

Share this post


Link to post
Share on other sites

Yeah, it seems decent. I would probably get rid of the levels and just have a "penetration factor". A weapon with 10 penetration vs armour with 40 penetration defense would give that -30% damage/suppression. Personally I think it is more intuitive, unless you're going to say in game exactly what the level differences do. In that case it's the same, but the level system is pretty rigid.

Either way though it works and I feel it's decent.

Share this post


Link to post
Share on other sites

Locational damage seems very excessive, and like it would have bad side effects in a game where a good accuracy roll means an automatic hit. For example cover being not that great because you always get headshot, unrealistic as you would move around and not just stick your head out constantly.

The weapon level system is cool, as it includes "pierce" strategies where weapons ignore armor, "shred" strategies where you aim for getting rid of armor, and suppression strategies, despite only having one stat. The only thing is, health can regenerate, so that means a high weapon level can be bad.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×