Introduction
Horizontal Recoil Tolerance is the most mysterious and elusive recoil characteristic. We all knew what it’s supposed to do: set a limit on just how far Horizontal Recoil can take you from initial aiming position.
There were many hints, starting with the datamined name of this stat, and ending with this video by Vanu Labs.
However, nobody was able to figure out how to translate the datamined HRT values into what can be seen in game.
How everybody thinks it works
Let’s take the infamous Gauss SAW as an example:
Horizontal Recoil: 0.175 / 0.175
Horizontal Recoil Tolerance: 0.525
Instantly it becomes obvious that 0.525 is divisible by 0.175 without residue:
0.525 / 0.175 = 3
So the logical conclusion would be that Gauss SAW can kick up to 3 times into one direction, after which Horizontal Recoil Tolerance forces it to bounce in the opposite direction.
But that assumption is wrong. Gauss SAW can only kick up to 2 times in the same direction.
This comes from multiple in-game tests, where I record a high resolution video of firing a weapon, and then watch it frame by frame and document how crosshair moves after each shot.
Here’s an example of such recording:
And here’s the recorded recoil path from that video example:
You can clearly see that Gauss SAW recoils only up to 2 times in the same direction. More recorded recoil paths:
It’s not just Gauss SAW, this is confirmed by testing other weapons as well; they all bounce less than this theory suggests. I have a notebook full of these scribbles:
It’s obvious that the first theory about Horizontal Recoil Tolerance is wrong.
For years nobody was able to offer a correct theory, mostly from lack of interest or necessary knowledge.
In the meantime, the solution is painfully simple, and if not for misleading HRT values, we’d crack that nut much earlier.
How it actually works
If you imagine HRT as an angle, the center of that angle is the position of your first shot. If the gun recoils left several times and exceeds the left half of tolerance, it will be forced to to recoil right at least once.
HRT is split in halves by crosshair position of a first shot in a burst, so that’s what we care about – half of tolerance, not the whole value.
If we return to our example with Gauss SAW:
Accumulated horizontal recoil from 2 shots of Gauss SAW is equal to 0.35, which is greater than half of tolerance: 0.2625. That is why Gauss SAW can only recoil twice in the same direction.
So the fact that 0.525 can be divided by horizontal recoil without residue has no meaning at all. It’s a nasty coincidence, nothing more.
I have tested and retested this theory many times with at least 12 different weapons, and it remains consistent and predictable.
The possibility that it works somehow differently behind the scenes still exists, but it is small.
The funny part is that HRT could take different values without affecting anything. Gauss SAW could have Tolerance anywhere between 0.36 and 0.69, and the result would be exactly the same – still kick only up to 2 times in the same direction.
This leads to funny and unexpected things. For example:
T32 Bull: 0.18 / 0.18 Recoil, 0.5 Tolerance
T16 Rhino: 0.2 / 0.2 Recoil, 0.7 Tolerance
TMG-50: 0.175 / 0.175, 0.7 Tolerance
T32 Bull has much lower Tolerance than T16 Rhino, yet they both kick up to 2 times in one direction.
TMG-50 has same tolerance as T16 Rhino, but lower Horizontal Recoil, so it kicks up to 3 times in one direction, giving it a wider recoil pattern.
How HRT can be used
Horizontal Recoil is the most unpredictable and uncontrollable part of the whole recoil system. You can’t compensate for random.
Horizontal Recoil Tolerance brings a piece of order into this chaos. Horizontal Recoil can bounce wildly all it wants, but only within the bounds of HRT.
Knowing how HRT works, you can calculate the width of the recoil pattern: the distance between the extremities of Horizontal Recoil:
Notice that Width is always larger than HRT, because Horizontal Recoil can exceed half of HRT once.
Calculations
First you will have to calculate the maximum amount of horizontal recoil kicks in the same direction:
N_Kicks = Round_Down ((HRT / 2) / Horizontal Recoil Minimum) + 1
In other words, to calculate the number of kicks, you have to divide HRT by 2, then divide the result by Minimum Horizontal Recoil, then round the result down, and then increase it by one.
For example:
T5 AMC
Horizontal Recoil: 0.2 / 0.2
Horizontal Recoil Tolerance: 0.45
HRT / 2 = 0.225
0.225 / 0.2 = 1.125
Round it down to 1, then increase by 1
N_Kicks = 2
Confirmed by in-game testing.
When you know the maximum amount of kicks, you can calculate the total width of the recoil pattern:
Width = N_Kicks * Horizontal Recoil Maximum * 2
For T5 AMC:
Recoil Pattern Width = 0.2 * 2 * 2 = 0.8 degrees
This means that as long as target’s Angular Size is less or equal to 0.8 degrees, you are guaranteed to hit it, from the standpoint of Horizontal Recoil.
Unexpected implications
Attention! The following issue was fixed in 7/7/2016 patch. It no longer works this way!
Conclusion
Horizontal Recoil Tolerance remained a blind spot of PS2 weapon community for a long time, and I’m happy to finally shed some light on it.
There is still much to do in theorycrafting of PlanetSide 2, but now we finally can predict a weapon’s recoil pattern just from its stats.
Please feel free to comment me with any questions regarding PS2 weapon mechanics.