Proposal for new armor system (I apologize for more wall-of-text):

As per yuritch’s suggestion, have armor/penetration separate from hp/damage.

Penetration against armor will take the form of a multiplier to the damage dealt. It’s very simple:

Damage multiplier = penetration / (penetration + armor)

Cost multiplier = sqrt(penetration or armor)

Attack Efficiency = sqrt(armor / penetration) * penetration / (penetration + armor)

(We, of course, are not bound by the cost multiplier; it is just there to provide a reasonable estimate of how much penetration/armor is worth.)

I won’t bore you with lengthy calculations (unless you want me to), but let us examine what this model means:

- If penetration is much less than the target’s armor, the damage multiplier goes linearly with penetration. However, the cost only increases as the square root of the penetration. This penalizes weapons whose penetration is weaker than the armor. In other words, although weaker penetration is cheaper, you can’t buy enough more of them to make up for the reduced penetration.
- If penetration is much more than the target’s armor, the damage multiplier is constant (it levels out to 1). However, the cost keeps increasing as the square root of the penetration. This penalizes weapons whose penetration is greater than the armor. In other words, once you penetrate the armor most of the time, better penetration won’t help you deal damage, but costs more.
- The best weapon is one whose penetration is equal to the target’s armor.

This is all well and good, but how do we relate this to the physical reality? Isn’t this a bit too linear; are we to believe that a shot that is 50% effective against 50 mm of armor is still 33% percent effective against 100 mm? While the above equation is good in terms of computation (one addition and one division), I don’t suggest that we relate armor and penetration to physical thicknesses (which are the most convenient statistics we have to go on) directly. Instead, I propose an exponential transformation:

armor or penetration = exp(2k * thickness)

where k is a quality factor similar to that in the old system. Now our equations look like this:

Damage multiplier = exp(2k * penetration thickness) / (exp(2k * penetration thickness) + exp(2k * armor thickness))

= 1 / (1 + exp(-2k * (penetration thickness - armor thickness)))

Cost multiplier = exp(k * penetration or armor thickness)

Attack Efficiency = exp(-k (penetration thickness - armor thickness)) / (1 + exp(-2k * (penetration thickness - armor thickness)))

= 1 / (exp(k (penetration thickness - armor thickness)) + exp(-k (penetration thickness - armor thickness)))

Zounds! The damage multiplier turned into a logistic curve! Interestingly, the efficiency is now symmetric with penetration thickness about the point where the penetration thickness is the same as the armor thickness. We might use different values of k for armor and penetration, add offsets, etc., although the principle should still work the same.