Jump to content
IL-2 Series Forum

Recommended Posts

Posted (edited)

🛠️ GUNS_revision_v0.1 — Returning to the Physics of Damage

Hello pilots!

I'd like to present my new project, which I'm developing together with my virtual analyst. This isn't just another set of tweaked numbers, but an attempt at a systematic revision of ballistics and high-explosive damage for aircraft ammunition in IL-2 Great Battles.

1️⃣ What the mod does (in brief)

GUNS_revision_v0.1 recalculates the damage parameters for high-explosive (HE) shells of all calibers based on a unified physical model. It uses real shell characteristics (mass, explosive filler mass, explosive type) and physical formulas: the Gurney equation for calculating fragment velocities, and empirical relationships for blast effects.

The result: Damage becomes predictable and historically accurate. Cannons no longer feel like pea-shooters or "overpowered lasers" – they perform as they should in reality.


2️⃣ How we arrived at these values

The mod development followed several steps, grounded in analysis of game files and comparison with physical laws.

  1. Unpacking .gtp files: Using the unGTP-IL2 utility, we extracted the game files and gained access to explosion configurations (*_object.txt). These files contain key parameters: Radius (damage radius), ArmorFoug (blast effect), ShrapnelQuantity (number of fragments), FragmentMass (fragment mass), and ArmorShr (fragment effect).

  2. Deriving an empirical coefficient: For large calibers, where the damage was likely calculated correctly, we derived an empirical coefficient K = Damage / √m_he. The average value for reference shells (45mm, 50mm, NS-37) was K ≈ 465. This became our "constant" to evaluate how well any given shell fits the overall logic.

     
     
    Shell HE filler (g) In-game damage (0mm armor) Coefficient K
    45mm 20-K 135 5362 ~461
    50mm KwK 39 175 6206 ~469
    NS-37 35 2486 (original) ~420
  3. Discovering systematic underperformance: Comparing calculated values with in-game values revealed a clear pattern:

    • For 20–25 mm calibers, blast damage is reduced by 15–30% compared to the formula.

    • For 76–88 mm calibers, damage is actually overstated by 10–15% (likely for visual spectacle).

    • Fragment mass for most shells is understated by a factor of 2–3, while their penetration is overstated.

  4. Recalculating fragment effects: To calculate fragment initial velocity, we used the Gurney equation (V = √(2E) * √(β / (1 + 0.5β))), where β = m_he / m_case, and √(2E) is the explosive constant (≈2370 m/s for TNT, ≈2850 m/s for PETN). We also applied empirical fragmentation coefficients to determine the proportion of the casing mass that turns into effective fragments (0.15–0.25 for thick-walled shells, 0.50–0.70 for thin-walled "mine" shells).

  5. Adjusting fragment penetration: We corrected ArmorShr parameters so that fragment penetration matches their actual mass and velocity, using the De Marre equation and data on aircraft skin thickness (duralumin 1–2 mm, plywood 3–5 mm).


3️⃣ What's already done for version 0.1

The current version includes corrections for the following shell types:

 
 
Category Shells Status
Soviet HE ShVAK (early/late), VYa-23, NS-37, 76mm F-34, 76mm 34-K Done
German HE Minengeschoß (MG 151/20), MK 108, BK 3.7, Pak 35/36, 88mm Flak 37 Done
British HE Hispano Mk.II Done
Machine guns HE 12.7mm UB Done
Armor-piercing Checked and found to be correct Verified

LuaScripts.zip

 

GUNS_revision — Damage Recalculation Methodology

In short: We recalculated high‑explosive (HE) shells for all calibers, using data from the game files and standard physics formulas. The goal was to remove systematic discrepancies that did not match the real characteristics of the projectiles.


1. What we did

We analysed the explosion configuration files (*_object.txt) for all HE shells. These files contain:

  • Radius – blast search radius

  • ArmorFoug – blast effect

  • ShrapnelQuantity – number of fragments

  • FragmentMass – mass of a single fragment

  • ArmorShr – fragment effect

We compared in‑game values against values calculated from physical formulas.


2. Deriving the baseline coefficient for blast damage

Some shells in the game appear to follow a consistent logic — specifically, the 45 mm, 50 mm and NS‑37 rounds. For these, we calculated the ratio:

K = HE_Damage / √(HE_mass)

 
 
Shell Calibre HE mass (g) √(HE mass) HE damage (0 mm) K
45 mm 20‑K 45 mm 135 11.62 5362 461
50 mm KwK 39 50 mm 175 13.23 6206 469
NS‑37 (stock) 37 mm 35 5.92 2486* 420
NS‑37 (revised) 37 mm 35 5.92 2751 465

* The stock NS‑37 damage was lower than the formula suggested, so we also corrected it.

The average K for these reference shells is ≈ 465. We used this as a unified coefficient for all HE shells, regardless of calibre.

Using this baseline, we found:

 
 
Calibre group Deviation from baseline
20–25 mm (ShVAK, MG 151/20, Hispano, VYa‑23) Under‑performing by 15–30%
30 mm (MK 108) Within ±5%
37 mm (BK 3.7, Pak 35/36) Within ±5–10%
76–88 mm Over‑performing by 10–15%

We brought the 20–25 mm rounds up to the baseline K = 465.


3. How we recalculated fragment damage

We rebuilt the fragment model from scratch, using physics rather than adjusting the existing numbers.

3.1. Number of fragments

We applied empirical fragmentation coefficients based on shell construction:

  • Thick‑walled shells (ShVAK, VYa, NS‑37):
    ShrapnelQuantity = 0.15–0.25 * m_case

  • Thin‑walled shells (Minengeschoß, BK 3.7):
    ShrapnelQuantity = 0.50–0.70 * m_case

where m_case = m_shell — m_he is the casing mass.

3.2. Mass per fragment

FragmentMass = m_case / ShrapnelQuantity

3.3. Initial fragment velocity

We used the Gurney equation:

V = √(2E) * √(β / (1 + 0.5 * β))

where:

  • √(2E) is the Gurney constant for the explosive (TNT ≈ 2370 m/s, PETN ≈ 2850 m/s, A‑IX‑2 ≈ 2700 m/s)

  • β = m_he / m_case

3.4. Kinetic energy per fragment

E = 0.5 * FragmentMass_kg * V^2

3.5. Fragment damage in game units

We converted energy into game damage units using an empirical factor of 0.4, which matched the reference shells:

Damage_shr = 0.4 * E


4. How we recalculated fragment penetration

Fragment penetration (ArmorShr) was adjusted to reflect the fragment’s mass and velocity.

We used a simplified form of the De Marre equation:

b = C * (m^0.5 * V^0.7) / d^0.75

where:

  • b – penetration in mm (duralumin / aluminium)

  • m – fragment mass (kg)

  • V – fragment velocity (m/s)

  • d – fragment calibre (≈ shell calibre, mm)

  • C – empirical coefficient (≈ 0.05 for duralumin)

Example for Hispano Mk.II:

  • Fragment mass: 4.6 g

  • Velocity: 858 m/s

  • Calibre: 20 mm

  • Calculated penetration: ≈ 6 mm


5. Recalculation example: Hispano Mk.II

 
 
Parameter Stock value Revised value Source
Radius 4.6 m 6.8 m 3.0 * ∛(11.3)
HE damage (0 mm) 1286 1563 465 * √(11.3)
Fragment count 27 26 0.22 * 118.7
Fragment mass 1.8 g 4.6 g 118.7 / 26
Initial frag velocity 701 m/s 858 m/s Gurney equation
Fragment damage (0 m) 174 677 0.4 * E
Fragment penetration 4 mm 6 mm De Marre equation

6. Data sources

  • Game files: *_object.txt, shell_*.txt

  • Shell mass, HE mass, explosive type – from files or historical references

  • Gurney equation – for fragment velocity

  • De Marre equation – for fragment penetration

  • Empirical fragmentation coefficients – from artillery ammunition reference literature


7. Summary

  • No new mechanics were introduced.

  • All data is taken from the game files and standard physics.

  • All shells were normalised to a single coherent model, removing systematic under‑ and over‑performance.

  • The method is transparent and reproducible — anyone can verify it with the same data and formulas.


If you have different data (HE mass, steel grade, fragment shape, etc.), we are happy to review it. For now, the mod uses an open and verifiable methodology.

Edited by Aed
  • Thanks 1
  • Upvote 2
  • Aed changed the title to GUNS_Revision_v01
Posted (edited)

I didn't see where you account for the non-linear scaling ratio of explosive content to metal shell surface area. Your average K factor excluded the large caliber shells where this comes into play. Did I miss something? I'll admit, it was hard for me to follow the logical flow of your calculations.

Edited by MajorMagee
Posted

We didn't ignore non‑linear scaling. We excluded large calibers (76‑88 mm) from the baseline K = 465 precisely because their thicker walls and higher explosive-to-metal ratios introduce those non‑linear effects. Their deviations (+10‑15%) are preserved as physically consistent.

For fragment modelling, we used the Gurney equation (which directly accounts for the C/M ratio) and applied different fragmentation coefficients (0.15‑0.25 for thick‑walled, 0.50‑0.70 for thin‑walled shells). So the scaling is built into the model, just not in the simple baseline coefficient.

The coefficient 465 is the average value for "correct" 20-50mm caliber shells, where the game appears to use correct physics.

The full table.

Снаряд Калибр m_he (г) sqrt(m_he) Damage (game) K = Damage / sqrt(m_he)
ШВАК (ранний) 20 мм 2.6 1.61 532 330
ШВАК (поздний) 20 мм 5.6 2.37 847 357
Flak 38 20 мм 6.2 2.49 900 361
Minengeschoß 20 мм 20 4.47 1798 402
Hispano Mk.II 20 мм 11.3 3.36 1286 383
ВЯ-23 23 мм 13 3.61 1266 351
25-мм 72-К 25 мм 13 3.61 1397 387
НС-37 37 мм 35 5.92 2486 420
45-мм 20-К 45 мм 135 11.62 5362 461
50-мм KwK 39 50 мм 175 13.23 6206 469
BK 3.7 37 мм 85 9.22 4127 448
Pak 35/36 37 мм 44 6.63 2836 428
MK 101 30 мм 72 8.49 3756 442
MK 108 30 мм 72 8.49 3946 465
76-мм Ф-34 76 мм 710 26.65 13636 512
76-мм 34-К 76 мм 458 21.40 10655 498
88-мм Flak 37 88 мм 900 30.00 15588 520
12.7-мм УБ (HE) 12.7 мм 0.8 0.89 257 289
Posted

Sounds good and rational. It would be good if the developers—or someone with a proper understanding of the topic—could review your calculations and methodology, just for the sake of precision. Man, this seems like a correct use of those LLMs.

Thanks for your work.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...