Page MenuHomePhabricator

technical suggestions for A3 damage system improvements (infantry and vehicles)
Acknowledged, NormalPublic


After doing quite a bit of testing and research on the damage system i found that there is high potential in it, but a couple of hardcoded systems prevent this potential from beeing utilized properly.

For direct damage, the two biggest issues are:
a) Penetrating bullets deal damage dependant on the amount of speed lost in the body
b) Bullets have internal damage radius (not to be confused with "indirect Hit damage"). With high hit values, they will cause damage to a larger area around the impact within the same target.

I described the details in the Biki entry more closely, see the Damage vs. Penetration section (Case A = a; Case C = b)

Problem a) makes the damage system very unpredictable and inconsistent for thin firegeometries or rounds with high penetration. This affects infantry alot. Depending on where and what direction the shot went in, out and how much speed it lost, infantry may die in one shot, or live with minor damage, on the same hitlocation. This also means that bullets with high penetration ability deal alot less damage. A shot to the ankle will do less damage than a shot to the calve, simply because the calve is thicker. And a shot to the ankle from the side does less damage than from the front.
The formula for this is not accessable either and really inconsistent (note the example below Case A in Biki)

Problem b) prevents us from doing detailed damage models for tanks. With the A3 penetration mechanics and now improved hitpoint system we can achieve similar damage models as in Warthunder (minus the spalling and shrapnell), where you have to hit certain components directly to disable a vehicle/ have it explode (or increase damage upon hit of these) Due to this problem, a projectile with high hit value can impact on the outer armor and destroy the interior components without penetration.

In addition, it damages many other parts, but often insignificantly. It gets ignored by standard hitpointsystem, but Eventhandlers like "Dammaged" get triggered by every single damaged section.

While a) and b) may have some theoretical justification for infantry, they have very negative sideeffects that outweigh them. Ingame, the theoretical "realism" of both is not noticeable, only the negative side. For vehicles there are not even theoretical benefits, only negatives.

Suggested actions:
for a) Either remove the speed dependancy of hit damage during penetration, or create two new simulation classes based on simulation=shotShell and shotBullet without this behaviour (for backwards compatibility). Removal of speeddependancy during penetrationsimplifies the system, makes it more predictable. This not only helps gamers (arsenal stats are meaningless and confusing atm), but also devs and us modders to balance their protective gear, weapons, infantry etc consistently.
for b) Either remove the internal damage radius, or give a cfgAmmo or cfgVehicle config side option to use a damage calculation without internal damage radius. Removing it should not cause any backwards compatibility issues for mods, as this behaviour has never been documented anywhere publically before.

For indirect damage, the two biggest issues are:
c) 100% lethality, lack of survival chance (closer description and possible solution suggested here
d) Cut off in damage radius. It is extremely noticeable for large ordonance and should be adjustable.

The maximum range for indirect damage is 4x indirectHitRange in the config. If you want indirect high damage at the epicenter, you meed high indirect damage values. Damage at max range is 6.25% of indirectHit value. That means for large explosives like bombs, IED and Artillery, there is an extremely noticeable cutoff. At certain indirectHit values, unarmored infantry at max range die outright (e.g. 155mm arty in A3 vanilla). But 10 centimeter past the max range, the same infantry is completely unharmed.
If you dont want the high indirect damage to have a large "epicenter", you need low indirectHitRange. That means however that you only have a very small range where it is dangerous to anything, as the cutoff range is hardcoded.

Suggested solution:
for c) see seperate ticket
for d) indirect Damage falloff with distance can be kept like before, means damage= 1/[(distance/indirectHitRange)^4].
But the cutoff should not be 4x indirectHitRange, but be a modifiable integer. For smaller explosives (Hand grenades, 20mm HE, etc) the 4x iHR is enough. For larger ordinance you should be allowed to specify a custom value.


Operating System
Windows 7
Additional Information

comprehensive collection of information for the damage system (for infantry and vehicles), based on tests

Event Timeline

Fennek created this task.Oct 12 2016, 2:32 PM
Fennek updated the task description. (Show Details)Oct 12 2016, 2:37 PM
Fennek updated the task description. (Show Details)Oct 12 2016, 2:41 PM
Fennek edited Additional Information. (Show Details)
Fennek updated the task description. (Show Details)
Fennek updated the task description. (Show Details)Oct 12 2016, 2:50 PM
Fennek updated the task description. (Show Details)Oct 12 2016, 10:05 PM

The indirectHit aspect of this is one of the most significant changes that could be done to Arma's damage modeling. The way it works, as described, is an archaic system that has been in desperate need of replacement for many years.

Alloc added a subscriber: Alloc.Oct 18 2016, 11:34 AM
This comment was removed by SuicideKing.
Fennek added a comment.Nov 1 2016, 9:26 PM

another issue that relates to "invulnerable" infantry / inconsistent damage to infantry comes from the way the dependencies in the hitpoint systems are defined.

razazel claimed this task.Nov 2 2016, 11:19 AM
razazel changed the task status from New to Acknowledged.
Dr.Muerrte added a subscriber: Dr.Muerrte.EditedNov 7 2016, 4:25 PM

remarks on direct damage

Stopping power of bullets is an general issue of real physical laws. The mechanics you describe as flawed, are in my view good approximations, which should be build upon, not reversed.

Overpenetration (issue a) Not a bug, a feature. The model cases you reference are in line with the expected behaviour (penetration is the non damaging part of the bullet, designed to defeat armor/obstacles - with least interaction possible)

An armor piercing round will fly through the body and not really notice it hit it. It does not twist nor fragment. The narrow trajectory increases the chance it wont hit anything important.

Shots and their damage are unpredictable and random. The human body can take suprising amount of such damage. Actually, most shot wounds are not lethal *per se*.

Internal damage (issue b) is also a model of the real world behaviour, as different bullets indeed have different properties in dealing damage in tissue. A hollow point (JHP), or any "soft" bullet (e.g. soft point or flat nose JSP/JFP), will wreck havoc by particles taking multiple paths after impact, ripping and tearing stuff up. High speed OTM or FMJ (like the 7.62 AK or 5.56) don't have good stopping power in unprotected opponents and/or close range.

At least that's how mods like ACE/RHS scale the hit/penetration properties of ammo. Adjusting your tactics, weapon and ammunition choice to the environment of combat can improve your success.

Fennek added a comment.EditedNov 20 2016, 3:24 PM

Dr. Muerrte, this damage system works the same for everything. Infantry and Vehicles.
This has nothing to do with bloody tactics and stuff - it is a large issue for reliable damage modelling (which has plagued combat in A3 a great deal), especially when trying to improve the damage models by making firegeometry and hitpoints more detailed - which is what i'm doing for a total conversion, otherwise i would have never bothered to investigate deeply how the damage actually works.

Unless you want to tell me that it is a feature when (case A) a bullet that ends somewhere within an engine block (e.g. 2mm inside the housing) and somehow is more destructive compared to a shot that goes completely through the engine block, or (case B) that it is totally intended to damage the fueltank or the engine in a completely armored vehicle without having an actual penetrating of the armor, then NO this is not a feature. It is an issue.

What you praise is randomness. The issues described here are not random, they are 100% systematic. A bullet with high penetration systematically causes lower damage, no "if's" or "but's". You can't hit a heart or brain deliberately due to coarse hitpoint modelling. The amount of damage per round is already controlled by the hit value. One can argue that there needs to be a differentiation between organic and material damage (which i would actually be in favor off) then this can be achieved through different means and extra cfgAmmo coefficients. But not by using overpenetration as modifier for damage!
Especially not in such a ridiculous way (let me quote my example from the Biki, as you dont seem like you have read it):

Example: A projectile (simulation=shotShell or shotBullet) with hit=1 impacts on a block with armor=1 (means one hit kills in best case). If the projectile has caliber=0 (no penetration) it will outright "kill". If the caliber value is > 0, but not high enough to penetrate through the block's material, it will also kill. If the projectile has just about enough penetration to penetrate the block, so that it's exit speed is < 0.1 m/s (means it falls straight to the ground after exit) the damage dealt will not be 1.0, but somewhere around 0.22. A fifth of the damage, just because the last mm of material was penetrated... If the bullet would lose less speed in the block, damage would be even lower

If somebody would hypothetically make the infantry damage model so detailed, that you could actually damage internal organs (heart, brain, ...) seperately - irregardless of the fact that this would be ridiculous. What would end up happening? Answer: Fuck all, because all the organs inside the torso would receive damage from a torso hit, no matter where exactly you hit it.

oukej added a subscriber: oukej.Apr 30 2017, 2:20 AM

With the advent of the Tanks DLC release, I sure hope that the way any ricochet, penetration or absorption of shots against armour can be changed. It is frustrating to see that there is an accurate penetration system, with very good ballistics and all, that is abused in this way. The system allows for a complex damage model, where vital components can be protected by armor. However, the way it works now, is even if the protection works, the vitals still soak up damage, eventually leading to vehicle destruction.

Look in the devbranch forums "Tanks - Damage improvements" thread and you'll find what I'm talking about: