User Tools

Site Tools


a3_documentation:cvwp:sraam

Comparative Ranges and explanation

All the values and ranges I'm using are all calculated relative to the BIS Short Range missile class:

HERE IS THE LOGIC.

Most of BIS' values for SRAAM aren't much different than the ammo_Missile_ShortRangeAABase class values. Normally you should find a weapon in game that you can find the real world equivalent of and get the specs. BIS actually has, what they are calling the “BIM9X”, which logically should equate to the AIM-9X. The problem with that is that is the AIM-9X has a supposed range of ~34km. So thats not really a good choice. So we are going to make an assumption or two:

Assumption #1 - With a bit of research you can find that the 'average' range of the real world short range air-to-air missiles (SRAAM) comes to something like 16km. This is now our “DATUM Weapon Real World MAX Range”

Assumption #2 - the real world ranges of the weapons we are looking at are:

  • A-Darter = 22km
  • AIM-9M = 20km
  • Python 3 = 15km.

Assumption #3 - For this class or weapon and in the armaverse 5000m (5Km) is equivalent to 16000m (16km) in the real world. The 5000m comes from the max range BIS specified.

Now comes the maths here is an example.

   (Range of the weapon you are configing) / (DATUM Weapon Real World MAX Range) = "RangeRatio"  

So when we apply some real world figures we get a ration compared to the ingame “DATUM Weapon Real World MAX Range” we have chosen:

  A-Darter (22km) / (16km) = "1.375" 
  AIM-9M   (20km) / (16km) = "1.25" 
  Python 3 (15km) / (16km) = "0.9375"

You can see by the results the figure you get is the “ratio” compared to our “Datum weapon” Now we have the “RangeRatio” we can multiply that by BIS's 5km max range value to give us the 'Adjusted/scaled range' for our new missile.

   (BIS MaxRange) * (RangeRatio) = "NewScaledRange"
 
A-Darter =   (5km) / (1.375) = "6.875 (Km)" = "6875m"
AIM-9M =   (5km) / (1.25) = "6.25 (Km)" = "6250m"
Python 3 =   (5km) / (0.9375) = "4.6875 (Km)" = "4687.5m"

We may massage/fudge the values a bit to try and balance things out a bit. Some of the older weapons ranges when using this method come out to about 1km in some cases. So we may give them a little bit of help.

So that is it. The entire logic behind how we chose the range values of our weapons.

SOURCES

Ammo class from \A3\weapons_f_jets\config.cpp ~Line 144

class ammo_Missile_ShortRangeAABase: MissileBase
{
	model = "\A3\weapons_f\empty";
	proxyShape = "\A3\weapons_f\empty";
	hit = 130;
	indirectHit = 85;
	indirectHitRange = 10;
	warheadName = "HE";
	proximityExplosionDistance = 20;
	fuseDistance = 100;
	maneuvrability = 42;
	airFriction = 0.14;
	sideAirFriction = 0.23;
	trackOversteer = 1.6;
	trackLead = 0.9;
	initTime = 0;
	timeToLive = 20;
	thrustTime = 5;
	thrust = 250;
	maxSpeed = 700;
	simulationStep = 0.002;
	airLock = 2;
	lockType = 0;
	cmimmunity = 0.92;
	weaponLockSystem = "2 + 16";
	missileLockCone = 180;
	missileKeepLockedCone = 180;
	missileLockMaxDistance = 5000; <<< -----------------Max Lock range
	missileLockMinDistance = 250;  <<< -----------------Min Lock range
	missileLockMaxSpeed = 600;
	class Components: Components
	{
		class SensorsManagerComponent
		{
			class Components
			{
				class IRSensorComponent: SensorTemplateIR
				{
					class AirTarget
					{
						minRange = 500;      <<< -----------------Min Lock range
						maxRange = 5000;     <<< -----------------Max Lock range
						objectDistanceLimitCoef = -1;
						viewDistanceLimitCoef = 1;
					};
					class GroundTarget
					{
						minRange = 500;
						maxRange = 4000;
						objectDistanceLimitCoef = 1;
						viewDistanceLimitCoef = 1;
					};
					angleRangeHorizontal = 180;
					angleRangeVertical = 180;
					maxTrackableSpeed = 600;
					minTrackableATL = 3;
				};
			};
		};
	};
	cost = 1000;
	whistleDist = 20;
	aiAmmoUsageFlags = 256;
	missileFireAnim = "rocket_fire_hide";
	CraterEffects = "AAMissileCrater";
	explosionEffects = "AAMissileExplosion";
	effectsMissile = "FX_Missile_AA";
	muzzleEffect = "B01_fnc_effectFiredJetMissile";
};
class ammo_Missile_BIM9X: ammo_Missile_ShortRangeAABase
{
	model = "\A3\Weapons_F_Jets\Ammo\Missile_AA_08_fly_F";
	proxyShape = "\A3\Weapons_F_Jets\Ammo\Missile_AA_08_F";
};
a3_documentation/cvwp/sraam.txt · Last modified: by rock