HSFX7 Attack Ranges

This room is where those who will participate in the "FUF: KZBK Stations" campaign, Kiev Sector, can assemble, share information and discuss the design and development of this SEOW HQ campaign.
IV/JG7_4Shades
Posts: 2029
Joined: Sat Jan 26, 2008 3:07 am
Location: Perth, Western Australia

HSFX7 Attack Ranges

Post by IV/JG7_4Shades » Sun May 25, 2014 6:41 am

I am doing some testing of maximum attack ranges for tanks/artillery using HSFX7. First I give the selected unit a long AttackMaxDistance in the technics file, e.g. 4000 m. Then I set up simple FMB missions on the BBury Test Map with the specified tanks facing each other on level ground with different nationalities assigned so they shoot at each other. I then increase the separation until I find the distance where firing ceases. In some cases this is LESS than the specified AttackMaxDistance in technics. I don't know why!

PzVIB: 2999 m ...... (technics AttackMaxDistance set to 3550 m) .................. effective at 2999 m
Nashorn: 2999 m ...... (technics AttackMaxDistance set to 3550 m) .................. effective only < 800 m
T34: 3000 m ...... (technics AttackMaxDistance set to 3550 m) .................. effective at 3000 m
KV1: 3000 m ...... (technics AttackMaxDistance set to 3550 m) .................. effective at 3000 m
ChiHa: 3000 m ...... (technics AttackMaxDistance set to 3550 m) .................. effective at 3000 m

Hypothesis: IL-2 tank ballistics do not support targeting beyond 3000 m.
Learning: Nashorn ballistics are broken in some way.

More data coming soon.

Cheers,
4S
IV/JG7_4Shades
SEOW Developer
Tanker
Posts: 568
Joined: Tue Nov 24, 2009 10:19 am

Re: HSFX7 Attack Ranges

Post by Tanker » Wed May 28, 2014 2:00 pm

Does effective mean the target is destroyed, or that the unit fires at the target up to that range?
IV/JG7_4Shades
Posts: 2029
Joined: Sat Jan 26, 2008 3:07 am
Location: Perth, Western Australia

Re: HSFX7 Attack Ranges

Post by IV/JG7_4Shades » Wed May 28, 2014 8:24 pm

It means that it shoots to that range and destroys targets at that range.
IV/JG7_4Shades
SEOW Developer
Tanker
Posts: 568
Joined: Tue Nov 24, 2009 10:19 am

Re: HSFX7 Attack Ranges

Post by Tanker » Thu May 29, 2014 6:47 pm

From what little I know, if a T-34 is destroying a Pz VI at 3000 m, that is seems to be too great a range historically.
IV/JG7_4Shades
Posts: 2029
Joined: Sat Jan 26, 2008 3:07 am
Location: Perth, Western Australia

Re: HSFX7 Attack Ranges

Post by IV/JG7_4Shades » Thu May 29, 2014 8:46 pm

Of course, you are right, but that isn't what I was testing. I was testing what the in-game limits on tank/artillery effectiveness are. If the game doesn't support effective armour ranges higher than 3000 m, then that means that *some* objects can never reach their historical gunnery parameters. We should know about this before customizing technics files.

For example, and this is purely hypothetical, if an IS-2 had 10% kill effect at 3000 m and a PzVIB had 10% kill effect at 4000 m, then knowing the IL-2 ballistics limit of 3000 m, we may choose to down-rate the IS-2 range in technics to, say, 2500 m. Even though the PzVIB will be truncated to 3000 m by the game that would still give it a long-range advantage over the IS-2.

These considerations come before terrain effects, line of sight etc. My principle is, if the LOS exists, a tank or gun should be able to shoot out to a distance that is (a) historically feasible and (b) historically relative to other tanks/guns in the game.

Cheers,
4S
IV/JG7_4Shades
SEOW Developer
LW/JG10_Luny
Posts: 743
Joined: Thu Feb 07, 2008 11:16 am
Location: Canary Islands

Re: HSFX7 Attack Ranges

Post by LW/JG10_Luny » Fri May 30, 2014 2:53 pm

I agree.
Tanker
Posts: 568
Joined: Tue Nov 24, 2009 10:19 am

Re: HSFX7 Attack Ranges

Post by Tanker » Sat May 31, 2014 11:15 am

That makes sense.
II/JG54_Emil
Posts: 418
Joined: Fri Jul 24, 2009 7:27 am

Re: HSFX7 Attack Ranges

Post by II/JG54_Emil » Sat May 31, 2014 3:32 pm

Good idea.

But how to find out about those ranges other than massive testings and collect kill rate statistics?
The other day you and I found out that some infantry can´t hit a fish in a barrel.
We only found out sbecause we tested and watched.

Reading out the eventlog could help, but would still take massive effort to test all guns ranges.

Is there a way to look into the guns accuracy in the code?
Would probably be fastest way to find out...

Can someone ask Charly?
II/JG54_Emil
Posts: 418
Joined: Fri Jul 24, 2009 7:27 am

Re: HSFX7 Attack Ranges

Post by II/JG54_Emil » Sun Jun 01, 2014 3:23 am

Tanker wrote:From what little I know, if a T-34 is destroying a Pz VI at 3000 m, that is seems to be too great a range historically.
That seems to be correct for early model with the F-34 gun.
Effective range for the F-34 gun is 2400m.

Reference:
Zaloga, S. 2004, in T-34/76 Medium Tank 1941-45, Osprey Publishing

Museum, The 2011, in The Tankspotters Guide, Osprey Publishing
Last edited by II/JG54_Emil on Sun Jun 01, 2014 5:03 pm, edited 1 time in total.
II/JG54_Emil
Posts: 418
Joined: Fri Jul 24, 2009 7:27 am

Re: HSFX7 Attack Ranges

Post by II/JG54_Emil » Sun Jun 01, 2014 4:03 am

Ok I found something in my old decompiled 4.11m Weapon Classes.
The CannonTankGeneric.class in \com\maddox\il2\objects\weapons is responsible for the limit of 3000m.

Code: Select all

 Decompiled by DJ v3.12.12.98 Copyright 2014 Atanas Neshkov  Date: 01.06.2014 11:13:23
// Home Page:  http://www.neshkov.com/dj.html - Check often for new version!
// Decompiler options: packimports(3) 
// Source File Name:   CannonTankGeneric.java

package com.maddox.il2.objects.weapons;

import com.maddox.JGP.Color3f;
import com.maddox.il2.ai.BulletAimer;
import com.maddox.il2.engine.BulletProperties;
import com.maddox.il2.engine.GunProperties;

// Referenced classes of package com.maddox.il2.objects.weapons:
//            CannonMidrangeGeneric

public abstract class CannonTankGeneric extends CannonMidrangeGeneric
    implements BulletAimer
{

    public CannonTankGeneric()
    {
    }

    public GunProperties createProperties()
    {
        GunProperties gunproperties = super.createProperties();
        gunproperties.weaponType = 4;
        gunproperties.bCannon = true;
        gunproperties.bUseHookAsRel = false;
        gunproperties.fireMesh = null;
        gunproperties.fire = "3DO/Effects/GunFire/88mm/CannonTank.eff";
        gunproperties.sprite = null;
        gunproperties.smoke = "effects/smokes/CannonTank.eff";
        gunproperties.shells = null;
        gunproperties.emitColor = new Color3f(1.0F, 1.0F, 0.6F);
        gunproperties.emitI = 5F;
        gunproperties.emitR = 4F;
        gunproperties.emitTime = 0.3F;
        gunproperties.aimMinDist = 10F;
        gunproperties.aimMaxDist = 3000F;
        gunproperties.shotFreq = 999F;
        gunproperties.traceFreq = 1;
        gunproperties.bullets = -1;
        gunproperties.bulletsCluster = 1;
        gunproperties.bullet = (new BulletProperties[] {
            new BulletProperties()
        });
        for(int i = 0; i < gunproperties.bullet.length; i++)
        {
            gunproperties.bullet[i].massa = 0.001F;
            gunproperties.bullet[i].kalibr = 9F;
            gunproperties.bullet[i].speed = 10F;
            gunproperties.bullet[i].power = 0.0F;
            gunproperties.bullet[i].powerType = 0;
            gunproperties.bullet[i].powerRadius = 0.0F;
            gunproperties.bullet[i].timeLife = 5F;
            gunproperties.bullet[i].traceMesh = null;
            gunproperties.bullet[i].traceTrail = "effects/Smokes/ShellTrail.eff";
            gunproperties.bullet[i].traceColor = 0x1010101;
        }

        float f = Specify(gunproperties);
        CannonMidrangeGeneric.autocomputeSplintersRadiuses(gunproperties.bullet);
        for(int j = 0; j < gunproperties.bullet.length; j++)
        {
            float f1 = gunproperties.aimMaxDist / (gunproperties.bullet[j].speed * 0.707F);
            gunproperties.bullet[j].timeLife = f1 * 2.0F;
        }

        if(f > 0.0F)
        {
            if(f <= 20F)
                f = 20F;
            if(f >= 70F)
                f = 70F;
            f = (f - 20F) / 50F;
            gunproperties.maxDeltaAngle = 0.3F - f * 0.2F;
        } else
        {
            gunproperties.maxDeltaAngle = 0.2F;
        }
        return gunproperties;
    }

    protected abstract float Specify(GunProperties gunproperties);
}


Relevant is the line: gunproperties.aimMaxDist = 3000F;
It limits the tank guns to 3000 meters.
I guess that is still the same today.

Increasing this value is probably easier and better, than downsizing all the guns
It would have to be increased and tested.
I can´t do that since I don´t know how to recompile java classes.
IV/JG7_4Shades
Posts: 2029
Joined: Sat Jan 26, 2008 3:07 am
Location: Perth, Western Australia

Re: HSFX7 Attack Ranges

Post by IV/JG7_4Shades » Sun Jun 01, 2014 7:10 am

Yes, well done, that could be the issue.

I don't think we need to change it, we just need to be aware that the limit exists and then scale our attack ranges accordingly when we change technics.

Cheers,
4S
IV/JG7_4Shades
SEOW Developer
II/JG54_Emil
Posts: 418
Joined: Fri Jul 24, 2009 7:27 am

Re: HSFX7 Attack Ranges

Post by II/JG54_Emil » Sun Jun 01, 2014 8:00 am

Hmm, I don´t do that often, but I tend to disagree.

Nothing would be simpler than changing the max. distance from 3000m to 4500m or even 5000m.
This is just one file that could be added in JSGME as a mod and later put into the file sfs structure with an HSFX update.

Putting it into HSFX for good is of course up to Charly.
II/JG54_Emil
Posts: 418
Joined: Fri Jul 24, 2009 7:27 am

Re: HSFX7 Attack Ranges

Post by II/JG54_Emil » Sun Jun 01, 2014 8:10 am

Sooner or later we will have to look into the hard data, since the effectiveness of weapons is at doubt, as I have seem with the infantry.

I game this means that units walk by each other without any loss.
In the field these would be really rare events.
II/JG54_Emil
Posts: 418
Joined: Fri Jul 24, 2009 7:27 am

Re: HSFX7 Attack Ranges

Post by II/JG54_Emil » Sun Jun 01, 2014 8:35 am

Sooner or later we will have to look into the hard data, since the effectiveness of weapons is at doubt, as we have seem with the infantry.

This also is an interesting line

Code: Select all

            gunproperties.maxDeltaAngle = 0.3F - f * 0.2F;
        } else
        {
            gunproperties.maxDeltaAngle = 0.2F;
It´s the spreading value, the standard deviation between theorical and real trajectory

I game this means that units walk by each other without any loss.
In the field these would be really rare events.
IV/JG7_4Shades
Posts: 2029
Joined: Sat Jan 26, 2008 3:07 am
Location: Perth, Western Australia

Re: HSFX7 Attack Ranges

Post by IV/JG7_4Shades » Tue Jun 03, 2014 12:40 am

In my testing in FMB it shows that a single MG is hardly effective against a single infantry team, but a single MG is effective against 5 infantry teams in a line. This is due to the angle offset calculated by the game (i.e. a forced inaccuracy). We also have common friendly kills etc.

These are flaws, and they are very apparent from on-ground cameras focusing on the action. This is obviously not good as an FPS! However if you look at the stats we can see that the net effect is often not far from reality. If you move units too close to the enemy, a fight happens and some of your units die.

So we need to understand that FPS-style results will never apply. SEOW is a game of movement, as Brandle says, so the art is in moving your forces to where they have best effect by outnumbering the enemy at that location. The statistics will then hopefully work in your favour. But I agree that we ought to be able improve the ground targeting code to reduce friendly kills and perhaps even improve gun accuracy against single targets. Perhaps the code above ought to reduce scatter over time as a gunner "hones in" on the target.

If we want to use SEOW to set up battles/skirmishes that are resolved by using a detailed FPS, e.g. ARMA, then we can do this too. Just takes a little more work to generate ARMA maps/missions from SEOW campaigns.

Cheers,
4S
IV/JG7_4Shades
SEOW Developer
Post Reply

Return to “The Winter 1943 Boardroom”