December 13, 2012

Aim acceleration in console shooters - Part 2: Results

Following the measurement procedure described in part 1 of this article, the aim acceleration characteristics of some popular FPS games on the Xbox 360 are now presented and discussed. The list of games is:

Call of Duty: Modern Warfare 2
Call of Duty: Black Ops
Battlefield 3
Halo: Combat Evolved
Halo 2
Halo 3
Halo: Reach
Halo 4
Shadowrun
Rainbow Six: Vegas 2
Team Fortress 2
Quake Arena Arcade
Borderlands
Unreal Tournament 3


A few considerations that should help with interpreting the results:
  • The shooter begins in a stationary position. The first frame of the shooter's rotation is identified by the first observable reticle movement in the captured video data. As such, the experiments do not measure the input lag between controller and console or the response time of the video display.
  • Unless otherwise stated, the results presented are for a full speed rotation (full stick deflection) at typical look sensitivities, which means they illustrate the effect of aim smoothing on the shooter's ability to twitch rather than his ability to make fine aiming adjustments. As it turns out, almost all games tested do not use any aim smoothing for small stick deflections, so it should not have much impact on the shooter's ability to track the target after engaging it.
  • The estimates of rotation angle and rotation speed are good but not perfect. The estimation error for rotation angle (attributed mostly to my own errors in judgement) is a fraction of a degree under ideal circumstances, but this can increase when the shooter reaches a high rotation speed because of the motion blur in some games. What is important is the overall trend in rotation speed over time rather than any slight variations from frame to frame.
  • In FPS games it is quite common for the shooter to make short twitches of 45° or 90° when searching for or fixing on targets. It's much less common to see large sweeps of 180° or 360°. Accordingly, we should be most concerned with the aim acceleration behavior over the first quarter of a rotation than anything afterwards. On the other hand, it is still useful to look at more data, say a complete rotation or a full second of time, to gain an understanding of the particular aim smoothing algorithm being used.
  • For the most part, I think it's sufficient to look at rotation speed as a function of time in order to assess the aim smoothing behavior of a game. If you're insistent on quantifying acceleration, the slope of the rotation speed curve (2nd derivative of the rotation angle curve) yields acceleration in degrees per second squared.



Game Year Developer Frame rate Look sens range
Call of Duty: Modern Warfare 2 2009 Infinity Ward 60 fps 1-10

Despite the criticisms of the style of play it promotes and the skill required to play it, CoD is frequently praised for a fluid and responsive aiming system. The 60 fps frame rate, which few other FPS games on the Xbox 360 have been able to achieve, no doubt has something to do with this. What we can also see below is a straightforward aim smoothing algorithm - the shooter's turning speed increases linearly from zero to maximum speed over a span of just 0.2 seconds. According to the rotation angle plot (left), 0.2 seconds corresponds to a 27° turn on 2 sens or a 48° turn on 4 sens.


It's also instructive to see how CoD handles smaller analog stick deflections. This can be simulated by reducing the amplitude of the step voltage applied to the controller circuit. Shown below are the rotation angle and speed plots on 2 sens for various percentages of a full stick deflection. As can be seen, the slope of the speed curve (acceleration) is identical in all cases. In other words, CoD subjects the player to aim smoothing regardless of how fast they're attempting to turn, but the time window of the smoothing effect is naturally reduced for low rotation speeds such as when aiming.





Game Year Developer Frame rate Look sens range
Call of Duty: Black Ops 2010 Treyarch 60 fps 1-10

Comparing the Blops and MW2 results, it should be clear that nothing was changed with regards to aim acceleration between these two iterations of the CoD series. Note that there wasn't any special reason for testing on 3 and 5 sens rather than 2 and 4 sens.





Game Year Developer Frame rate Look sens range
Battlefield 3 2011 DICE 30 fps 1-33

Battlefield 3 is our first game that doesn't use any aim smoothing. It actually presents the feeling of gradual acceleration by shifting the weapon slightly during the turn animation, but if you follow the reticle position (which is what matters) you'll find that it moves at a constant rotation speed the whole time. On a different but related topic, I would give the game a strike against for adding an extra frame of unnecessary input lag. This was discovered when I noticed that the stick must be activated for at least 2 frames (67 msec) to register any change in the shooter's look direction (tested pre-patch, might have been fixed).





Game Year Developer Frame rate Look sens range
Halo: Combat Evolved 2001 Bungie 30 fps 1-10

There exists a group of Halo players who remain strong supporters of the first installment of the series, viewing everything that came afterwards with a varying degree of contempt. They're probably right about the overall competitive merits of Halo CE compared to its successors, but they also tend to overreach by making unfounded assertions about the game's mechanics. One such example is the oft repeated claim that aim smoothing was introduced in Halo 2 or Halo 3 (depending on whether or not the claimant liked Halo 2) as part of Bungie's continuing efforts to appeal to casual players. As can be seen from the plots below, this claim is false.

Halo's implementation of aim smoothing differs significantly from that of CoD - although the increase in rotation speed is also linear, the initial speed is higher and the acceleration is spread out over a much longer period of time. You can't quite see it but the speed curves do flatten out beyond 1 sec on the time axis. Focusing on the first 90° of the shooter's turn, this takes about 0.5 sec on 3 sens during which time the rotation speed approximately doubles (114°/sec to 234°/sec). On 5 sens, a 90° turn takes 0.4 sec and the speed increases by a factor of 1.78 (153 °/sec to 273°/sec). In other words, the change in rotation speed over typical turning angles is big enough that you'll definitely notice it when twitching.


A natural question to ask is whether or not the aim smoothing in Halo can be avoided. The answer is yes, but only at the cost of turning slower. Again by testing a range of reduced stick voltages, I found that the shooter could rotate at a maximum of 70°/sec on 3 sens or 90°/sec on 5 sens without experiencing any smoothing. The 3 sens results are shown below with the curves labeled according to the equivalent stick deflection percentage. To put these numbers in perspective, avoiding smoothing on 3 sens would require 1.3 sec to make a 90° turn compared to the 0.5 sec for a full stick deflection. That seems impractically slow for trying to locate targets and secure first shot in the battle.





Game Year Developer Frame rate Look sens range
Halo 2 2004 Bungie 30 fps 1-10

Halo 2 aim smoothing is very similar to that of Halo CE, the minor difference being that rotation speed reaches its maximum slightly earlier (at about 0.8 sec instead of 1.0 sec). This modification would not be felt by the player unless they were making some very long turns at high speed.





Game Year Developer Frame rate Look sens range
Halo 3 2007 Bungie 30 fps 1-10

The Halo 3 results are essentially the same as Halo 2. You might notice an anomaly on the first frame of the 3 sens speed curve where the initial speed is lower than it should be. A glitch? I'm not sure how significant this would be in practice. Inconsistencies in the aiming system could be a serious problem, but a low rotation on the first frame might not be easily noticeable in light of the slower stick movement of a real player.





Game Year Developer Frame rate Look sens range
Halo: Reach 2010 Bungie 30 fps 1-10

In Halo Reach we again see the familiar pattern of gradual aim acceleration over the span of nearly a second. It looks like there might have been a subtle change to the smoothing algorithm such that maximum rotation speed is reached after a specific angle (about 225°) rather than after a fixed amount of time. Again though, this change is superficial as it would only be noticeable for very large turns.





Game Year Developer Frame rate Look sens range
Halo 4 2012 343i 30 fps 1-10

Halo 4 is the most recent installment of the Halo series. Its aim acceleration characteristics are similar to its predecessors and, in particular, appear to be identical to Halo Reach.





Game Year Developer Frame rate Look sens range
Shadowrun 2007 FASA 30 fps 0-9

Shadowrun is a game that received high praise from the competitive community, more so for its strategic depth than its shooting mechanics. As can be seen from the plots, it is actually quite similar to Halo with regards to aim acceleration. The 2 sens rotation speed curve reaches its maximum at about 1.0 seconds (which is cut off on the graph) while the 4 sens curve maxes out at 0.7 seconds. The slope of the speed curves appears to increase slightly over time whereas for Halo it was perfectly linear. This change is relatively subtle, so it's doubtful it would produce a dramatically different feel to aiming.





Game Year Developer Frame rate Look sens range
Rainbow Six: Vegas 2 2008 Ubisoft 30 fps 1-10

The first thing you'll notice about R6V2 is the slow turning speeds even on high sensitivity, which I guess could be attributed to it being more of a tactical shooter. Nevertheless, it is still interesting to see how another developer approaches aim acceleration. The results show the typical linear increase in rotation speed after starting off at a low value (initial speed is about 28% of final speed). The smoothing effect lasts for 0.37 sec, which is somewhat of a middle ground between CoD (0.2 sec) and Halo (0.8-1.0 sec).





Game Year Developer Frame rate Look sens range
Team Fortress 2 2007 Valve 30 fps 1-44

Although the PC version of TF2 remains the most popular by a wide margin, the Xbox 360 version was moderately successful in its time. The Xbox version is quite heavy on aim smoothing. The shooter starts off at such a slow rotation speed (45°/sec on 12 sens, 66°/sec on 20 sens) that there really isn't any way to avoid a lengthy period of aim acceleration (90° turn takes 0.58 sec on 12 sens and 0.46 sec on 20 sens). There's actually a weird bug in the game that causes the rotation speed to plummet instantly by a factor of 2 after 1.0 sec on time axis, but this isn't of much practical interest.





Game Year Developer Frame rate Look sens range
Quake Arena Arcade 2010 id / Pi 60 fps 1-13

If a franchise with as much history as Quake can't even gain a respectable following on the xbox 360, it seems that fast paced shooters on the console are forever doomed. Quake Arena Arcade runs at a smooth 60 fps and it stands as only the second game in our list to forgo aim smoothing in favor of the natural stick behavior. Curiously, switching the look sensitivity from 4 to 7 results in a change of only 13% in rotation speed.





Game Year Developer Frame rate Look sens range
Borderlands 2009 Gearbox 30 fps 1-11

Aim acceleration in Borderlands is similar to that of the Halo series. Once the rotation speed threshold (about 90°/sec on 4 sens and 135°/sec on 6 sens) is exceeded, it requires 0.8 seconds to reach maximum speed. I included two separate trials on 4 sensitivity to illustrate some inconsistencies in the aiming system - occasionally there is a higher than expected jump in rotation speed (hard to notice when playing because it's corrected on the following frame) as well as a lower than expected response on the first frame.





Game Year Developer Frame rate Look sens range Aim accel range
Unreal Tournament 3 2008 Epic 30 fps 5-20 1-10

I saved UT3 for last because there's a lot to say about its approach to aim smoothing. Like its twitch shooter counterpart Quake, it failed to gain any serious traction on the Xbox 360. The interesting thing about UT3 is that it actually has an aim acceleration setting which can be tweaked from 1 to 10. I've heard people trumpeting this setting as if it's the cure for all aiming ills, allowing the player to customize the level of aim smoothing or remove it completely. Don't get me wrong, I think an aim acceleration setting could be a nice feature for console FPS games which might even become standard if console developers weren't so stubbornly minimalist (compare to the wealth of settings offered by most PC shooters), but UT3's interpretation of this setting is puzzling to say the least.

Before going into what the aim acceleration setting actually does, let's first look at our usual plot of reticle speed versus time with acceleration set to its highest value of 10. For the physics impaired, max acceleration implies the fastest increase in rotation speed, i.e., the least amount of aim smoothing, so this is where we might expect to see the single frame transition from zero to top speed as in Battlefield 3 and Quake. What we actually see is probably the most byzantine aim smoothing algorithm ever conceived. The shooter's rotation starts off at a moderate speed that remains constant for 4 frames (0.13 sec), jumps to a higher speed that is also held for 4 frames, then ramps up rapidly, eventually settling at a very high value (off the graph) after about 0.9 sec. What purpose is served by deliberately introducing a discontinuity in rotation speed? It seems like the sort of thing you'd want to avoid when developing an aiming system that feels comfortable and consistent to the user.


So how about that aim acceleration setting? Intuitively, what I'd expect to see by adjusting this setting would be a slower / faster transition from the initial rotation speed to the final rotation speed. Keep in mind that the initial and final speeds are typically determined by the look sensitivity setting. As can be seen from the plots below, this is not what happens at all. Although the slope of the rotation speed curve (acceleration) does change according to the acceleration setting, the shooter always takes the same amount of time to reach max speed and it's actually just the initial and final rotation speeds that are being modified. In other words, the aim acceleration setting is behaving just like a look sensitivity setting. Perplexing implementation.





Concluding Remarks


I was somewhat surprised at the disparity among implementations of aim smoothing in the games tested. There isn't any 'stock' algorithm that developers rely on, and there also doesn't appear to be any clear relationship between acceleration and style of play. For example, Battlefield 3 and Quake Arena Arcade were both identified as games that don't employ any smoothing, yet there isn't much common ground between the two games with respect to movement speed, pace of play or duration of engagements.

So what can be said about the various approaches? I think it's worthwhile revisiting Call of Duty and Halo, two popular franchises which take very different approaches to aiming. More specifically, consider the Halo 4 and CoD Black Ops rotation speed curves for 3 sensitivity with 100% and 82% analog stick deflection, as shown below.


Similar to the results presented earlier for CoD MW2 and Halo CE, the 100% stick deflection curves illustrate a big difference in the duration of aim smoothing in the two games. In H4 the shooter requires a long time (1.0 sec) to approach maximum speed whereas in CoD BO the transition to max speed is very quick (0.22 sec). This is why a feeling of sluggishness is much more apparent in Halo when attempting to turn rapidly.

The 82% stick deflection curves are even more revealing with regards to the aiming philosophies of the two games. Halo grants the player a relatively large analog stick range (about 90%) at a low rotation speed and without any smoothing. The idea, I think, is to give the player a large 'aiming range' where the stick position is honored immediately. Only with a full stick deflection of 90%-100% (the 'twitching range') does the shooter accelerate to the high speed required for target searching .

In contrast, CoD BO always exhibits a brief period of acceleration when turning. However, the duration of the acceleration window is reduced according to the desired turning speed, and in fact it lasts only a few frames at typical aiming speeds. I suspect this is short enough to avoid negatively impacting the player's aiming ability . In my opinion, the merits of this system are its consistent behavior over the entire range of the stick (and for all look sensitivities) as well as its agreement with the basic purpose of aim smoothing, i.e., to provide a slight tempering of rapid reticle swings without grossly limiting the twitching ability of the shooter.


Coincidentally, I believe this is also the reason that 'slow turn' controllers are a bigger problem in Halo than CoD. These controllers have a worn out or defective analog stick that, when fully deflected, produces a voltage indicative of <90% deflection. This prevents the shooter from entering the 'twitching range'.
It can be argued that awareness and reaction speed in CoD are more important than precision aiming. Shooting battles are frequently concluded in less than a second, often before the slower player even has a chance to return fire.

4 comments:

  1. Astounding work as always. This is one big myth busted for the competitive Halo community. Also for the record, is there any other reason why the aiming may feel different in the Halos? FoV perhaps?

    ReplyDelete
    Replies
    1. Hi Duji. I've not been able to find any definitive reason why aiming feels different in the various Halo games. While I think FoV could potentially influence how a player perceives their turning speed, I'm not sure there's a wide enough FoV disparity to account for it.

      Delete
    2. Super late, and probably unhelpful to you at this point, but the aiming in the first three Halo titles basically feels like a 1:1 turn rate(each 'notch' of pressure on the thumbstick registers as an equal turn speed---IE. pushing the thumbstick halfway will give half sensitivity). The difference between the first three is basically how smooth of a gradient has(how many notches of speed the game registers). Halo CE is relatively clunky, Halo 2 is quite smooth, and Halo 3/ODST is in-between, but with a rather large dead-zone(thumbstick doesn't register until a certain pressure is applied).

      Reach and 4 have more of a steep gradient, more of an exponential increase compared to the more linear increase of the previous.

      Of course, the poster obviously has tons of data I have little knowledge about. I base my observations on feeling, rather than raw data, and am probably being incorrect by using turn acceleration and 1:1 as descriptive terms.

      FOV has some effect, but using points as reference clears most of the effect that away.

      Some comments on the post:
      First, I'm not sure exactly what you were using to get these results. Depending on the game, the X and Y axis sensitivity ratio can range from 1:1 to 2:1. In UT3's case, acceleration is given to the X-axis, but not the Y-axis(the Y axis gets two speeds: slow and fast), which was a strange choice indeed, and the game suffers a bit for it.(subtly turning the stick upward can fling your aim much higher than wanted, where as the horizontal tilts never have that issue)
      While it is a strange system, and the Y-axis issue aside, the game offered very tight aiming controls, which allowed plenty of precision to the user.
      Also, the aim acceleration option only affects the X-axis. Look sensitivity affects the Y-axis.

      Quake is an anomaly, at least compared to what id normally does for their console controls. The speed gradient is insanely steep(the game is almost unplayable to me), where as most of their other games use a close to 1:1 ratio for their speed.

      Delete
  2. Hi, nice article. I've found a problem with my controllers and Xbox dealing with the aim acceleration. There simply is none. I have a video that documents this. It might be interesting for you.
    http://www.youtube.com/watch?v=nOyuJ14piDg

    ReplyDelete