During Operation Health, we identified an issue with the L85A2 after analyzing a community submitted video from ExecCS. At first it seems like it was misaligned, but after further investigation we found out that this issue affected all weapons.
The issue comes from the fact that we displace the weapon sights from the center of the screen when we have recoil being applied to it. We did this to create a spray type system while still firing the bullet where the weapon appears to be aiming. Unfortunately, that didn’t work out the way we intended. The weapon offset in first person created a parallax issue between the gun and the world. The gun you are holding is rendered at a fixed 50 FOV (“Field of View”), but the world is rendered at 60 FOV for consoles and anywhere from 60-90 FOV on PC. Because of this, any amount of movement we do with the First Person visuals off the center of the camera will immediately cause alignment issues with the weapon.
This means that bullets did not always land exactly where the reticle is. Sometimes it was by a very small, almost negligible margin, but at other times, it was far from the reticle.
The rework
The first step we took was to remove the offset entirely. Unfortunately, a lot of the recoil was driven from the weapon offset, so the recoils were too easy to control. Having no solution to that issue, we felt that we had to tweak all of the recoils.
When attempting this, we immediately ran into another issue. The way the old recoil system used to work only let us define one recoil pattern definition.
So for example, say you fired a full magazine with the old system. The first bullet would go directly where you are aiming. To calculate where the second bullet would go, the engine would select a random point within a set of parameters shaped like a diamond. To calculate the third bullet the engine would take the position of the second bullet and take another point in the diamond shape using the second bullet position as the diamond’s origin (0, 0), and so on and so forth for the rest of the bullets.
That left us with a system that is still very random number generator (RNG) dependent that pulled hard on the camera and made the weapons feel erratic or unpredictable. This did not suit our needs, and we felt like it was a good opportunity to revise our recoil system.
Multi-Stage Recoil
Enter the multi-stage recoil. This let us define as many recoil data sets as we wish at any stage during a fully automatic spray. So let’s go back to our example. Obviously, the first bullet always goes exactly where you are aiming. The second one is driven by a simple left / right pull value. This time, we can say to the engine “For the second bullet use this recoil data set and for the third bullet, use this other data set” etc. That way, we can say where every bullet goes in relation to the previous one.
That means that we have a perfect control over where every bullet goes, with no other RNG involved. With this system, we were able to create much more precise recoil patterns.
Our vision for recoil in the future
Our vision is to have a recoil system that stays true to Siege and how it feels without ever making the player feel like they were cheated out of a skillful shot, or that they got lucky with a poor show of skill.
We do not want to overwhelm the players with an insane amount of recoil patterns to learn, so we have divided them into families. Each family will all have the same kind of pattern, while having small differences to make sure they still feel different from one another.
The weapons have been divided as such:
AUG A2, Type-89, F2, C7E, AR33, G36C, L85A2, 556xi, PARA-308
552 commando, AK-12, C8SFW, 416-C, R4C
G8A1, M249, 6P41, T-95 LSW, PDW9, P90, Scorpion EVO 3 A1
MP5k, MP5, FMG-9, T-5, MP5SD, MPX, 9x19VSN, MP7
MK17 CQB
SMG-11, Bearing 9, Vector .45 ACP
Shotguns, pistols, DMRs and some lower rate of fire SMGs have been excluded from this list because their recoil has not been reworked entirely. We have removed the small amount of weapon offset from them but it wasn’t affecting the recoil enough to warrant a change.
Upcoming Tests
Obviously, this change is not one we want to implement without proper testing. The updated recoil system will be available on the TTS on September the 20th.
We are very excited for you to try out this new system, and we strongly encourage you to share feedback with us on the Rainbow 6 TTS subreddit.