• Please make sure you are familiar with the forum rules. You can find them here: https://forums.tripwireinteractive.com/index.php?threads/forum-rules.2334636/

Armor Penetration Performance vs. Range to Target?

jeffduquette

Grizzled Veteran
Feb 19, 2008
339
1
Perhaps this isn't the right part of the forum to ask this question as I am not modding anything. But it seems like those that actually know something about the design mechanics of RO typical read and post here.

So I was reading something that I admit I may have misunderstood, but the gist was that within the RO game system, range between firing tank and target tank has no real effect on penetration capability of a given AP projectile. Is this true?

Thanks
 
False. Range does impact penetration probability in RO code

Semi incorrect.

The PenetrationNumber of a projectile in RO decreases at increasing ranges (ie: becomes less likely to penetrate further one).

Shurek is correct that angle of incident does affect the probility of penetration.

The Penetrating ability relating to Velocity of a projectile is built into the penetration number.

RO's Penetration Numbers for Range work on a stepped system.

For example:

PanzerIVF2CannonShell said:
// PanzerIV F2
PenetrationTable(0)=18
PenetrationTable(1)=17
PenetrationTable(2)=17
PenetrationTable(3)=17
PenetrationTable(4)=17
PenetrationTable(5)=16
PenetrationTable(6)=16
PenetrationTable(7)=15
PenetrationTable(8)=15
PenetrationTable(9)=14
PenetrationTable(10)=14


Now, what -would- be a correct statement would be that the penetration factor of a target at 75meters is NOT different then one at 55m. (basically, all ranges within a PenetrationTable step are treated as the same penetration number)
 
Upvote 0
Here is the range breakdown for the Penetration Table
Code:
    local float MeterDistance;

    MeterDistance = VSize(Distance)/52.48;

    if( MeterDistance < 25)            return PenetrationTable[0]*1.5;
    else if ( MeterDistance < 50)    return PenetrationTable[0];
    else if ( MeterDistance < 100)    return PenetrationTable[1];
    else if ( MeterDistance < 300)    return PenetrationTable[2];
    else if ( MeterDistance < 600)    return PenetrationTable[3];
    else if ( MeterDistance < 900)    return PenetrationTable[4];
    else if ( MeterDistance < 1200)    return PenetrationTable[5];
    else if ( MeterDistance < 1500)    return PenetrationTable[6];
    else if ( MeterDistance < 1800)    return PenetrationTable[7];
    else if ( MeterDistance < 2100)    return PenetrationTable[8];
    else if ( MeterDistance < 2400)    return PenetrationTable[9];
    else if ( MeterDistance < 2700)    return PenetrationTable[10];
    else                             return PenetrationTable[10];

"Just a follow up, but why do game designers always feel the need to use some type of factor to deal with armor and AP projectile penetration capability. Why not use actual (nominal) plate thickness and actual projectile penetration values -- V50 values? Why water it down into some sort of weirdo factor?"


Many of us having been asking that same question for years :) I think Amizaur tried to bring this more in line with his last version of AB, and I know he wanted to continue refining it for the next version, but I think he's moved on from RO :(
 
Last edited:
Upvote 0
"Just a follow up, but why do game designers always feel the need to use some type of factor to deal with armor and AP projectile penetration capability. Why not use actual (nominal) plate thickness and actual projectile penetration values -- V50 values? Why water it down into some sort of weirdo factor?"[/B]

Well it's not like they are made up numbers. They are 'boiled down' numbers from published (and unpublished? Alan is crafty that way) documents

From what I was able to reverse engineer back in Spring 06;
The starting point of Stock RO armor values are as simple as: (relative armor thickness) / 10.
The penetration numbers of Stock RO seem to be approximated as: Pene@30 FHA * .2.
Of course many of the numbers been adjusted up/down a bit from their base calcs. Not everything is simple.

And of course have the standard disclaimer that not all armor is tested in the same circumstances, not every nation uses a 50% Penetration change, and some nations define how much of a projectile has to penetration differently.

And to be fair to game designers, even if you just did ArmorInMM and PenetrationInMM, you'd still be using a really abstract way of dealing with guns and armor anyway. There's really SO much more to it.
The point comes though, as a game designer, two things:
1- How much time/effort/money do i want to put into this element
2- how much benefit would that give?
(ie: if someone spent 10,000 more man hours on fleshing out the Armor Penetration system, how much net-effect would it give players?)


Sure RO isn't Steel Beasts or something, but it's still miles ahead of the simplified 'armor' system found in online games like the Battlefield franchise.


<shameless plug>
Right now for MN; I'm actually in the middle of prototyping a new way of taking into account some of the additional elements of armor and a different set of numbers used in determining penetration. It's still in the works, but if it turns out to work well and match up decently with real-world tests and real-world evidence, it'll make it's way in a future MN release.
</shameless plug>
 
Upvote 0
Hi Drax:

Yes different countries used different penetration\perforation criteria. The point is to normalize data to a common basis. A V50 values is as good as any mark for creating an equal playing field and it is of course the basis for most modern penetration testing criteria. Moreover other far ranging success\failure criteria that we were seeing circa-WWII have fallen by the way side in favor of V50 success\failure criteria – or better residual penetrator velocity.

But of course any perforation criteria would work -- be it V20, V80 or V100. It is simply a question of consistently applying one failure\success criteria to all projectiles vs. plate values. The difference between V50 and V80 perforation probability and for example German GS and GD limits or U.K. CV and W/R limits are far less significant than you think or that some may imply. Those that have not studied the question in depth seem to get hung up on this idea and like to throw it out as some sort of obstacle. It is of course not any sort of obstacle except in the minds of the innumerate.

As to proportion of projectile passing a plate, this is typically tied to behind armor effectiveness and/or effectiveness of the bursting charge for armor piercing shells. Behind armor effectiveness is typically measured now days in terms of Protection limits and witness plates placed behind the basal armor. On the other hand fragmentation and incendiary effects of bursting charge was pretty hit or miss depending upon base fuze action. But behind armor effects are also closely tied to perforation location relative to fighting compartment or engine compartment critical components and/or ammunition. Behind armor fragmentation – be the fragmentation from projectile head shattering and plate spall; or high order functioning of a bursting charge within the confines of the fighting compartment – will have far more influence on vehicle P(k) if the perforation occurs adjacent to ready racks than if the perforation location is far removed from the ready racks -- etc.

My comment is more directed toward building a system from the ground up, rather than trying to adapt a more “realistic” system to an existing game design. I have no doubt the original RO approach used by Alan for armor and armor penetration has a basis in commonly available penetration data. I also suspect he was constrained by the game engine being employed for RO. But I see no advantage to convoluting actual plate thickness and penetration capability with “factors”. In other words I see no advantage in using a “factor” for armor thickness as opposed to an actual plate thickness.

If the goal of the game design is realism, than the question of armor and armor penetration should be considered in-depth. How much would it add to a game -- a great deal in my opinion. You only have to look at the number of threads on this forum that are directed at armor penetration. I'd also ask the purpose of developing mutators ala Amizaur's work and your own work with MN if there isn't a great deal of interest in seeing tanks and armor modeled in a more realistic manner within the game. I certainly grew tired of the treatment of slope effects in the stock version of RO and have a hard time not pulling my hair out anytime I play on an RO server that doesn't employ the AB mutator.

Best regards
Jeff
 
Last edited:
Upvote 0
I'd also ask the purpose of developing mutators ala Amizaur's work and your own work with MN if there isn't a great deal of interest in seeing tanks and armor modeled in a more realistic manner within the game.

Absolutely there is value in it; I didn't say there wasn't.. I just stated that there's a cost/benefit analysis involved.
I think we can all admit that modeling VERY realistic tank penetration systems would take alot of manhours.. both in raw programming, art, and also extensive research on the topic. Tank Armor and how to defeat it is a big rabbit hole you can spend alot of time in. Maybe I'm just a lay person in comparison, since I'm primarily a programmer by trade and not a Ballistics Weapons Expert, but that's how I see it.

My work on tweaking the armor system for MN stems from the need to have looked at the values we had and get more accurate ones.. as such I think I identified a neat way of making it alittle more 'realistic' without all that much effort on my part.. will it work.. sure.. will it be fun? dunno. we'll see.


Ok that said..
---------------------------

As for making an 'Armor Factor' or a 'Penetration Table'.. that's just a number.. if it was mm of armor, then sure.. then your AF == mmArmor.

However;

Armor Factor is so you can say "X will penetrate Y". Since not all projectiles and armors are created equal, you have to do something to normalize all those values so you CAN say "X > Y".

For example if you standardize on your armor as "mm of 300BHN 1941 german army spec RHA equivalent plate"; you'd have to convert all your numbers into that format, which may or may not look like the original mm of armor. (since 50mm of German FHA != 50mm German RHA != 50mm Soviet Cast != 50mm mild steel).

Also if you were to do something like incorporate alittle bit of the 'German Plate at this time wasn't as good as German plate earlier on', then again, you can no longer use JUST mm of armor.

You would then repeat the process with projectiles, normalizing them to some factor, and also figuring out what you want to do about projectiles without any /HE component (ie: HEAT jets, APCR, and the solid-AP). So you have to boil that into the number some how. What about projectiles with _only_ HE? Surely if I hit a T-70 with a 88mm HE, I'll do -something- to it..

The alternative would be to create a fairly large lookup table that has a Yes/No grid of every type of round vs every type of tank, at certain ranges, and particular hit-locations. This would be a ***** to maintain and wouldn't be very add-on-tank friendly. For TC mods or mutators, it could be managed, but it'd still be ugly, and I wouldn't want to do it.

So basically AF and PF are ways of normalizing the data. Does that make them largely imaginary numbers? absolutely. There's alot of interpretation left to the designer.


---------------

If the system we designed ground up to be 100% realistic.. it'd be interesting. I'd definitely give it a try.
Doing such a think is beyond my meager knowledge of armor systems and penetration in ww2.. could I learn.. sure.. but I don't have that sort of time.
So I definitely wish anyone doing it the best.
 
Last edited:
Upvote 0
Hi Drax:


If I am reading Shurek’s above post correctly, the RO engine is already using lookup tables. IF blah blah blah, THAN penetration table 1, IF yak yak yak THAN Table-2, etc. This sort of information could have been resolved in terms of IF Range-1 THAN Equation-1. Presto. Solve the problem with regression. That to me would be preferable, but if LOOKUP tables are more conducive to the programmers foibles\style than that can be easily done too.

As to contrast in armor types; armor quality; projectile quality, etc. this is where modifying "factors" would have to come into play. But these can very easily be encompassed within the same base regression equations. The base functions employed need to incorporate those parameters that are of most importance to the resultant. No tables needed aside from base data particular to a given vehicle. The only reason for use of tables for “combat” resolution – at least in my mind -- is to study empirical data with the intent of resolving into regression equations. The later would, in my opinion be far more useful than lookup tables. But the regression equations can easily be constructed based upon real armor thickness and real penetration data. There is no advantage in my mind to developing a set of regression equations based upon something other than nominal plate thickness and nominal penetration values. As a start the parameters of most importance would invariably be:

Impact Velocity
Projectile Caliber
Plate Thickness
Obliquity

Someone is gonna wanna say mass – no need ;)

85% to 90% of the resultant will be directly attributable to the above parameters. The remaining 10% to 15% is whistles and bells regarding contrast in performance of HHA over RHA over Cast, plate quality, projectile quality or whatever other nit picks one might think has some importance to the results.

This is only a rabbit hole if one subscribes to the sort of nonsense that one all to often comes across on the internet. Granted, the complexity of the problem has to be understood before someone can realistically hope to simplify things to their lowest common denominator. Years of study and years of accumulating data and years of looking at trends -- a weird hobby but we all have to do something after work ;). I think it is the wrong attitude to start by saying the problem is too complex and therefore I have to simplify things. If the problem is not understood based upon an individual’s knowledge base, than that someone shouldn’t be trying to simplify things or make them “more realistic”. All they are really doing is convoluting things and perpetuating error.

As an aside, are armor values with RO being adjusted for quality and type?

Regards
Jeff
 
Last edited:
Upvote 0
As an aside, are armor values with RO being adjusted for quality and type?

No idea. I didn't do those numbers; my information only comes from what I reversed engineered a few years ago, and I just found something that got me close to what RO's values were; mostly so I could use it as a starting point for generating my own values for British armor.

I would guess beyond the first simple "armor mm / 10" that the numbers are adjusted up/down for a number of reasons.. most of which is probably anecdotal evidence and/or gameplay experience.


Just a clarification on 'Look up tables':
Correct, RO is using a basic Penetration Table to get a number, the row of which is determined by range to target... for the ugly part, I meant something to the effect of one giant table to handle Range/Armor/Projectile/DamageLocation, which would be the fast way to calculated penetration probabibilities without to much calculation.

---

And I agree that those 4 factors would take into account a good majority of all projectiles used in the AT role in ww2.

When I mean rabbit hole, I mean that I wouldn't feel comfortable trying to model something I would brand as a "Realistic WW2 Armor System" without me personally knowing a WHOLE lot more about metallurgy, math, physics, Ballistic weapon technology, and also some serious hardcore historians. Until then, I'll have to make due with abstraction.
 
Upvote 0
<shameless plug>
Right now for MN; I'm actually in the middle of prototyping a new way of taking into account some of the additional elements of armor and a different set of numbers used in determining penetration. It's still in the works, but if it turns out to work well and match up decently with real-world tests and real-world evidence, it'll make it's way in a future MN release.
</shameless plug>


Plug away! This sounds pretty cool.
 
Upvote 0
I hope this may help

I hope this may help

Right now for MN; I'm actually in the middle of prototyping a new way of taking into account some of the additional elements of armor and a different set of numbers used in determining penetration. It's still in the works, but if it turns out to work well and match up decently with real-world tests and real-world evidence, it'll make it's way in a future MN release.

Jacob de Marre equation is a convenient way to resolve this very complex penetration issue. But we need to adjust some variables to get approximate results.

The equation is below:

b*K^1.43*secα^n=V^1.43*m^0.715/d^1.07

b: the armor thickness, eg. panther upper glacis =85mm
In russian and allied tests it's 85mm while in some recources it's 80mm.

K:the quality of armor ,it depends on both BHN(hardness) and toughness. Toughness is relative to steel ductibility. A good armor is the combination of good haedness and good toughness while these two usually conflict each other. Very high BHN armor is usually brittle when hit by a large caliber/hard projectile so high hardness is NOT always a good thing for armor.

Toughness depends on not only armor itself characters determined in armor's production process, but also the way we use it. For example , T34's 47mm front armor has very high hardness aound 400 BHN(I can't remember exactly.), so T34's armor is brittle, however, this armor is 60 degree sloped, which means the high sloped amor (47mm/60d) stretch ablility is much better than vertical one (47mm/0d). By this means, we improve the toughness of a brittle amor. Of course, the projectile'a caliber can also impact the toughness performence of armor because armor need more stretch ability to cope with larger caliber projectile.
It's easy to understand: when you double the caliber, the hitting area on targert is 4 times as before, but the projectile weight is 8 times bigger(approximately). We called this phenomenon as scale effect. Therefore, the T34's front amor has both good hardness and good toughness when facing small caliber projectile(40mm,50mm,57mm) but handling german 88mm shell is another story.



α: actual angle between projectile trace and armor normal direction, e.g Panther's upper glacis sloped angle is 55 degree from vertical, but the actual angle is determined by both sloped angle and side way angle.
If we fire a panther glacis from 30 degree side way, that is to say we are in panther's 11 or 1clock. The actual angle α is calculated by this equation.

cosα=cosβ*cosγ

β, sloped angle, 55 degree for panther
γ,side way angle, 30 degree in this story

α=60.2 degree.

Since is trigonometric function is NOT linear, changing 55d to 60.2 d, the 85mm armor can get much much more stopping power than changing it from 20d to 25d.

In WWII, in my opinion, the most effective slope angle is from 50d to 60 d, with these angles, the extra slope efffect is maximized.

n:slope coefficiency It 's a very complex factor. "n" is always bigger than 1, if n<=1, the T34/panther designers=idiots. To be frank, the most complicated issue in sloped armor penetration is the determination of "n". I'll talk about "n" later.


v: projectile residual velocity At 0m, v=muzzle velocity, the residual velocity is important and determined by projectile's weight and aerodynamics shape(ballistic coeffeciency?).

m: projectile mass

d: projectile caliber


The Left side of Jacob de Marre equation is sloped armor's stopping power, the right side is projectile's penetration power. If right side >left side,the armor penetrated.


"n" is relevant to many factors, such as projectile hardness(BHN),shape and T/D.
T/D is the ratio of armor thickness to caliber.
Jacob de Marre equation is of 19 century when sharp tip,solid shell were popular, but in WWII, sharp tip projectile was obsolete. So it's very hard to calculate the "n" of most WWII projectiles.

For steel,sharp tip, solid AP shell:
n=[-0.08*(T/D)^2+0.66*(T/D)+0.52]/0.7

Note that n>=1, when n=1, the armor is vertical. If n<1, the desginers of sloped armor in WWII are idiots because the steel consuming of b(mm)/α(degree)sloped armor is nearly same as b/cosα (mm) vertical armor. Sloped armor designers in WWII are not idiots, so real equivalen thickness must be bigger than b/cosα (mm), furthermore, APCBC,APBC's designers are not idiot either, so real equivalen thickness must be smaller than de Marre result.

The boundary of real equivalent thickness is below:
(b/cosα, de Marre result)

We can estimate the real equivalent thickness by average: (b/cosα+de Marre result)/2.


For example, when 85mm/55d armor hit by a 122mm APBC shell, the boundary is (148mm,179mm),average is 164mm. The caculation error is within 5-10mm! because the real equivalent thickness must be far from the upper limit and lower limit, otherwise the design of both sloped armor and apcbc/apbc are meaningless.

Fortunately, russian 122mm D25T gun's BR471 (AP)projectile is exactly the solid,sharp tip shell, and BR471 is perfectly suitable for de marre equation. You can check the accuracy of de marre equation by inputing 30 degree penetration data.

Last but not least, the thickness is relevant to armor quality. For thiner armors such as from 40 to 152mm, they can be treated to a high BHN level, of course, the process is time/cost consuming ; those thick armors can hardly be treated to high BHN. That's why elephant front armor is consist of two 100mm armor.

So the 152mm+ mumbers on penetration table are misleading us. For example, the allied/german APCR penetration and US 90mmL70 apcbc, german 88mmL71 apcbc,etc.

For a specific projectile, everything else being equal, the penetration is directly proportional to V^1.43. This can explain the kwk43 is overmodelled.

In WWII, the most successful sloped design is 50-60 degree, 80-120mm thick.Those sloped armor designs have two advantages:

1) the extra sloped effect. (n>1)
2) can use thiner armor with high quality


In RO, we can adjust "k" for different armors and "n" for different projectiles by checking the WWII combat and test reports.


For example, by checking histotical performance, we determine the StugIII's front armor quality, k=2400( just an assumption), 800m away , StugIII's 11 clock. a T34-85 fire a APBC shell and hit the front armor.

Computer will input the APBC' shell's residual velocity, mass, caliber and calculate the penetration power=P, on the other hand, input armor thickness, actual angle, k, and n to calculate the stopping power=S, if P>S, armor penetrated.

BTW, russian never used apcbc shell in WWII, and every T34-85 in 1944 had 4 APCR shells. So the shell types in RO is not enough. And most shells are supersonic, so tanks get hit at first, then gamers hear the sound. isn't it?










 

Attachments

  • WWII PENETRATION.zip
    2.5 KB · Views: 0
Last edited:
Upvote 0
DeMarre used correctly is fine. But realize that the DeMarre coefficient ‘K’ varies not only with impact velocity, but with obliquity. In other words, back calculating ‘K’ as you are doing in your spreadsheet from known 30-degress Dattenblatte information yields an accurate ‘K’ value for that particular obliquity and impact velocity. It is not particularly accurate to use that same 'K' to predict what will happen at 0-degrees or 60-degrees. And to be precise the kwk version of 88mmL56 is reported as being capable of 120mm of RHA @ 30-dgrees @ a range of 100-meters. In other the words the residual velocity used to back calculate ‘K’ should be the residual velocity at 100meters (~771m/s) – not the muzzle velocity. A minor nit pick, but proper determination of the DeMarre coefficient will make or brake the relative accuracy of predictions from the DeMarre Equation -- be these critical valocity calcs, critical obliquity, plate thickness penetrated, etc. It is why so many people turn their noses up at DeMarre. They think one K value can be used for all projectile vs. plate calcs. This is of course not the case. The lion’s share of error involved with casual use of the DeMarre Equation will result from the assumption that ‘K’ is a constant.

The aspect of your spreadsheet that is rather unclear is what you are trying to do with the averaged line of sight plate thickness. Are you trying to develop plate resistance in terms of an equivalent thickness at 0-degrees obliquity? In other words are you saying that the 147.19mm is the imaginary resistance thickness a Panther Glacis would have against 122mm APBC when normalized to zero degree obliquity? I suppose this is sort of interesting, but I would need to know why you were doing this before determining its accuracy.

That aside your function for determining your exponent “n” based upon t/d will not be the same function for say plain Jane AP vs. RHA or APCBC vs. Cast, or HVAP vs. RHA, etc. etc. etc.
 
Last edited:
Upvote 0