Basics
The spray pattern of any weapon in CS:GO is a result of:
- Inaccuracy
- Recoil
inaccuracy
Inaccuracy adds a measure of randomness to the otherwise fixed recoil pattern. It is different for every weapon and is affected at least by the following factors:
- Running > Walking > Standing > Ducking
- Jumping
- Climbing ladders
- Number of shots fired ⁄ time
- The mood of Valves dev team :)
recoil
Recoil is the fixed pattern unique to each weapon and weapon mode (scoped or silenced). Generally is goes up and then to the sides. To test the recoils pattern for any weapon without the inaccuracy, use this command in the console:
- sv_cheats 1 ⁄⁄ Allow cheats on server
- weapon_accuracy_nospread 1 ⁄⁄ Disable weapon inaccuracy spread
The recoil effect is reset when you stop shooting and you wait until
- the dynamic crosshair is back to default
- the weapon model is back in default position
compensation
You have most likely already learned to pull down after the first shots to compensate for the upward motion of the spray pattern. Once you have mastered that, start to compensate for the sideways motion as well. Every weapon has a different timing required to compensate properly. The following animations should help to understand the general flow of the spray pattern and the mouse movement needed to compensate, but in-game timings might be a bit different.
All due credits to twowordbird for his great spray pattern animations and his article on CS:GO Recoil Mechanics.