[This article was originally posted on GyroWiki here]
Thumbsticks are widely used in modern console games. Sometimes games use thumbsticks when they really are the most practical option available on a standard modern controller: movement in any direction and steering a vehicle seem to me to be obvious examples.
But games have also used thumbsticks for moving a cursor or aiming a weapon for close to 20 years now, and while developers and gamers alike have long acknowledged they have severe shortcomings when used for these tasks, an incredible amount of inertia seems to be keeping the industry from embracing a better alternative already available in most modern console controllers: the gyro.
But all I talk about is gyro. Let's, for one post, focus on thumbsticks as aiming devices. Let's remind ourselves how much work goes into making them less awful than they could be, and acknowledge that they're bad enough that if there's a more modern technology that is better suited to the task — both easier to learn and has more room for skillful mastery — then perhaps we should embrace it.
Hard to learn
Let's look briefly back at what is commonly acknowledged as the first game to have dual-analog controls by default, Alien Resurrection (Quake II for PlayStation also had dual-analog controls, but they were optional):
The game's control setup is its most terrifying element. The left analog stick moves you forward, back, and strafes right and left, while the right analog stick turns you and can be used to look up and down. Too often, you'll turn to face a foe and find that your weapon is aimed at the floor or ceiling while the alien gleefully hacks away at your midsection.
Dual analog moving and aiming has become part of the common language of playing games. Generally, if you are able to game "fluently", you are able to play these kinds of games in this way with relatively little difficulty. But it's easy to forget what it's like for someone new to gaming or new to these kinds of games in particular.
Anecdotally, I've seen people try PC gaming for the first time and get reasonably comfortable with mouse aim pretty quickly, but later get fed up with their first console shooter as they find themselves aiming straight up or straight down and not sure why.
When we aim with a thumbstick, we almost never point exactly in our intended direction. Much of the time in shooters, most of our aiming is left and right, from one target to another. Even before there's a target to shoot at, players will need to be able to turn left and right to navigate the game world. But what happens when the player intends to turn left, but has the stick slightly below horizontal? The camera drifts down.
Players comfortable with these controls will make slight adjustments and recover without too much difficulty. But what surprises me as someone who has learned to be comfortable with these controls longer ago than I can remember is how often new players fail to adjust their aim direction, but instead are confused as to why this is happening at all. "I said turn left. Why are you going down?" So they counteract it. Start turning right instead. Much of the time, this will also be below or above horizontal, and they keep going down. They find themselves looking at their feet. Left and right no longer turn the camera left and right in an intuitive way — now it's spinning around its centre (a problem with mouse and gyro aiming, too, but confusing to a new player who never meant to look at their feet or at the ceiling in the first place), and for a new player who feels like they only asked the game to turn left or right, it can be perplexing to find themselves in this position.
Sure, we also almost never move the mouse in the exact direction we intend, either. But because continued movement in game requires continued mouse movement in the real world, we are already adjusting. "Steering" the aimer the way we do with thumbsticks is simple in concept, but seems to me to be quite unnatural.
I don't know exactly what it is that makes it so much worse for aiming. One factor might be the directness of mouse (displacement to proportional displacement, velocity to proportional velocity) compared to the indirectness of the thumbstick. Another might be the small size of the thumbstick compared to the wide range of motion required to play with precision. Whatever it is, it sure seems to be the case that thumbsticks introduce serious difficulties to comfortable aiming.
Now, let's acknowledge that games have made it easier to avoid these difficulties. Cross-shaped deadzones and aim assist are ways that games try and interpret the player's intentions a little loosely and help them out.
Let's start with aim assist in arguably the first popular dual analog game, Halo. Here's what Halo's developers had to say to Steve Haske in an excellent interview for Waypoint:
There’s a lot of code in Halo that interprets what you’re doing—how fast did you move there, what are you looking at? If it’s an enemy, we can assume that when you slow down, you’re trying to aim. So there are pages and pages that interpret the input that comes in, in a way that isn’t blatant and in your face. We tried to conceal how much help we’re giving the player.
— Jaime Griesemer
It essentially buffers your movements, so that you get the movement you wanted, not necessarily the one you were making. Which gives you a really controlled, precise experience, beyond what your thumb could actually give you, unassisted.
— Stuart Moulder
Not all games do it the same way, or to the same degree, but aim assist goes a long way to making thumbstick aiming not awful. It's also a lot of work on the part of the developer. While we tend not to measure code in "pages", Jaime's making the point intended to be understood by non-programmers: it's a lot of code. It's a lot of work.
In comparison, mouse aiming is really straightforward. There's no need for loose interpretation. A mouse movement becomes a proportionate angle change for the camera:
camera.yaw += mouse.dx * mouseSensitivity; camera.pitch += mouse.dy * mouseSensitivity;
Where mouse.dx and mouse.dy are the amount the mouse has moved since input was previously sampled. That's it. If you have mouse acceleration (even good, framerate-independent mouse acceleration) it's only a few more lines, depending on how you do it. Good gyro controls look very similar, but that's for another post.
Check out Nick Weihs's GDC talk on his work implementing aim assist in Insomniac Games' Resistance series. It's about half an hour (20 minutes if you watch it at 1.5 times speed like I did), and it is useful here for two reasons:
- We get Nick's very educated position on the differences between mouse aim and thumbstick aim, and
- We can get a good understanding of what is involved in good aim assist.
Let's start with his assessment of thumbstick aiming as compared to mouse aiming:
Keyboard and mouse controls are very good as far as aiming devices go because they're intuitive, they're accurate, and they give you a good sense of connection to the character you're playing as. The problem with keyboard and mouse is that they're not very good on the couch.
On the other hand, controllers are "very poor as far as aiming devices go."
Let's summarise what's going on with aim assist here:
- A cross-shaped deadzone means near-horizontal input will be treated as exactly horizontal, near-vertical input will be treated as exactly vertical. This helps players intending to turn in only one axis actually achieve that.
- Vertical inputs are slowed down, and diagonal turn speed is slowed down even more. In fact, a wide variety of inputs are very finely tuned to cover a variety of purposes, including the stick input and acceleration.
- As the aimer approaches a target, the player's input is nudged closer to the ideal input to track the target's movement across the screen. Nick refers to this as "magnetism".
The trade-off of the deadzone is that much of player input that might've been deliberate gets ignored. Players need to move the stick disproportionately far to make small adjustments. The trade-off of magnetism — where the game helps the player follow what it thinks their intended target is — is that the player's intention can be misunderstood, with the cursor slowing down over targets the player wants to move past, for example.
But it seems that more is gained than lost. It's a lot of work and goes a long way to improving the player experience. I know some hardcore players want as little aim assist as possible, but from Insomniac's tests and Bungie's work on Halo, it seems that aim assist may be a necessary part of making these games enjoyable to a large enough player base for the games to be worthwhile.
So, does aim assist level the playing field? In question time at the end, Nick is asked how thumbstick with aim assist might compare to keyboard and mouse. He responds:
Keyboard and mouse is just better… The thing about mouse is it's basically everything you want. It's the most accurate and the most deliberate.
This won't be exactly everyone's experience. But under these circumstances, with years and years of experience stick aiming and mouse aiming, and a couple years gyro aiming, this is mine.
Cursor on a warped plane
Still, it can be hard for players to accept that the thumbstick might be so poor for aiming. So let's talk about a difference more widely accepted: thumbsticks are not good for moving an on-screen cursor. Real-time strategy games and Dota-likes that require fast point-and-click interaction with the world are almost nonexistent on consoles. When they are, they make huge concessions, and very creatively work around the issue of having no mouse.
This doesn't make them bad games! By using these constraints as a springboard to explore new ways games can be designed around a controller, we get interesting, unique strategy games like Tooth and Tail and the Halo Wars games. But this also shows we haven't found a good way to manage large armies or quickly choose between many moving on-screen elements the way we do with a mouse.
If you've ever used a joystick to move a hand to select a character in a Super Smash Bros game, you know moving a cursor with a thumbstick is not anywhere near as natural as a mouse. Using something like JoyShockMapper to move the Windows cursor with one of the thumbsticks is an easy way to experience it right now. It's really not ideal. The pointer either moves too slowly or is too fast to reliably hit small icons.
If you've played Destiny and used a stick for the on-screen cursor, you'll find they've managed to dramatically improve the experience. Between the way the icons change position depending on where the cursor is and the size of the cursor itself, it's functionally the same as having a single-pixel cursor, but inflating all the clickable items by the diameter of the cursor, while also shrinking the space between those inflated icons. Making small objects big is a great solution, but only works with relatively few items on-screen. What about playing a real-time strategy game, with dozens of small, moving units to manage?
Or look at the excellent open source game osu!, a rhythm game that involves quickly clicking on circles in time with the music and following them as they move. It's great. While there's debate among its fans as to whether playing with a mouse is as good as playing with a stylus, there's one thing everyone will agree on: thumbsticks are almost useless for this game.
You can try it yourself with JoyShockMapper or any tool like it to convert controller inputs to mouse inputs. If you can figure out settings that are actually good for playing this game with thumbsticks, please let me know!
Now, if we're all on the same page with the thumbstick being a poor mouse substitute for pointy-clicky stuff, I've got a question for you: are shooters really all that different?
When we look around in a first person shooter, it may not look that similar to manipulating a cursor at first blush. But if the crosshair is our cursor, we're moving it much the same way we would a mouse cursor. If you map the world around the player by equirectangular projection to a 2D "map" on the screen, you'd find that as you move your mouse, the crosshair moves around the map in the same way you'd expect the Windows mouse pointer to on your desktop. Vertical movements of the mouse result in vertical crosshair movements. Horizontal movements move as you'd expect, too.
Yes, it feels different to have the camera follow the cursor, but the moment-to-moment, sub-reaction-time actions you take are all the same. 2D shooters like Soldat, Nuclear Throne, and Enter the Gungeon already have the camera partially follow the camera without complicating the interaction by much, so the line between a cursor-locked camera and a fixed viewpoint is a blurry one.
And sure, the equirectangular projection distorts the image — who's to say those distortions don't meaningfully change the cursor control in such a way that a thumbstick might be a better fit for controlling a camera in a 3D space? But the vast majority of action happens near the horizon, where there is little-to-no distortion. That is to say, the vast majority of action in shooters happens where a cursor that can freely move independently of the camera would respond almost identically to a given input as a crosshair locked to the centre of the screen. If one is much easier with a mouse, the other probably is, too.
With some movie magic, here's a crude approximation of what Overwatch could look like with the aimer moving freely around the screen.
If thumbsticks are bad at controlling a cursor in a flat plane to interact with small but slow-moving on-screen elements (such as playing a real-time strategy game), why should it be much better for hitting small moving objects that are actively trying not to get hit — such as playing a shooter?
Thumbstick aiming still has uses
I'm not saying games shouldn't use thumbsticks for aiming at all. The option should be there for those whose unusual circumstances make a mouse or mouse-like input difficult. Or even without unusual circumstances. If someone prefers to use thumbstick aiming, why shouldn't they be able to? If we embrace the fact that games assist thumbstick players, games can be more transparent about what they're doing. Aim assist can be less of a black box to players, and even work in more obvious and creative ways to help players who would prefer it.
But let's also wake up. We've had no better option than thumbsticks for console aiming for so long that we reject solutions already embraced (even if poorly) by a few other games. We can do better.
If not thumbsticks, then what?
Thumbsticks aren't the ideal input for some games, but a mouse isn't always practical. When playing on the couch, in bed, on the go, controllers have the advantage of not needing a surface to rest on. The usefulness of a mouse depends a lot on a good surface to use it on (such as a mousepad), so keyboard and mouse are never going to take the place of controllers in console gaming.
But in most modern consoles we have more than just buttons, triggers, and thumbsticks: we now have gyro. Sure, you might've encountered sloppy, unreliable, unpredictable motion controls. But when done right, the gyro is a responsive, precise input. It's a mouse that doesn't need a surface, doesn't take your thumbs or fingers away from sticks, buttons or triggers, and doesn't require much work at all to implement well.
You just need to know how. And that's my expertise. Please check out the tutorials on GyroWiki -- it's all free, for the express purpose of helping you make games control better!
Oh, and if you're still not sure, here's osu! played with the DualShock 4's gyro: