I must be doing something wrong.

jwo7777777

New Member
My AI are too resilient. I have to shoot em in the head or hit them in the body with 7.62 about 8 times or dump 2 clips of stanag into them. I can't kill them by running over them. It just knocks them out for about ten seconds. I spent a good half a minute running over a survivor 10 times and he just got back up. Over and over ....
 
How is your server FPS doing? The AI die when their calculated blood level falls to zero or below, so if the server is sluggish it may take slightly longer to calculate, but it shouldn't be anything absurd. Collision damage is intentionally reduced to make it more difficult to kill AI by driving over them and prevent them from dying from falls.
 
Strange. My test server is an 8 year old laptop with a dual core CPU and 2gb RAM and I've never had this happen. Server fps is a constant 48. There's little I can do about it right now but I'll be on the lookout for possible causes.

Sent from my Nexus 5 using Tapatalk
 
I am going to look at the following. May take a few days.:
1) Game difficulty settings (regular, veteran, etc...)
2) Event handlers attached to the AI.
3) Server PBO vs. mission file method
 
The issue could possibly be server hardware related, if your hardware is anything like mine. Because DZAI loads all required functions into memory instead of using execvm repeatedly, the most likely limiting factor would be the CPU.

It should not matter whether you install into the server or mission pbo since code is code and runs the same no matter where its called from. After the code is compiled and stored into memory, the installation method should not matter at all.

The only event handler used is the handle damage eventhandler that calculates blood damage. It doesn't do much other than some math calculations and kill the unit when its blood hits zero.



Sent from my Nexus 5 using Tapatalk
 
I double checked. My server is running a solid 50fps no matter what is going on.

Code:
"DEBUG :: Unit R 1-1-I:1 took 714.226 blood damage (Total blood: 11285.8)."
"DEBUG :: Unit R 1-1-I:1 took 561.302 blood damage (Total blood: 10724.5)."
"DEBUG :: Unit R 1-1-I:1 took 1314.35 blood damage (Total blood: 9410.12)."
"DEBUG :: Unit R 1-1-I:1 took 591.979 blood damage (Total blood: 8818.14)."
"DEBUG :: Unit R 1-1-I:1 took 516.602 blood damage (Total blood: 8301.54)."
"DEBUG :: Unit R 1-1-I:1 took 755.083 blood damage (Total blood: 7546.46)."
"DEBUG :: Unit R 1-1-I:1 took 1719.13 blood damage (Total blood: 5827.33)."
"DEBUG :: Unit R 1-1-I:1 took 750.576 blood damage (Total blood: 5076.76)."
"DEBUG :: Unit R 1-1-I:1 took 1804.95 blood damage (Total blood: 3271.81)."
"DEBUG :: Unit R 1-1-I:1 took 1037.54 blood damage (Total blood: 2234.26)."
"DEBUG :: Unit R 1-1-I:1 took 912.847 blood damage (Total blood: 1321.42)."
"DEBUG :: Unit R 1-1-I:4 took 619.376 blood damage (Total blood: 11380.6)."
"DEBUG :: Unit R 1-1-I:4 took 616.685 blood damage (Total blood: 10763.9)."
"DEBUG :: Unit R 1-1-I:4 took 1453.64 blood damage (Total blood: 9310.3)."
"DEBUG :: Unit R 1-1-I:4 took 620.202 blood damage (Total blood: 8690.1)."
"DEBUG :: Unit R 1-1-I:4 took 1607.38 blood damage (Total blood: 7082.72)."
"DEBUG :: Unit R 1-1-I:4 took 618.753 blood damage (Total blood: 6463.97)."
"DEBUG :: Unit R 1-1-I:4 took 959.811 blood damage (Total blood: 5504.16)."
"DEBUG :: Unit R 1-1-I:4 took 1462.45 blood damage (Total blood: 4041.7)."

I turned on the diag_log function in the fn_damageHandlerAI2.sqf
I ran into a patrol. One dirving a UAZ and others on foot.
Shot unit1-1-I:1, the driver, several times from Sa-58V ACOG (shoots 7.62x39 ball) no head shots.
Same with 1-1-I:4, on foot not far behind. Eventually the driver stopped (passed out?), but unit 4 kept right on going.
Range was around 100 ~ 150m.

Either this gun has issues, 7.62 ammo has issues, or blood damage needs tweaking. This gun should at least be a two shot kill.
What is up with the math, anyway? The first shot does 714.226. Assuming that is a player fired round, the scale number would be 1100, so the damage suggested by arma's engine is 714.226/1100 = 0.65 (approx.) Based on a scale of 0~1, with 0 being no damage and 1 being dead, that is in line with a two body shot kill, so why only 714.226 blood damage out of 12000?

It seems as though the AI is ten times tougher than a normal player.
 
The blood damage looks low because its split into 5 instances of damage per bullet. If you cross reference with the player damage event handler you will see that the blood damage calculations are basically the same.
 
I reviewed the dayz code and was going to rewrite my diatribe. But let it be. I am not perfect in understanding, nor am I ashamed in my ignorance. Sorry for draining your time.

In dayz getting shot/mauled and going into bleedout is a big deal. You will lose 16 ~ 90% of your total blood over the next 5 minutes or so if you do not bandage (depends on standing, kneeling, crawling and some randomness). This is a part of the damage model that the DZAI do not address presently. Not sure that it should. Maybe a shot AI should have its courage nuked for 1 minute instead. That way when shot they all won't stand like statues returning fire when they should be tending virtual wounds.
 
The AI knockout system is meant to compensate for the increased durability that the blood health system brings. A guaranteed 12.5-25 seconds (15-30 in 1.9.7) of unconsciousness time is more than enough to inflict a killing blow.

I too would like to implement a player-like bleeding system for AI, but I have to keep in mind the potential performance costs considering the amount of AI units that could possibly be active at any one time. Processing ticks of blood damage every second for multiple units (and calculating the appropriate amount of bleed damage) has the potential of seriously racking up performance costs with high AI numbers.

From watching several DayZ streams, the majority of player vs. player action ends as soon as one player is knocked out, and very rarely do they ever drag out for bleed damage to play a part in their deaths. Therefore for the sake of simplification and performance, I stripped down the blood damage system to its bare essentials along with unconsciousness as compensation.
 
FWIW I haven't seen this issue after killing probably thousands of the little bastards on my server. :D This is using stock Epoch 1.0.x with AI helis (no land vehicles).
 
Back
Top