The Absolute Basics of Good Gyro Controls

March 30, 2021
protect

A game is only as good as its controls. And when it comes to precise aiming in shooters, gyro aiming (where the whole controller is treated as a frictionless air mouse) is both easier to learn for new players and gives competitive players more room to excel than thumbstick aiming alone. So, naturally, you want your game to have really good gyro controls.

<iframe title="Embedded content" src="//www.youtube.com/embed/Ahp-YHxGY-k?enablejsapi=1&amp;origin=https%3A%2F%2Fwww.gamedeveloper.com" height="360px" width="100%" data-testid="iframe" loading="lazy" scrolling="auto" class="optanon-category-C0004 " data-gtm-yt-inspected-91172384_163="true" id="916281848" data-gtm-yt-inspected-91172384_165="true" data-gtm-yt-inspected-113="true"></iframe>

Gyro gaming community member Augur doing an aiming exercise in Aim Lab using Steam's gyro support for PlayStation's DualSense controller

Implementing good gyro controls is both hard and easy. We know it's hard because games that already do offer gyro controls are very inconsistent in what options they provide. They haven't "figured it out". But once you know what to do, the basic rules found here are easy to understand and easy to implement. They'll appear obvious to you once you know them.

And isn't that so often the way with good game design solutions? The best solutions look so easy and obvious once you've found them, even if they eluded you for the longest time. So the hard part is done. Here's the easy part -- how to implement good gyro controls.

This advice has been thoroughly tested on PC over the years by a growing community of players using a variety of input remappers to force better controls into games. Even though they're using standard console controllers, they're enjoying much more reliable, precise, and predictable gyro aiming with these tools than in any console game.

I first shared these rules in May 2019, titled Good Gyro Controls Part 1. Since then, this advice has only been confirmed as more and more players tested them. But that's a much longer article, explaining far more advanced options in great depth. What follows here is, for your convenience, a summary of the basics. Read the full article for more.

If you're making games on any platform except Xbox -- the only platform that doesn't have a gyroscope in the controller -- then this article is for you.

Every developer dealing with game controls should know this 1 core principle and these 3 general rules, because these are the absolute basics of good gyro controls.

One Core Principle

The gyro is a mouse.

As soon as we talk about gyro or motion controls, we expect fancy sensor fusion solutions, where a gravity vector obtained from the accelerometer is combined with local angular velocity obtained from the gyro, calibrated automatically to counter any bias, and converted to an orientation. But we're not interested in that here. It's imprecise -- a compromise between two disagreeing sensors -- and irrelevant. We don't care about the controller's orientation any more than we care where a mouse is on the mousepad. We only care about its moment-to-moment movement. We only care about using the gyro as a mouse.

(EDIT July 1st, 2021: There are advantages to fancy sensor fusion solutions for using gyro as a mouse, but they need to be weighed up against their difficulty in implementation and their imprecision. See this article on GyroWiki for a new way to get the best of both worlds -- simple, error-free "player space" gyro controls.)

Like a mouse, a gyro gives players direct and immediate control over something in the game, like they're reaching in and moving the camera or cursor themselves. Yes, the gyro gives angular velocity, while the mouse gives displacement. But we can convert velocity to displacement easily (displacement = velocity * time), and that's basically it! Then just use local pitch displacement how you'd use the mouse's vertical displacement; use local yaw displacement how you'd use the mouse's horizontal displacement. Multiply by sensitivity. Done. Because some players hold their controllers differently, let them choose between yaw and roll for the horizontal axis, with yaw being the default. Or be like Overwatch on Switch and let players use both axes at the same time. Simple!

<iframe title="Osu! with DualShock 4 Gyro (JSM)" src="//www.youtube.com/embed/GPMrbboJ9QU?enablejsapi=1&amp;origin=https%3A%2F%2Fwww.gamedeveloper.com" height="360px" width="100%" data-testid="iframe" loading="lazy" scrolling="auto" data-gtm-yt-inspected-91172384_163="true" id="626864207" class="optanon-category-C0004 ot-vscat-C0004 " data-gtm-yt-inspected-91172384_165="true" data-gtm-yt-inspected-113="true"></iframe>

Rhythm game osu! is virtually unplayable with thumbsticks, but a lot of fun with gyro controls. This example uses JoyShockMapper to get gyro input from a PlayStation DualShock 4

And since the gyro is a mouse, any game that plays better with mouse should make use of the gyro. This is how we know what games would benefit from gyro. Everything from character selection in a fighting game (ever noticed how clunky it is to move a cursor with a thumbstick in Smash Bros?), to full control of point-and-click games, even real-time strategies! But our focus here will be the kinds of games that give us direct camera control: shooters like Overwatch, Fortnite, DOOM Eternal, Apex Legends, Call of Duty, and Battlefield; and third person action games like Metal Gear Solid, Tomb Raider, Uncharted, and Horizon. These games all obviously benefit from mouse when it's available. But none of them use the gyro on PS4 and PS5, even if they do on Switch. Weird, right?

Remember that the Switch isn't exceptional for having gyro controls; the Xbox is exceptional for lacking them.

Finally, since the gyro is a mouse, we know how important it is not to force any weird filters onto players. If a game has forced acceleration, forced deadzone, forced smoothing, or any other kind of filtering that the player can't turn off, its gyro aiming is bad. Just like it'd be bad to force these things on mouse aiming. We can provide these options, but they must be optional, and they should probably be off by default.

With that in mind, let's look at three general rules for making sure your gyro aiming lets players do what they need to do.

Three General Rules

1. Sensitivity - Range, Resolution, and Scale

Like with mouse and stick sensitivity, gyro sensitivity is what lets the user control how fast the camera will turn compared to how strong their input is. For the most part, mouse sensitivity and stick sensitivity numbers don't mean anything intuitive to players, and there's not much that can be done about that. The scale is arbitrary, and developers will often choose what looks nice (although there's something of a "standard" mouse scale that's shared by Id, Valve, Respawn, 343, and more by convention).

It's different with gyro aiming. With gyro aiming, unless you're moving a cursor across the screen in a 2D game, you're usually turning the camera by turning the controller. And so there really is one correct scale here, and we call it the natural sensitivity scale. A sensitivity of '1' means if you turn your controller X degrees, the camera will turn X degrees. It's one-to-one. A sensitivity of '2' means the camera will turn twice as far as the player turns the controller, and so on. Simple, right?

Here are three reasons to use this scale:

  1. It's intuitive to the player. With a little explanation, the player now knows exactly what the number on the screen means.

  2. It's transferable between games. This is the scale. You don't have to have read this article to figure out that this is the scale you should use. And so players should be able to expect to see this same scale around the place and to be able to re-use their settings across games.

  3. Players are already using it. The open source input remapper JoyShockMapper lets players use the same settings across different games by using this scale. Even gyro enthusiasts who use other input remappers (such as Steam) compare sensitivity with each other by first figuring out what it is on the natural scale.

Now, what number we show to users isn't that big a deal, right? I really do think you should use this scale, but even if you don't, it's only an inconvenience. Players will take longer to figure out the settings they want, but once they do, the game will still feel the same. But I want you to understand the sensitivity scale we're using when we talk about something far more important: range and resolution.

Range is just how high and low the scale should go. It is imperative that you get this right. If your range doesn't include the sensitivity a player is most comfortable with, they're not going to have a very good experience with your controls.

There are games out there where the top end of the slider has a big ol' 10 on it, but it only means a natural sensitivity of 1. This is not nearly high enough.

So here are some real-life numbers for you. In the gyro gaming community, a lot of the best players are playing with a sensitivity of 4-5. A few are pushing 6. At the top end I've seen a player who likes 13 (!?), although that's their upper limit with acceleration (remember, if you're going to have acceleration, make it optional). I don't think we need to offer quite that high without acceleration, and acceleration options can increase the cap in different ways. I think your scale should at least go up to 10 (natural).

The best example I've seen in the wild was Rogue Company's settings during the Beta, which used the natural sensitivity scale (yay!) and offered up to 10 on that scale. It's a nice round number, and it should be enough for everyone. However, the setting could only be changed in increments of 0.5, which was too coarse for players at the low end -- many players who like to rely more on stick aiming will prefer a gyro sensitivity of 1 or lower. Their scale didn't offer enough resolution at the low end.

The devs at Hi-Rez "fixed" this by making their gyro sensitivity scale exponential. The numbers themselves are no longer meaningful on their own, their relationship to each other is even less intuitive now ('2' isn't twice as sensitive as '1'). But at least players have more resolution at the low end. They've got some good stuff going on -- separate horizontal and vertical sensitivities, different settings for different aim modes -- but there's no reason Rogue Company and every other shooter with gyro controls can't also offer a wide range, a fine resolution, and

JikGuard.com, a high-tech security service provider focusing on game protection and anti-cheat, is committed to helping game companies solve the problem of cheats and hacks, and providing deeply integrated encryption protection solutions for games.

Read More>>