
PUBG ballistics: sight zeroing, air drag and the aim point
Shooting at range in PUBG is not "point and click". The bullet takes real time to arrive, loses speed on the way and falls, and the sight is already zeroed at some distance. Here is what the point you actually have to aim at is made of.
What has to be computed
Three quantities, and all three depend on one another:
- flight time — how long the target has to move;
- bullet drop — how far below the launch line the round ends up;
- the zeroing correction — part of that drop the sight already compensates.
The catch is that all three depend on the range to the aim point, and the aim point depends on them. Only repetition breaks that circle.
The flight model
The game describes every weapon with four numbers: initial speed, drag coefficient, simulation substep and a drop scale. The bullet is stepped from those at 1/60 of a second:
dv/dt = −k · |v| · v + g
Drag is proportional to the square of velocity, hence the |v|; gravity adds its 9.8 m/s² downward, scaled by the weapon's own drop multiplier.
The simulation stops the moment the bullet has covered the range, then interpolates inside the last step so the answer is not rounded to a frame. The guards are simple — no more than 4 seconds of flight and no further than 2000 metres; once the bullet stops making forward progress, the target is out of reach.
The practical consequence: different weapons need different hold-over at the same range. Muzzle velocity differs by a factor of two between an AWM and a Mini 14, and the drag coefficient by more.
Zeroing: drop and hold-over are different numbers
This is where people usually go wrong. It feels as though computing the drop and raising the sight by the same amount would do. It does not, because the barrel already points above the line of sight — by exactly enough for the bullet to cross it at the zero range.
What has to be compensated is not the whole drop but the difference:
hold-over = drop(d) − drop(d_zero) · d / d_zero
Which leads to something the chart makes obvious: inside the zero range the hold-over is negative — the bullet is above the line of sight and you have to aim slightly low. Firing at 50 metres with a sight zeroed at 100 puts the round high.
Changing the zero on a scope does not change the trajectory; it changes that reference number, and the whole correction is recomputed from it.
The aim point is found by iteration
Now put it together. We want the point where the bullet and the target arrive at the same moment:
- The first approximation is the target itself.
- From the range to the current point, the shot is simulated — flight time and drop.
- The point moves: the target travels velocity × flight time, and the aim rises by the hold-over.
- If the new point differs from the previous one by less than a centimetre, the solution has settled.
The cap is four passes. Two or three is what it takes in practice: by the second pass the movement is already measured in centimetres.
One detail matters: the calculation uses relative velocity — the difference between the target's and our own. Firing from a moving vehicle, you carry its speed along with the bullet, and without that correction the lead drifts sideways.
What it buys you in a match
Correcting by hand past 300 metres is always a guess: half a head up, a body length ahead. A computed meeting point removes both guesses at once, vertical and horizontal, and it does so knowing which weapon is in your hands and what range the sight is zeroed at.
Which parts of this to switch on, and how far, is configured separately; the module list is in the PUBG cheat description. Other games solve the same problem differently: in War Thunder the shell decelerates harder and the flight time has to be found numerically, while in Rust projectile speed is given by a table of ranges.
If the product will not start, the whole sequence is in the launch guide.