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)
https://community.bistudio.com/wiki/Arma_3_Damage_Description#Damage_vs._Penetration
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 https://feedback.bistudio.com/T116969).
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 https://feedback.bistudio.com/T116969
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.