In-depth explanation of Spread/Accuracy

Post » Sun Aug 08, 2010 6:48 pm

EDIT: I see; the order of operations on some of the OP's formulas is misleading... At least it was for me. (My bad). If one is aiming (ironsights), crouching, meets the skill/str req for the weapon, and has both arms in a non-crippled state, then because one of the multipliers is zero, all other considerations are moot -- this is also why Norbingel can't get spread to carry over into ironsights. Basically, crouched+ironsights gives you a skill of 100, unless you're under a skillreq for using the weapon. This is bothersome to me, but scriptable for the player. The engine, however, really should have included a skill (or raw) "base" in addition to penalties, to go into the same brackets as the penalties, preventing that from reaching zero and cancelling everything else (like skill) out.

Well, it even was explicitly stated in the OP that, if there are no penalties, you automatically have the best possible player spread.
"As long as you have the weapon’s required strength and skill values, and no crippled arms, you will have the best possible accuracy while crouching, not moving and using IronSights. Perks and ammo [and skill as well] will not improve that."

I was quite excited to see the wobble skill conversion in there, and so I did some testing and only ended up scratching my head: no effects at all by changing the value, even to extreme amounts, *except* that within the range of 0.0 - 1.0, the expected 6-degree shift did occur from skill ranges 0 - 100 (negatively).


SkillBonusMultiplier
1.00 - Player Skill/100 * fWobbleToSkillConversion

Ok, we didn't state the defined range here, but for anything outside the range of [0, 1] this makes no sense. If set you set fWobbleToSkillConversion > 1 you would end up with a negative multiplier for 100 skill.
The semantic of this setting is that its a bonus, not a penalty, and the higher fWobbleToSkillConversion the higher the bonus, so for 0.0, 100 skill won't give any bonus, for 0.5 100 skill will multiply player spread by 0.5, for 1.0, 100 skill will multiply player spread by 0 (and thus completely removing it unless theres fMinGunSpreadValue).

If you want to increase gun spread, you have to do it by increasing penalties, if you want to increase it for the case when there are no penalties active (=sneaking + aiming etc), theres no way to do this other than fMinGunSpreadValue, or maybe with a perk that adds a static value as additional base penalty (haven't tried that).

The UnaimedSpreadPenalty also does nothing. Setting it to 100, for example, give me no noticeable change in spread.

Setting it to 100 would mean an ingame spread of 600°, which is not even possible. Try setting it to 5 or maybe 10, you will definitely notice increased arm movement (just tested this myself again)

Ditto for several other settings. This applies both to GECK changes and ingame console-based NVSE setnumericgamesetting changes.

Test those again as well with reasonable values.

On the other hand, fnonattackgunwobblemult, which isn't included in your calculations, does exactly as your calculation would predict, including large numbers.

Well there are always new things to find, gotta have to look where exactly this one is applied.
User avatar
Bethany Watkin
 
Posts: 3445
Joined: Sun Jul 23, 2006 4:13 pm

Post » Sun Aug 08, 2010 1:02 pm

EDIT: I see; the order of operations on some of the OP's formulas is misleading... At least it was for me. (My bad). If one is aiming (ironsights), crouching, meets the skill/str req for the weapon, and has both arms in a non-crippled state, then because one of the multipliers is zero, all other considerations are moot -- this is also why Norbingel can't get spread to carry over into ironsights. Basically, crouched+ironsights gives you a skill of 100, unless you're under a skillreq for using the weapon. This is bothersome to me, but scriptable for the player. The engine, however, really should have included a skill (or raw) "base" in addition to penalties, to go into the same brackets as the penalties, preventing that from reaching zero and cancelling everything else (like skill) out.

I already pointed exactly that out in the text. However I personally find these changes good, since they help the overall FPS combat, ie if you take the time to aim carefully you are able to hit stuff, even without high skill values.

I was quite excited to see the wobble skill conversion in there, and so I did some testing and only ended up scratching my head: no effects at all by changing the value, even to extreme amounts, *except* that within the range of 0.0 - 1.0, the expected 6-degree shift did occur from skill ranges 0 - 100 (negatively).

But here's my frustration, and I've found this to be the case with several other values in gamesetting calculations that matter to me: when the GMST is negative, the *exact* expected result occurs. For example, at a setting of -5, the spread *increases* by about 30 degrees from a guns skill of 0 to a guns skill of 100. Of course, this is exactly what we don't want; we want the reverse. And the reverse does not happen, as I said: at a setting of 5.0 (positive), there is a very minor shift (about 6 degrees) from a guns skill of 0 - 100. In previous (FO3) calculations, this would have pointed to another variable, like a base or mult...

The UnaimedSpreadPenalty also does nothing. Setting it to 100, for example, give me no noticeable change in spread.

Like schlangster pointed out, you are testing with values that don't particularly make sense. Also I have the feeling the way you are testing is "change some values and then look how much the hand wobbles". That's not a great way of testing, because you simply will not notice the difference in hand wobbling unless try to create extreme values (which schlangster pointed out cannot work in all cases). We used a custom written script to track the XY coordinates, so we could even see very subtle movement changes.

On the other hand, fnonattackgunwobblemult, which isn't included in your calculations, does exactly as your calculation would predict, including large numbers.

fnonattackgunwobblemult isn't particularly relevant to these calculations, since all it does is affect your wobble when you aren't actually shooting. As soon as you start shooting that GMST is disregarded and the players wobble will zero in on the actual spread. Of course if you set this particular GMST to extreme values it can impact the first shots of the player, since it can move the hand to extreme values where it takes longer for it to zero in on it's intended position.
User avatar
Andrew Lang
 
Posts: 3489
Joined: Thu Oct 11, 2007 8:50 pm

Post » Sun Aug 08, 2010 10:14 pm

The WSp is completely static and consists solely of the weapon’s ‘Min Spread’ value. The only thing that affects this are weapon mods, nothing else does. Many people probably have also noticed the ‘Spread’ value in weapon tabs. That value does nothing at all. It didn’t do anything in FO3 either, unless you re-enabled spread penalties based on weapon conditions. I’m not sure if it’s possible to enable that in FNV, haven’t really looked into that.


Do you have any more information on this? Are we to assume that fGunSpreadCondMult/Base do nothing, or that they'll affect the weapon spread based on condition as a multiple of the 'Spread' value? Because I always assumed they affected weapon spread based on 'Min Spread' as everything else seems to ignore 'Spread' completely... It would be interesting to know if there is still some mechanic for increasing weapon spread with a decrease in condition...
User avatar
John N
 
Posts: 3458
Joined: Sun Aug 26, 2007 5:11 pm

Post » Sun Aug 08, 2010 9:13 am

Do you have any more information on this? Are we to assume that fGunSpreadCondMult/Base do nothing, or that they'll affect the weapon spread based on condition as a multiple of the 'Spread' value? Because I always assumed they affected weapon spread based on 'Min Spread' as everything else seems to ignore 'Spread' completely... It would be interesting to know if there is still some mechanic for increasing weapon spread with a decrease in condition...

Well by default they do nothing, since they're set to 0 (like in FO3).

Now I haven't played around with them, so it's possible they could have an effect, however since they're part of the FO3 spread equation, which is completely defunct in FNV, I would take a guess and say they don't do anything. But again, can't be certain on this until someones tested it.
User avatar
Taylah Illies
 
Posts: 3369
Joined: Fri Feb 09, 2007 7:13 am

Post » Sun Aug 08, 2010 6:28 pm

There's one undocumented setting.

fGunWobbleMultScope - Default is 1, so it doesn't really do anything. But playing with it shows it only affects weapons with actual scopes and not regular ironsights.
User avatar
Elle H
 
Posts: 3407
Joined: Sun Aug 06, 2006 3:15 am

Post » Sun Aug 08, 2010 9:27 am

There's one undocumented setting.

fGunWobbleMultScope - Default is 1, so it doesn't really do anything. But playing with it shows it only affects weapons with actual scopes and not regular ironsights.

If I remember correctly this setting controls how much of the player spread is shown with wobble when using a scope. It has no effect on actual spread (unless you set it >1, which will make aiming harder I guess), so this was left out on purpose.
Setting this to 0 means, there won't be any wobble while aiming with a scope (but the spread is still there).
User avatar
Julia Schwalbe
 
Posts: 3557
Joined: Wed Apr 11, 2007 3:02 pm

Previous

Return to Fallout: New Vegas

cron