BF1 Moving Spread


Original: BF1 moving spread, posted December 18th, 2016
Author: leptis

Credits to @Miffyli for the records and many comments and to @elementofprgress for update the required scripts.

The purpose of this thread is to give the structure of the moving spread in BF1 (parameters and times).

Analyzing the memory records we realized that the spread was a dynamic value that was constantly attributed to the soldier in the function of its movement, NOT ONLY WHEN FIRING. This allows us to record its variations when the soldier moves EVEN IN THE STATES WHERE HE CAN NOT SHOOT (Sprinting or Jumping).

The value of the spread is recorded in two circuits (ADS and HIPFIRING states) with the following movements FORWARD-SPRINTING (only HIP)-STRAFING-BACKWARD, separated by stop phases and a jump (two records for each weapon). NO SHOOTS ARE MADE DURING TEST.

This provides records like this (MG15 LW) - (ADS always blue, HIP always red):

In an old thread (2014), WoopsyYaya gave a formula to calculate the spread moving ADS in BF4: Moving ADS spread values (BF4)

The formula (without weapon modifiers by atachements or bullpup) is:

Actual Spread = (ADSMoveMin-ADSBaseMin) x Modifier + ADSBaseMin

The first step was to analyze the state of the art of BF4, analyzing BF4-AEK to validate the formula of WoopsyYaya.

The records were these:

Their analysis (anomalies in jumping not analyzed) provided the following results where the value “WoopsyYaya” is the value provided by the formula with Modifier = 0.50 for Forward and 0.50x0.75 for Backward and Strafing and “Deducted Modifier” is the modifier that should be used to comply with this formula. Original weapon parameters are given.


It can be seen that the formula is true for ADS (the formula was explicitly for this assumption), but not for HIPFIRING if we use 0.50 as the generic modifier for FORWARD (x = 0.75 strafing or backward). The modifier for this assumption is 1.00 … but with this modifier we are left without formula because what it is saying to us is that in HIPFIRING the spread is simply HIPMoveMin (the value = 0.75 for strafing and backward is still valid). To remember the penalty with high movement (Sprinting and jumping).

In BF1 they have been analyzed with the same methodology AUTOMATICO FACTORY, M1907 TRENCH, MG15 LOW WEIGHT and LEWIS LOW WEIGHT (one assault weapon, one medic rifle and two LMGs).

The values registered and the modifier deducted with the structure WoopsyYaya are:


  • The FORWARD, SPRINTING (in HIP), STRAFING and BACKWARD spread values are the same in every ADS and HIPFIRING state. NO DISTINCTION (0.75 factor is not applied). No advantage is gained by choosing a specific type of movement (for example to surround obstacles or corners). No penalty for SPRINTING.

  • Although the values of the basic multipliers are the same as those found in BF4 (= 0.50 for ADS and 1.00 for HIPFIRING), this allows to express the values of the moving spread in a much simpler way than the formula, which creates the illusion of a general validity (any state) that it does not have:

In ADS simply the average of the indicated parameters and in HIPFIRING always HIPMoveMin. Not formula is needed.

  • The “jumping” values show a different response of types of weapons in high level of movement states. This would only matter in transitions to a “ready-to-shoot” state. It emphasizes the NON-PENALTY of LMGs (always ready to shoot at nominal spread). Maybe that’s why a “Sprint Recovery” delay has been introduced (see Transitions). In any case, remember the effect of Spread FSM to realize the real value of the spread, not only the initial parameter.

The values of the modifiers corresponding to “jumping” are given as an indicator of the response to high movement states. The generalization to the types of weapons can be somewhat reckless because it is not validated by a sufficient number of weapons.


To emphasize that the Spread in high level of movement states CAN EXCEED HIPMoveMax that can not be taken as the maximum possible in some cases.

As the records provide the value of the spread by time it is possible to analyze the times and the forms of transitions between movement states.

Transitions are of this type (Automatico Factory: Still to forward and forward to still):

The increasing transitions seem to be a uniformly non-uniformly decelerated movement increasing, and the decreasing ones appear to be linear, although an initial and final leap of greater magnitude can be seen.

After many analyzes (too many) which seemed to show that the change pattern was of order 4 (perhaps the composition of two quadratic models, one for the acceleration of the soldier and another for the correlation speed- spread) I realized that the question was much simpler.

TRANSITION TIMES WERE FIXED, regardless of the amount of the change in spread. There isn’t a rate of spread/time. Only time is fixed. This is logical because the transition time depends only on the physics of the soldier, how he accelerates and how he stops, not on the magnitude of the spread variation. That’s why it should be the same for all weapons.

Taking into account the possible error margins in the measurements (the sampling step was 5 milliseconds so each measurement can have a margin of error of 10 milliseconds and it is difficult to appreciate initial and final points and specially the point of tangency in the growing movements), this allows us to make the hypothesis that they can be (only can be) round values like these:

In the event that we accept that the “Sprint Recovery Time” (time the soldier takes to be ready to fire after sprint stops in HIP) is applied after the decrease, these times should be added:

Automatico: 67ms
M1907 : 67ms
MG15 :167ms
Lewis :167ms

Note the over-penalty of LMGs