Jump to content
PiZZADOX

Weapon Damage/ AI health modification

Recommended Posts

How interested would people be in an addon that modifies/enhances damage to the AI units, especially over distances. The aim would be to get to a state comparable to ArmA 2's ACE damages which were usually 1-3 rifle rounds in the chest at short range, or 1 to the head.

ArmA 3's separate body part health system and damage reduction at range results in many cases of AI simply not dying from multiple accurate hits from rifle rounds... I'm sure other people have experienced this. I have already toyed around with damage overhaul systems that detect when rounds enter the spinal cord or head of an enemy,  as well as the angle, speed, and weight of the projectile. The addon would also be aiming to reduce the "twitch" animation the AI perform when being hit.

Share this post


Link to post

I agree with Pizza, over the many years that we've been playing ArmA 3, I've noticed that the AI can take an absurd amount of damage before dying. For example, during Pusta Push I remember shooting the AI up to 10 times in the chest and head before the AI decided he wanted to die. 

Share this post


Link to post

I believe ACE is in the middle of a rework to the medical system, which may help add more realistic damage. Also, it seems that AI with any sort of armor become bullet sponges, but those without armor are killed easily. 

Share this post


Link to post

Gkenny, I have tested the armor factor, and it really isn't consistent. The main thing with the damage system, even in vanilla, is the inconsistency of the damage effects. Sometimes 2 rounds to the chest puts an unarmored fighter down, other times it takes 10+ rounds. Also, the armor seems to have strange effects on the unarmored body parts as well, such as the unarmored face being protected at a higher frequency with chest armor than without, regardless of a helmet.

 

I am very interested in the medical rewrite and I guess we can wait for information from that. Honestly, if they built the existing system without large concern about AI health/ Weapon damage, I can't say I have much hope for the rewrite.

 

edit: the discussions for the medical rewrite on damage seem to imply they aren't changing the rates of damage or the max/min damages to limbs...

Edited by PiZZADOX

Share this post


Link to post

rework to the medical system

 

I just want people to go into a non-recoverable (sans treatment) DBNO state far more often as opposed to being either fine after 10 seconds or insta-death, so medics actually have a real use again.

Edited by JakCurse

Share this post


Link to post

Hi Pizza,

 

as 3.8.0 (I think) intoduced new armour values especially for small calibers you might want to join the ACE3 Slack chatroom.

Many competent people there who will be able to explain to you how specific damage & armour models work once applied to the ingame character/AI & will likely be willing to help you form a foundation for a successful mod.

 

Another thing to include in your observations is the type of bullet you use and the engagement range. AFAIK M855/M855A1/Mk262 and MK318 all have different beheaviour. I am not exactly sure how accurate RHS tries to fit thoose rounds specifications, but if they are close to reality the impact onto gameplay would be quite significant depending on which round is used, especially in MID (200-600m) range engagements. One would need to test that in the ArmA3 editor.

Share this post


Link to post

I've had some conversations, and while I hold some hope for a complete rewrite, there doesn't seem to be a focus on fixing the damage to AI. In fact, there doesn't seem to be much complaint about it. This is completely in contrast to WGL, ACE 1 and 2, and of course reality. I see this as essential... you can't have tactical realism without realism... The damage coefficients simply don't do an adequate job of fixing the problem, as much of the problem seems to be 1) collision with the weapon model if the enemy is in prone 2) lack of lethality of a spinal tap or headshot 3) a large amount of protection from armor even after subsequent rounds 4) errors in the ACE code that infrequently negate all damage - you notice this if you have to shoot one guy an especially ridiculous amount of times.

 

A ceramic plate carrier can stop a few rounds. A few rounds. Sometimes it can only stop one round before disintegrating and becoming useless to further impacts. This behavior can be easily simulated.

 

I have been testing scripts i could make into an addon, and the most satisfying seems to be determining whether or not the round impacts CNS such as head or spine, and whether or not the round is large enough to cause hydrostatic shock. Either of these things would cause instant death. These can be quite easily calculated with a simple eventhandler on top of whatever ACE adds. If I were to publish this I could definitely make it an optional module and adjustable settings.

Share this post


Link to post

Open an issue at ACE3 github with all the evidence you can collect. Properly presented of course.

I am very sure that there are enough contributors at ACE3 to take note of that issue and actually work on it.

Even if you are expecting no outcome, still open an issue. Nothing can be changed if not properly documented.

Share this post


Link to post

I just want people to go into a non-recoverable (sans treatment) DBNO state far more often as opposed to being either fine after 10 seconds or insta-death, so medics actually have a real use again.

That would be basically the revive system. Just that this would be a forced option at all times(at least with current ace, maybe that will change past v4?!).

 

Also, recieving fatal injuries is not a fault of ACE3 but usually the players. Get insta killed? Probably(!!1) should have avoided the situation in which you were able to be insta killed in the first place. Exceptions proof the rule.

 

Also watch this and this (recorded 2014, issues still present more then ever) and ask yourself why so many players die once again.

 

Also medics already have a use, if people would simulate and play properly.

Share this post


Link to post

As far as I know (I checked quite a while ago), unconscoiousness triggers by two independent conditions: low enough blood pressure or high enough pain.

 

It could be a good idea to instead check a function of blood pressure, stamina and pain, so that people who have lost a lot of blood become tired much quicker and if they keep pushing themselves would have a chance of passing out from exhaustion (of course with some visual and audio feedback when getting close to that).

 

I'm not an expert on medical issues, but shouldn't a number of serious wounds, even with bleeding stopped, and normal BP lead to shock, which can aslo be a cause of death/unconsciousness? Right now having a large number of wounds bandaged seems to have a negligible effect on your character, so you can run around with 10 gunshot wounds, as long as you can keep them bandaged and your blood volume refilled.

 

Also worth noting, as many of you may know already, units without armor have a much greater chance of dying after a hit to the chest that those with some protection, even though in both cases the wound type would be similar, the difference being (probably) the round's terminal velocity, which I'm guessing has more of an impact on lethality than it should (probably just a simplification due to lack of enough hitboxes to determine a hit to vital areas).

Share this post


Link to post

As far as I know (I checked quite a while ago), unconscoiousness triggers by two independent conditions: low enough blood pressure or high enough pain.

 

It could be a good idea to instead check a function of blood pressure, stamina and pain, so that people who have lost a lot of blood become tired much quicker and if they keep pushing themselves would have a chance of passing out from exhaustion (of course with some visual and audio feedback when getting close to that).

 

I'm not an expert on medical issues, but shouldn't a number of serious wounds, even with bleeding stopped, and normal BP lead to shock, which can aslo be a cause of death/unconsciousness? Right now having a large number of wounds bandaged seems to have a negligible effect on your character, so you can run around with 10 gunshot wounds, as long as you can keep them bandaged and your blood volume refilled.

 

Also worth noting, as many of you may know already, units without armor have a much greater chance of dying after a hit to the chest that those with some protection, even though in both cases the wound type would be similar, the difference being (probably) the round's terminal velocity, which I'm guessing has more of an impact on lethality than it should (probably just a simplification due to lack of enough hitboxes to determine a hit to vital areas).

 

Yep, pain and blood pressure are the triggers. Tough, blood pressure being a value generated out of blood volume, heart rate and drug interference.

 

Becoming 'tired' ain't really the problem here. Bullets are made to stop humans from operating. AFAIK there are 2 main targets for fight with firearm ammunition 1. Cause so much blood loss that the system collapses and the opponent is stopped 2. Cause so much pain and damage that the opponent goes into shock and looses control of his body. Second is hard to achieve when you body is pumped with go-pills and/or firefight adrenaline.

~ 20% (~1200 ml blood) already cause changes in behaviour of humans. Usually comprehention and actions are delayed, also sometimes the body decides to withdraw blood from specific parts of the body (head, hands, feet etc.). Usually only saline and time is needed for the body to restock to default values.

~30% and higher is the area where the blood loss is so high that our body has complications of restocking the blood volume as it struggles to umkeep basic organic funtions. Loss of conciousness from 27% to 41% blood loss is not unusual, depending on the physical condition of the casualty.

~40% and everything beyond is guaruanteed loss of life if aggressive resusitation is not applied.

 

Instant death is handeled by the damage values by the wounds caused combined with the blood volume of the player. If a combination of wounds deals so or so much damage (to a specific body part) the character is beyond any saving as he is dead immediately even if lots of blood remain in his circulatory system (for example 1-4 rounds straight to the face).

#include "script_component.hpp"

#define INCREASE_CHANCE_HEAD 0.05
#define INCREASE_CHANCE_TORSO 0.03
#define INCREASE_CHANGE_LIMB 0.01

#define CHANGE_FATAL_HEAD 0.7
#define CHANGE_FATAL_TORSO 0.6
#define CHANGE_FATAL_LIMB 0.1

params ["_unit", "_part", ["_withDamage", 0]];

if (!alive _unit) exitWith {true};
if ((vehicle _unit != _unit) && {!alive (vehicle _unit)}) exitWith { true };
if (_part < 0 || _part > 5) exitWith {false};

// Find the correct Damage threshold for unit.
private _damageThreshold = [1,1,1];
if ([_unit] call EFUNC(common,IsPlayer)) then {
    _damageThreshold =_unit getVariable[QGVAR(unitDamageThreshold), [GVAR(playerDamageThreshold), GVAR(playerDamageThreshold), GVAR(playerDamageThreshold) * 1.7]];
} else {
    _damageThreshold =_unit getVariable[QGVAR(unitDamageThreshold), [GVAR(AIDamageThreshold), GVAR(AIDamageThreshold), GVAR(AIDamageThreshold) * 1.7]];
};
_damageThreshold params ["_thresholdHead", "_thresholdTorso",  "_thresholdLimbs"];

private _damageBodyPart = ((_unit getVariable [QGVAR(bodyPartStatus),[0, 0, 0, 0, 0, 0]]) select _part) + _withDamage;

// Check if damage to body part is higher as damage head
if (_part == 0) exitWith {
    private _chanceFatal = CHANGE_FATAL_HEAD + ((INCREASE_CHANCE_HEAD * (_damageBodyPart - _thresholdHead)) * 10);
    (_damageBodyPart >= _thresholdHead && {(_chanceFatal >= random(1))});
};

// Check if damage to body part is higher as damage torso
if (_part == 1) exitWith {
    private _chanceFatal = CHANGE_FATAL_TORSO + ((INCREASE_CHANCE_TORSO * (_damageBodyPart - _thresholdTorso)) * 10);
    (_damageBodyPart >= _thresholdTorso && {(_chanceFatal >= random(1))});
};
// Check if damage to body part is higher as damage limbs
// We use a slightly lower decrease for limbs, as we want any injuries done to those to be less likely to be fatal compared to head shots or torso.
private _chanceFatal = CHANGE_FATAL_LIMB + ((INCREASE_CHANGE_LIMB * (_damageBodyPart - _thresholdLimbs)) * 10);
(_damageBodyPart >= _thresholdLimbs && {(_chanceFatal >= random(1))});

I completely agree on the part with wounds and their shock effect. Impact is currently really badly simulated. If you take a shot to the knee it is unlikely that you will continue to carry 30Kgs+ of shit or are even able to properly walk on you own.

A single wound (even none-threatening) in reallife depending on the psychological condition of the casualty can lead to immediate shock. But I guess that is rather hard to simulate in code. Shock in it self is hard to define. There were people that had arms removed by explosions who did not fell into shock; there have been people falling into shock after loosing a finger. Its difficult.

 

 

Also concerning the hit points, currentley the following are defined and in use:

#define HEAD_SELECTIONS ["face_hub", "neck", "head"]
#define HEAD_HITPOINTS ["hitface", "hitneck", "hithead"]
#define TORSO_SELECTIONS ["pelvis", "spine1", "spine2", "spine3", "body"]
#define TORSO_HITPOINTS ["hitpelvis", "hitabdomen", "hitdiaphragm", "hitchest", "hitbody"]
#define L_ARM_SELECTIONS ["hand_l"]
#define L_ARM_HITPOINTS ["hitleftarm", "hand_l"]
#define R_ARM_SELECTIONS ["hand_r"]
#define R_ARM_HITPOINTS ["hitrightarm", "hand_r"]
#define L_LEG_SELECTIONS ["leg_l"]
#define L_LEG_HITPOINTS ["hitleftleg", "leg_l"]
#define R_LEG_SELECTIONS ["leg_r"]
#define R_LEG_HITPOINTS ["hitrightleg", "leg_r"]

KR Pax

Share this post


Link to post

Also, recieving fatal injuries is not a fault of ACE3 but usually the players. Get insta killed? Probably(!!1) should have avoided the situation in which you were able to be insta killed in the first place. Exceptions proof the rule.

 

 

I'm talking about getting shot (which playing "properly" doesn't help with- people get shot) and either dying instantly or being able to throw a few field dressings on and trot away, maybe ask a medic for stitches if it opens up.

 

 

Also medics already have a use, if people would simulate and play properly.

 

 

Explain

Edited by JakCurse

Share this post


Link to post

 

Also, recieving fatal injuries is not a fault of ACE3 but usually the players. Get insta killed? Probably(!!1) should have avoided the situation in which you were able to be insta killed in the first place. Exceptions proof the rule.

 

I have to agree with Jak. It's absurd to to believe that every mission one plays on UO can be played without taking any casualties. Even the best leaders at UO have led missions where a portion of their force took substantial casualties. In a COOP, one can't always help being headshotted by an AI 600m away and during a TVT one or both forces will be decimated. 

Share this post


Link to post

I have to agree with Jak. It's absurd to to believe that every mission one plays on UO can be played without taking any casualties. Even the best leaders at UO have led missions where a portion of their force took substantial casualties. In a COOP, one can't always help being headshotted by an AI 600m away and during a TVT one or both forces will be decimated. 

 

the headshotting at 600m with iron sight weapons (the weapons dont especially matter for AI anyways) was always a problem and most likely always will be unless they switch engines or run some beefy AI scripts. The main issue I have is that at range, we are useless against AI. Up close, the AI is so dumb and the damage model problems can be avoided by shooting many, many rounds at people. It's the standoff distances in which we can take multiple casualties while not being able to cause significant casualties on the AI yet we supposedly have the weapons with further effective ranges, which of course forces our hands in terms of tactical choices.

Share this post


Link to post

I have to agree with Jak. It's absurd to to believe that every mission one plays on UO can be played without taking any casualties. Even the best leaders at UO have led missions where a portion of their force took substantial casualties. In a COOP, one can't always help being headshotted by an AI 600m away and during a TVT one or both forces will be decimated. 

 

Sorry, I should have elaborated that I was pointing to avoidable incidents. That there are casualties no matter what is a fact. Also failures are made, nothing to change there.

It is avoidable to be a retard that sends his squads 400m across open fields into enemy MG emplacements, when there are half a dozen better approaches. That type of avoidable incidents.

You can level that down to individual level es well. Use fucking character stances. You got no idea how many people I see presenting themselves on left corners.

 

@Pizza, will you make an issue for all that ACE stuff and the improvements named by you?

Edited by PaxJaromeMalues

Share this post


Link to post

@Pizza, will you make an issue for all that ACE stuff and the improvements named by you?

 

 

Yes, I am compiling some footage and tests in a more controlled manner. As well as some other changes like the ability to use AT launchers in prone, which I am almost done making.

Share this post


Link to post

Funny enough playing a mission yesterday we found that we had to put +5 rounds into a vdv soldier at close range for him to drop. I think it's a little over the top, especially when they only have to put one or two rounds into us. 

Share this post


Link to post

You got no idea how many people I see presenting themselves on left corners.

 

 

Ctrl + A. Still not a medical issue.

Edited by JakCurse

Share this post


Link to post

 

 

In the first video the initial shots hit the arm, and once bullets land in the torso the AI dies rapidly. The second video has shots aimed for the legs and not the torso which results in the AI taking many rounds to die.

 

The third video does not appear to be on a UO sever, so no comment.

 

The fourth video shows several AI dying from a single aimed burst from an LMG. The AI that did not die was fired upon at a rapid rate from an LMG. The first bursts missed be a wide margin, and once the fire is put on target the rapid rate of fire combined with an LMG spread makes the fire have a large spread.

 

A short overview of the ACE medical code shows that it treats both players and AI the same, unless ACE Medical is configured to. From the UO wiki ACE Medical is configured to tread AI and players the same. These values appear to be set by a serverside addon, so to test ACE Medical damage they must be set manually.

 

Basic testing has unarmoured AI being critically injured from one to three shots to the torso and one or two shots to the head. The times it took two shots to the head the first bullet appeared to have grazed rather than hit dead on.

 

Against RHS Russians with 6B23 vest it took one to five shots to the torso to critically injure them.

 

The testing was done using CBA bullet tracking, getAllHitPointsDamage, and ACE Medical values set according to the ACE Server Config. Shots were fired from approximately 300 meters with an M16.

 

The bullet tracing and getAllHitPointsDamage showed many shots which appeared to hit the head or torso either missed by a narrow margin or impacted another body part. It also showed an increase in hits to the extremities when firing at a rapid rate, rather than aimed shots taken at a standard rate.

 

This is all consistent with the videos shown. AI are killed from shots to the head and torso, but do not die from shots to the extremities. When firing at a rapid rate more shots hit the extremities which means more rounds are required to kill.

 

Can anyone reproduce damage issues in a controlled environment?

Share this post


Link to post

It is true there is a big difference between the instant lethality of a round and an incapacitation... I don't feel ACE medical treats this correctly and we will have to wait and see for the rewrite. However, having AI have the ability to make calculated shots while being shot in the face/torso/arm whatever is a little much. The way the current system is, it's basically you have to pump them full of rounds until they stop shooting at you, or instantaneously morph into the very obvious unconscious animation. It makes it so even thought you can get the first shot off at them, it doesnt always mean you will win that 1v1 firefight. In longer range engagements, it pretty much means you are dodging accurate AI shots that can kill you easily while throwing lead into a single AI until he dies finally, then moving on the other one.

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

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.


×
×
  • Create New...