Aed Posted July 7 Posted July 7 (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. 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). 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 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. 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). 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 July 7 by Aed 1 4 2
MajorMagee Posted July 7 Posted July 7 (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 July 7 by MajorMagee Service To The Line, On The Line, On Time! 9800X3D, 64 GB DDR5, RTX 5070-Ti 1024 GB/s @ 2700 MHz 0.85V, Calibrated 8 bit IPS 3440x1440 @ 100Hz
Aed Posted July 7 Author Posted July 7 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
Sudkan Posted July 9 Posted July 9 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.
FPS_Cutlass Posted July 13 Posted July 13 We need practical tests on a server like BERLOGA to get statistics that confirm your argument.
=RP=Levik Posted July 13 Posted July 13 (edited) Implementing this on the Berloga won't achieve anything. Actually, we need the devs to look into it, run a series of automated tests on their own resources, provide their conclusion, and, if successful, implement it in the next patch. Edited July 13 by =RP=Levik
FPS_Cutlass Posted July 13 Posted July 13 37 минут назад, =RP=Levik сказал: Implementing this on the Berloga won't achieve anything. Actually, we need the devs to look into it, run a series of automated tests on their own resources, provide their conclusion, and, if successful, implement it in the next patch. I don't think the developers have the time and facilities to conduct extensive testing
=RP=Levik Posted July 13 Posted July 13 I guess testing its not a matter of much time and facilities, job is allready done, whats left is to install the mod and run automated test. The main question is what to do next if Aed is right. 1
FPS_Cutlass Posted July 13 Posted July 13 3 часа назад, =RP=Levik сказал: I guess testing its not a matter of much time and facilities, job is allready done, whats left is to install the mod and run automated test. The main question is what to do next if Aed is right. You know what "Everything Is Right"© and "In Two Weeks"© are....? 😀
MDzmitry Posted July 14 Posted July 14 I'd probably only argue about fragment penetration, since having them travel through airframes modelled with only the necessary minimum of modules isn't equal to travelling through airframes full of small parts, tubings, wiring and so on and so forth. So the in-game number (being ~33% less in Hispano's case) is more than tolerable.
Aed Posted July 14 Author Posted July 14 Agreed — the simplified game airframe makes lower fragment penetration a reasonable compromise. However, the updated DM (circa 2020) v4.005 was meant to address this by modelling internal structure elements, so the need for artificial compensation is hopefully reduced.
kraut1 Posted July 14 Posted July 14 (edited) Interesting to have a detailed calculation of the effectiveness of the ammunition, thank you very much. For the usage of the calculated values of course the simulation of the damage / armor protection in Great Battles has to be considered too. For example 2 years ago there was a discussion about the effectivess of the 30mm/ 37mm AP ammo when used for Ju87 / Hs129 AT missions. The developers insisted on that the ammo is realistic. I flew many test missions and it seemed to me, that it was comparable effective to hit the tanks at the sides and to disable the crew / to damage the tank. But hits in the rear part the tank, where the engine is located, seemed to me comparable uneffective. When I had a look at the tank definition files it seemed to me that the "life values" of the engines were a bit too high when being hit. By creating a small mod with reduced "life values" it was possible to improve the effectiveness of hits in the engine. But altogether seen this was no exact science and the testing was extremely time consuming... So I think to overwork the whole ammunition would mean to invest extremely much time in testing ... But I think the calculated values are very valuable wherever a new issue with ammunition effectiveness is reported... Edited July 14 by kraut1 1
Avimimus Posted July 14 Posted July 14 Interesting work. I thought I'd raise the two issues which annoy me the most: 1) Currently HE rounds (in the unmodified game) are much more effective than AP rounds against ships. I've considered adding more armour to ship hitboxes in response. In contrast, 57mm AP rounds from the Mosquito are relatively ineffective against ships (as waterline hits causing flooding is not simulated). 2) Rifle calibre machine guns they don't do enough damage to produce critical hits in most cases, as the hitboxes aren't as detailed as in Korea... as a result the effect of the rounds becomes averaged - and the best strategy is simply to fire as many rounds as possible into the same spot until enough damage 'accumulates'. In reality the damage of rifle calibre guns would probably have involved more chance hits against critical components (pipes, wires, joints, bolts)... and been less predictable. I'm quite open to any ideas on how to fix these two areas. P.S. There was an argument that the Mk-108 wasn't modelled as being too weak, but as failing to penetrate prior to detonation (leading to less effect).
Avimimus Posted July 14 Posted July 14 7 hours ago, kraut1 said: When I had a look at the tank definition files it seemed to me that the "life values" of the engines were a bit too high when being hit. By creating a small mod with reduced "life values" it was possible to improve the effectiveness of hits in the engine. Yes, I had similar thoughts about truck engines. I spent a lot of time looking for footage of guns impacting engine blocks... it'd have been very good to probably have a second hit-box at the top of the engine to represent all of the piping and the cylinder heads. I'm not sure if I released the mod on the old forum? I think, in some cases, lowering the life values could make sense. 1
Hook_Echo Posted July 15 Posted July 15 @Aed looking forward to trying your mod. I think the hispanos are about to shred. Like Avimimus I'm wondering what your thoughts are on non explosive rounds, .50's and .30's. These are already underperforming and I'm afraid your mod will leave these completely in the dust. Maybe they could frag into like 3 pieces. Im still running an old mod for the .50's that give them a little explosive and it makes them okay. I wonder if there's anything that can be done to get them to light fires.
Aed Posted July 15 Author Posted July 15 (edited) Thanks for the feedback! On the topic of bullets – I think the kinetic damage for rifle-calibre and .50 cal rounds in the game is actually calculated correctly, using the same formulas as everything else. Maybe we could add a couple of tiny fragments to the .50 API rounds, but I'm not sure it would change much in practice – because in the end, the effectiveness depends mostly on the Damage Model itself, especially how internal modules are modelled and how damage accumulates. The incendiary effect for bullets in Great Battles is currently based on a probability roll, unlike in Korea where it's tied directly to the ammunition type. That’s a fundamental difference, and it’s not something we can easily change without touching the core code. Also, I think it's important to manage expectations: GUNS_revision isn't a miracle cure. The red cannons won't suddenly overpower the blue ones across the board. The Minengeschoß, for example, now performs better against light, unarmored targets – but it no longer kills an Il‑2 in two hits, which is more historically consistent. The MK 108 becomes genuinely devastating, but again, mainly against unarmored aircraft. That said, the Soviet shells are now significantly more effective overall – the NS‑37 finally hits like it should. So the revision does bring things closer to reality, but it's not a magic bullet. Looking forward to your feedback on the cannon testing. Next, we're moving on to larger calibers, bombs and rockets. Edited July 15 by Aed 4 1
Avimimus Posted July 15 Posted July 15 Yes, I just wish there was a way to adjust the unpredictability of damage (essentially adding in a random chance at a critical hit)! That would counteract the averaging a bit. One solution might actually be to take advantage of the belting... reduce the firepower for most rifle calibre rounds (i.e. 7.7mm, 7.62mm, 7.9mm), but have one round in the belt do a lot more damage. Would that work? I also wonder if just increasing the damage done by the 57mm AP round would compensate for its ineffectiveness against ships? Since it doesn't have any explosive filling and already has enough mass to damage whatever it hits... it shouldn't actually make it more effective against aircraft (and not much more effective against tanks - which it shouldn't be used against anyway, as the Molins 57mm was exclusively used against shipping historically). P.S. In case you don't have a copy - ADA800394 is very good reading: https://apps.dtic.mil/sti/pdfs/ADA800394.pdf 6 hours ago, Aed said: Next, we're moving on to larger calibers, bombs and rockets. When examining rockets, the AP performance of rockets against ships is undermodelled but the HE performance against ships is overmodelled (similar to the situation with AP rounds)... so that is worth considering. I'd also recommend looking into fuses for WWI bombs. I'd accumulated quite a bit of evidence for the arming speeds in service of the Cooper bombs (which take too long to arm with the default settings) and obtained some fusing information for German bombs - but lack fusing speed information for some of the the P.u.W series bombs centrifugally armed fuses. The French fuses are very similar to the British fuses, but I also lacked enough data. Interestingly, it seems the Brits slowed the arming for their larger bombs by simply having less vanes on the arming pinwheel (so it would spin a bit less rapidly). 1
kraut1 Posted July 16 Posted July 16 (edited) 21 hours ago, Avimimus said: Yes, I just wish there was a way to adjust the unpredictability of damage (essentially adding in a random chance at a critical hit)! That would counteract the averaging a bit. One solution might actually be to take advantage of the belting... reduce the firepower for most rifle calibre rounds (i.e. 7.7mm, 7.62mm, 7.9mm), but have one round in the belt do a lot more damage. Would that work? I also wonder if just increasing the damage done by the 57mm AP round would compensate for its ineffectiveness against ships? I am using in my mods since 1 year for the aircraft weapons an increased dispersion / decreased accuracy of ca. 6...8 mils to avoid too frequent sniper headshots and similar unrealistic things. The incresead dispersion (of tracer rounds) is clearly visible, but it is still possible to damage / destroy targets. Of course this a matter of taste and not everyone likes it but me for it increases the immersion... Example late BoB autumn 1940 mission, strafings begins at 04:20 Edited July 16 by kraut1
Avimimus Posted July 16 Posted July 16 Interesting! I'd be curious about historical data regarding the dispersion of guns. FWIW - the Korean War era estimates I've read for fixed 0.50 cal Brownings as fired from an aircraft was 4-5 mils. However, I wonder if wing mounts would be less rigid?
kraut1 Posted July 16 Posted July 16 (edited) 4 hours ago, Avimimus said: Interesting! I'd be curious about historical data regarding the dispersion of guns. FWIW - the Korean War era estimates I've read for fixed 0.50 cal Brownings as fired from an aircraft was 4-5 mils. However, I wonder if wing mounts would be less rigid? in this discussion you will find some data about this topic, but it is no exact science: https://forum.il2sturmovik.com/topic/92101-question-accuracy-of-typical-ww2-plane-armament-machine-guns-automatic-cannons/ small note: you can only define the dispersion weapons, that installed in planes (and user controllable tanks). For pure ai weapons like aa guns, fields howitzers, ship guns there are no parameters for dispersion accuracy available. Edited July 16 by kraut1
Aed Posted July 17 Author Posted July 17 (edited) I ran into an interesting issue during some test shooting against the Li-2 and C-47. If you fire into the right engine, fragments consistently kill the left-side pilot - both in the vanilla game and in my mod. That didn't sit right with me, so I started digging deeper into the aircraft configuration files, specifically looking at the armour and damage model mechanics. What I found: The DM uses a zoned system with probabilities, internal modules (each with their own hitpoints and armor zones), and a well-thought-out armor layout. It's actually a very flexible and well-designed system that the developers put together. However, for the Li-2 and C-47, the reality is simple: there is no armor at all. The only thing that "protects" the right pilot is the engine itself - fragments lose some of their energy passing through it. Everything else on these aircraft is essentially unprotected. So yeah, getting killed by a fragment from the right engine while sitting on the left is completely plausible in terms of the current DM - not a bug, just a consequence of having no armor. For obvious reasons, I won't touch this files. BUT! The same configuration files also contain data about ammunition belts and tracer ratios. That can be tweaked to bring them closer to historical and realistic standards. .. UPDT.. plane files can not be modified, game will not accept changes (tried to change tracers rate) Edited July 17 by Aed
Aed Posted July 17 Author Posted July 17 (edited) @kraut1 Theres dispersion parameter BulletDispertionAngleData = 0.0, 0.6, 700.0, 3.5 0.0 degree fixed cold barrel 0.6 overheat barrel. - it is equal in all guns.. in weapon files, so it possibly can be edited Edited July 17 by Aed 1
kraut1 Posted July 17 Posted July 17 6 minutes ago, Aed said: @kraut1 Theres dispersion parameter BulletDispertionAngleData = 0.0, 0.6, 700.0, 3.5 0.0 degree fixed cold barrel 0.6 overheat barrel. - it is equal in all guns.. in weapon files, so it possibly can be edited Thanks, yes, I have edited this for aircraft weapons, and this line is e.g. in the file of the 88mm Flak 37 available too? I was not aware of this, thanks.
Aed Posted July 17 Author Posted July 17 (edited) @kraut1 its a _kwk-36.txt same gun as AA 88mm gun in game.. Can U pls put your gun files with dispersion here? Edited July 17 by Aed
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now