Tools

Recoil Visualizer Guide

Published
5 min read
Independent Community Guide
Last reviewed

What the Recoil Visualizer draws, how the game recoil stats (first-shot multiplier, buildup and its start, horizontal range, stance) are used, which attachment stats it reads and what it does not model.

This guide documents the Recoil Visualizer. Open it in another tab to follow along.

Open the Recoil Visualizer

The Recoil Visualizer turns a weapon's recoil stats, plus the stance, attachments and adjustments you set, into a pattern on a flat target at a chosen distance. The pattern is calculated from the listed stats. It is not a recording of an in-game spray, it does not include mouse correction, and it does not predict where bullets land. This guide explains what the graph shows, where its numbers come from and how to use it to compare weapons.

What the graph shows

  • Each point is where the aim point has drifted to by that shot: the sum of every recoil kick before it. The first shot is the origin (0, 0).
  • Both axes are in metres on a plane at the selected distance: displacement = distance × tan(recoil angle). The same angle moves the aim point further on a more distant target: 0.5° is about 0.17 m at 20 m and about 0.87 m at 100 m.
  • Points are not bullet impacts. Bullet spread is not added to them, and the visualizer does not simulate how a player pulls the mouse against the recoil.
  • Show Target Dummy draws a 1 m × 2 m silhouette as a size reference. It does not count hits.
  • Below the graph, Spray summary lists the climb and side drift of each weapon, and Kick multiplier per shot plots how hard every shot kicks.

Recoil per shot

Vertical recoil always moves the aim point up. Each kick is the weapon's recoil angle multiplied by a per-shot factor:

  • kick(n) = recoil angle × m(n), with m(1) = first-shot multiplier.
  • For later kicks, m(n) = 1 + buildup × max(0, n − buildup start). The buildup start is the number of shots fired before buildup takes effect.
  • The 1st Shot value sets the first kick. Until the buildup start is passed, later kicks are ×1. After it, each kick grows by the Buildup value per shot, in a straight line with no cap.

An example: a first-shot multiplier of ×2, a buildup of 4% and a buildup start of 5. The first kick is ×2 and the next shots are ×1. Shot 6 kicks ×1.04, shot 7 kicks ×1.08, and only shot 30 kicks as hard as the first. So the opening shot can be the hardest kick of a short burst.

Where the recoil values come from

The weapon card marks each value with its source:

  • Game data: the weapon's own statistics. The first-shot multiplier, the buildup and its start, the horizontal recoil range and the stance multipliers are read from there.
  • Site value: a value maintained on this site. It is used only when the weapon's statistics do not state that value, for example in older data. A site buildup starts at shot 1, as before.
  • Default: neither is available. The first-shot multiplier is 100% and the buildup 0%, so every kick is the same size.

Stance

  • Standing uses the recoil and spread as listed.
  • Crouching and Prone multiply recoil and spread by the weapon's own stance multipliers. Most weapons state ×0.875 recoil crouching and ×0.75 prone.
  • A weapon without stance multipliers uses ×1 in every stance.
  • The stance is the same for the whole spray. Changing stance mid-spray is not modelled.

Simulation Length

  • Time: shots = ⌊RPM ÷ 60 × seconds⌋. At 600 RPM, 2.5 s gives 25 shots.
  • Mag: one full magazine, using a fitted magazine attachment's capacity when there is one.
  • Shots: exactly the number you enter.

Visualization Mode

Horizontal recoil is a range: each horizontal kick is somewhere between the smallest and the largest value. The modes differ only in how horizontal kicks are drawn:

  • Cone of Fire (Bounds): no randomness. For each shot it draws a band from −X to +X, where X is the sum of the largest horizontal kicks so far: the furthest sideways the aim point could drift if every kick went the same way. Spread is not drawn.
  • Cumulative Spread: every horizontal kick goes right at its largest size, which draws one edge of the cone. It is repeatable.
  • Random Path: one path. Each horizontal kick takes a random size within the range and goes left or right with equal chance. A new path is drawn each time the graph is recalculated.
  • Multiple Simulations: 30 random paths drawn as thin lines, each built like Random Path. The overlapping lines show the range of drift; they are not a probability map of bullet impacts.

Horizontal direction

A few weapons have a horizontal range that starts at 0°, such as [0°; 0.65°]. The visualizer reads this as recoil that only pulls right: their horizontal kicks always go right, with a random size within the range, in Random Path and Multiple Simulations. In Cone of Fire (Bounds) mode their band runs from 0 to the right only. This reading is inferred from the range, because the statistics have no separate direction value. A site-maintained right-side flag is used only for a weapon whose statistics state no range. Other weapons have no built-in pull to either side in this model.

The spread overlay

  • spread radius = distance × tan(spread angle)
  • With Show Spread on (in Cumulative Spread and Random Path), a circle of this radius is drawn around every point. Spread Mode chooses the weapon's Normal or Hip Fire spread, after attachments and the stance.
  • The circle is an overlay, not sampled bullet positions. The points are calculated without spread and do not move when the overlay is turned on or off. The radius is the same for every shot.
  • Movement and jumping are not modelled.

Attachments and adjustments

The visualizer reads these attachment stats, adds their percentages together and applies them once (two −10% modifiers give −20%):

  • vertical and horizontal recoil, together with the Module Modifiers (%) fields;
  • Buildup, which scales the weapon's buildup but does not move its start;
  • spread and hip-fire spread, which only change the overlay radius;
  • magazine capacity, which replaces the weapon's capacity.

Nothing else is read. The weapon card adds up Stabilization and shows it, but the pattern calculation does not use it, so changing Stabilization does not change the points. Other attachment effects, such as aim speed or movement speed, do not change the graph either. Check the modifiers shown on the weapon card to see what an attachment changes.

Comparing weapons

  • Use Cone of Fire (Bounds) or Cumulative Spread for repeatable comparisons; Random Path and Multiple Simulations draw different paths each time.
  • Compare weapons at the same distance, stance and simulation length.
  • Read the kick profile: the first-shot multiplier, the buildup start and the buildup decide which part of a spray kicks hardest.

What the visualizer does not model

  • Mouse compensation, recoil recovery, pauses or bursts.
  • Where bullets land inside the spread.
  • Stabilization, movement, and a stance change during the spray.
  • A moving target.
  • Game updates the site's data has not caught up with yet.

About the author

milkdudofafrica

Creator and maintainer of STALCRAFT Meta

milkdudofafrica builds and maintains STALCRAFT Meta, an independent fan project that is not affiliated with EXBO. The guides are written from EXBO's game data and the formulas the site's tools use, and were checked against that code on the date shown above.

Found a mistake?

If a guide disagrees with what a tool shows, or a game update has changed a mechanic, please report it.

Contact