For computer game programming use: The damage of an arrow

1. Nov 6, 2011

Kael42

Note, I suspect that there will be many coefficients in this formula, so I will simply use the Greek letter quick symbols on the left, regardless of their common use, as a given constant. The exceptions are sigma σ and pi ∏ and miu μ, as this encompasses the use of normal distributions.

So I was playing the relative newly released game Heroes of Might and Magic 6, and it got me thinking about the damage that any given arrow could do to a living thing.

I am considering making a game where the damage a stack of archers does is dependant on the distance they fire.

My definition of damage, in this case, is in no way dependant on the size of the creature in this case - it can be assumed that all creatures are humans. Damage is also not dependant of where it hits a person. As far as I am concerned, the only factor is a pressure-like variable (explained below). The thing is, a needle with the same kinetic energy as an arrow going into someone will not do as much damage, despite the higher force, as it damages very little matter. On the other hand, a large flat object striking you with that same energy will do little damage, as the pressure is too low to do harm. Therefore there must be an optimum area to strike one with - this will mean that area (A) squared and kinetic energy (Ek) multiplied by a scaling coefficient.
I.e., Damage (D) = ΩEkA2
But, I will also assume that the width of an arrow is a constant, so the area of impact A is a constant, so damage is directly proportional to kinetic energy for these purposes.
I.e., D = Ω2Ek

All arrows and archers are assumed to be identical, and the time of impact of an arrow on the target is the same. Ignore air resistance. Also assume that the arrow strikes its target, if it does, at the same height at which it begins its flight. That is, the arrow when it hits has the same kinetic energy when it strikes as when it was first shot, regardless of the actual height at which it strikes.

For each arrow shot, and one is shot per archer per round, the vertical error angle (∅ve) which equals the difference between the vertical angle at which it is shot and the angle required for the intended distance is normally distributed around μ∅v = 0 with a standard deviation σ∅v of 5 degrees.
The horizontal angle error (∅he) is also normally distributed around μ∅h = 0 with a standard deviation σ∅h of 5 degrees.
The kinetic energy is also normally distributed around a value that is directly proportional to the square of the distance the arrow is intended to go for the angle at which it is shot. This is due to the fact that:

Ek=1/2mv2 which is normally distributed.
1/2m is a constant.
So v2 is normally distributed with a mean μv2 directly proportional to the distance squared.
The standard deviation will be a constant c.

Because the mean value of v is directly proportional to distance, and the angle decreases with distance, there should be a distance at which the damage is most likely to be optimised.

The only variables I will have to use is the distance between the archer stack (the archers in a stack in heroes all take up the same place simultaneously, and they are contained in one discreet square unit on the battlefield) and the target, the angle at which each arrow is shot (normally distributed), and the kinetic energy of that arrow.

From this, I need to find the number of arrows expected to hit the target per round per archer (a value less than one, of course). To strike, it must at some stage be at total vectorial distance (combined distance in all 3 dimensions) no greater than the constant η. This number will be multiplied by the number of archers to find the total number of arrows that strike the target in a round. The number of arrows that hit will be multiplied by the damage D.

As a distribution function, formed of constant coefficients, variables and other distributions, with respect to distance, I need the value of damage from a single volley of arrows.

I tried and failed, but I am eager to see what you geniuses out there can come up with. ^^
I hope you find it as intriguing a problem as I did.

~Kael~