Waaah_Wah wrote:Down would be retarded...
Actually it wouldn't be. What do you do if you try to steady an automatic weapon with a fair bit of recoil? You pull it down and if you are still pulling while the next round is cycling then barrel would move down, I imagine. The question is how much should be approximated by the game (in the case of random up/down movement) and how much should be done by the player (in the case of forcing the player to pull his/her mouse down to overcome the random upwards muzzle climb). I personally prefer the latter which is currently in-game. Having said that, I think
there needs to be no muzzle climb to the left and more to the right in the case of rifles, which are all fired from the right hip/shoulder.
Back to the original proposition. This is the current deviation code for the M16A4 rifle with irons and the Beretta M9 pistol:
Code: Select all
rem ---BeginComp:SoldierDeviationComp ---
rem 556 Iron Sight Standard Accuracy Assault Rifle
ObjectTemplate.createComponent SoldierDeviationComp
ObjectTemplate.deviation.minDev 0.1
ObjectTemplate.deviation.setFireDev 0.1 0.05 0.005
ObjectTemplate.deviation.setTurnDev 0.1 0.05 0.05 0.005
[b] ObjectTemplate.deviation.setSpeedDev 2 2 2 0.05[/b]
ObjectTemplate.deviation.setMiscDev 2 2 0.05
ObjectTemplate.deviation.devModStand 1.5
ObjectTemplate.deviation.devModCrouch 1.2
ObjectTemplate.deviation.devModLie 1.0
ObjectTemplate.deviation.devModZoom 1
rem ---EndComp ---
M16A4 with Irons
Code: Select all
rem ---BeginComp:SoldierDeviationComp ---
ObjectTemplate.createComponent SoldierDeviationComp
ObjectTemplate.deviation.minDev 0.1
ObjectTemplate.deviation.setFireDev 0.1 0.05 0.005
ObjectTemplate.deviation.setTurnDev 0.1 0.05 0.05 0.005[b]
ObjectTemplate.deviation.setSpeedDev 0.1 0.05 0.05 0.005[/b]
ObjectTemplate.deviation.setMiscDev 2 2 0.05
ObjectTemplate.deviation.devModStand 1.5
ObjectTemplate.deviation.devModCrouch 1.2
ObjectTemplate.deviation.devModLie 1.0
ObjectTemplate.deviation.devModZoom 1
rem ---EndComp ---
Beretta M9
I have highlighted the difference between the two which results in the better handling of the pistol when moving. Notice how the rest of the code is the same. This means that the Beretta is just as accurate as the M16A4 (except when moving where it is actually more accurate

).
The first number is the maximum deviation that can be added from walking/running/strafing, the second number is the amount added every server frame (every 1/30 of a second) from walking/running, the third number is the amount added every server frame from strafing and the final number is the amount reduced every server frame while not running/walking/strafing.
From this you can see some key differences between the M16A4 and the Beretta M9. The M16A4 has a huge amount of maximum added deviation due to movement compared to the M9 (2 vs 0.1). When you compare these values to the "mindev" of 0.1 you get an idea of the scale. The M16A4 is instantaneously at it's maximum deviation value after moving whereas the M9 takes 1/15 of a second to reach it's maximum. Also the Beretta M9 takes half the time to steady than the M16A4 (2/3 vs 1 1/3 seconds).
This is all well and good but it doesn't address the "sights-up" random deviation. This is where the "ObjectTemplate.deviation.devModZoom" modifier comes in. It is currently set to 1 for all handheld weapons, IIRC. This means that weapons are just as accurate from the hip as "sights up". If this value was set to a value less than 1, than weapons would more accurate while "sights up" than from the hip.
Perhaps if the "ObjectTemplate.deviation.devModZoom" modifier was set to value less than one, the baseline deviation was scaled up to offset this accuracy boost and the movement deviation values scaled down it would set apart the players with their scopes up from those who rush in. It would also make the movement deviation more realistic (ie less rounds going nowhere near where you are a looking but still not being quite as accurate as being steady).