User:Espyo/Gyro: Difference between revisions
(Linked to the video.) |
(Bonuses!) |
||
Line 83: | Line 83: | ||
To close off, I want to point out that the gyro and cursor controls used to be even glitchier before the final version. That's right: the demo version of the game has some exclusive glitches! To sum them up real quick: you can get the [[Glitches in Pikmin 3#Stuck cursor|cursor stuck]] by being in a place without a cursor whilst in gyro-stick mode, then enabling stick-only mode and entering a cursor-related tutorial. There is another way to trigger this, and there are more details, but that's explained [[Glitches in Pikmin 3#Stuck cursor|in the glitches article]]. Finally, at one point I was also able to get the cursor to move on its own during the Rock Pikmin introduction tutorial, but could never reproduce it. | To close off, I want to point out that the gyro and cursor controls used to be even glitchier before the final version. That's right: the demo version of the game has some exclusive glitches! To sum them up real quick: you can get the [[Glitches in Pikmin 3#Stuck cursor|cursor stuck]] by being in a place without a cursor whilst in gyro-stick mode, then enabling stick-only mode and entering a cursor-related tutorial. There is another way to trigger this, and there are more details, but that's explained [[Glitches in Pikmin 3#Stuck cursor|in the glitches article]]. Finally, at one point I was also able to get the cursor to move on its own during the Rock Pikmin introduction tutorial, but could never reproduce it. | ||
== Bonuses == | |||
Here's some stuff I've since found that didn't make it into the video. This will serve as a post scriptum kind of thing. | |||
* For some reason, actions performed by player 1 that make the controller rumble will also make player 2's controller rumble (albeit at a weaker intensity). | |||
== Finishing thoughts == | == Finishing thoughts == |
Revision as of 09:46, August 14, 2022
This deep dive is available as a video here! |
With New Play Control! Pikmin, Nintendo realized that using motion controls to manage the cursor was very fun and intuitive. So, they have made it a point to keep that as a possibility in every game going forward, up to and including Pikmin 3 Deluxe, as of the time of writing this. While the previous games made use of the Wii Remote and its trusty motion capabilities, Pikmin 3 Deluxe has to rely solely on the controller's internal gyro due to the lack of a sensor bar. The development team surely faced many challenges when designing motion controls for this game, due in part to the gyro limitations, but also because of the unique controllers for the Switch. Did they succeed in their mission?
.............Hoo boy.
Some time ago, I fixed the controls article, because I realized some of the buttons that control the camera and the gyro calibration were wrong. In reality, they were much more complex than what we had documented. To properly explain everything, I had to completely change the article and list the controls by action, instead of by button, which took hours. This was the latest in a long series of things that made me go "what in the world were they thinking!?", in regards to this game's gyro controls. I can't keep this to myself. I have to write some rant blog page or something. Note that I am not upset at the final controls for Pikmin 3 Deluxe – they're okay – it's just that I am so completely baffled and entertained by the design decisions, that I want other people to have a laugh and experience the pure insanity of this game's control layout with me. So buckle in!
Establishing the basics
The most basic form of cursor controls in this game is stick-only. Actually, before we get into that, let's talk about the names of these modes for a second. See, they aren't actually named. You just press some short-worded buttons on the pause menu and use your intuition to figure out what they do. Hey, at least the options menu's text for using no gyro at all is pretty intuitive: "Gyro Function: Off". But that will change soon.
Anyway, with stick-only you control the game just like how you did back in Pikmin: tilting the controller's main analog stick slightly will move your cursor, and tilting it all the way will move both your leader and the cursor. It's basic, it's intuitive (once you get the hang of it), and it just works. It has its drawbacks, like how you can't move your leader without dragging the cursor along with it, but that's what you want to do most of the time anyway, so no biggie. With this cursor control scheme, you don't need any buttons dedicated to gyro shenanigans, so the only special control the game gives you is a button to rotate the camera towards the cursor: if you're using both Joy-Cons or a Pro Controller, or if you're on a single Joy-Con. Nifty.
Though, even the basics are janky
But when you press that button, it also extends the cursor to its maximum distance in the current direction. Uhm...huh? Why? That doesn't sound particularly useful... I mean, if I want to extend the cursor I can just tilt the analog stick towards where I want. I guess pressing the button saves you some milliseconds of work. Though if saving time is your goal, you should just use gyro controls, since they are far superior.
Oh, actually, sometimes when I want to move the cursor farther ahead, I tilt the stick too much, and my leader starts walking. This happens regardless of controller, when using stick-only mode. As we established previously, tilting the stick too far moves both the cursor and the leader. But it should be fine, so long as the cursor moves anyway, right? Well yeah, in any game before this one. For Pikmin 3 Deluxe, they changed something up. See, when you're moving the leader, the cursor stretches out to the maximum throw distance. But if you stand still and tilt the analog stick, you can move the cursor all the way to the maximum whistle range. Which is bigger. So, in a completely ironic twist of fate, this otherwise intuitive control scheme demands you tilt less to reach farther, and tilt more to reach closer. In general, I disagree with having different throw and whistle ranges – the player being able to whistle from very far away makes the whistle too powerful in my opinion. But even putting that aside, the gyro control modes allow you to place the cursor anywhere on the screen, and throwing is still limited to the maximum throwing range, so why didn't they make the stick-only cursor behave the same way!? You have to agree that this backwards cursor reach logic is pretty goofy, right? Oh, and here's one thing I just noticed the other day: that maximum throw distance you get by tilting fully? That's not really correct. You can throw Pikmin slightly farther forward than that. Which means the developers chose some arbitrary point to lock your cursor at when tilting the stick fully!
One final thing, regardless of cursor mode, there's a button ( with combined Joy-Cons, / with a single Joy-Con) that changes your camera to face North, and shows an arrow pointing to the Onion. But only in Bingo Battle. Since the radar is always locked to North in that game mode for simplicity's sake, players can get their bearings by pressing that button. That's cool, but it could've been used in Story Mode too. Though...hm...if they did that, the total number of camera-rotating controls in Story Mode would balloon to ridiculous levels. But leaving it as a Bingo Battle-only feature, it becomes obscure for the vast majority of the player base. Hah, maybe they were better off not even implementing it in the first place? I dunno.
Gyro isn't all that it's cracked up to be
Let's skip the second cursor mode for now. With the third mode, players can control the leader with the analog stick, and control the cursor by angling the controller, making it the ultimate Pikmin experience! So what is the options menu's text for this? "Gyro Function: On" and "Cursor Control: Pointer". Ok, "gyro-pointer", seems good. Well, kinda. You can control the cursor without pointing at the screen – in fact, pointing at the screen isn't even a thing, since this console doesn't have a sensor bar to know where the screen is. The other gyro mode also pretty much wants you to point at the screen too. And honestly, isn't every cursor control mode a way of pointing? Your cursor always points towards somewhere...Ok, let's forget that and stop being picky.
Now, since you can't synchronize the controller's position and angle with the sensor bar, everything is managed by the internal gyro sensors only. This is a video game console, not an airplane, so the system is a bit faulty, and tends to drift after a few seconds. This was a challenge with the Wii too, for non-sensor bar games, and Nintendo normalized the usage of a "calibrate" button ever since. It sucks, but it's honestly understandable. There are a lot of buttons on the combined Joy-Con setup, or on a Pro Controller, and as we'll see later, a lot of them get used for gyro-related things. One of them is , which in general is the prime candidate button for resetting the gyro in this game, but there are honestly other options. So that's why they implemented that feature...on top of the standby Pikmin swap type button (). What. Well, one of them, of course, otherwise you'd be unable to swap Pikmin. But come on, what!? My only guess is because resetting the gyro is a (sadly) frequent action, it should be in a convenient button. But making the swapping mechanic non-intuitive and different between control schemes, especially when they had a free button right there? Yeesh.
Gyro-stick: how does it work?
We need to talk about the remaining gyro mode now. This one instead works with "Cursor Control: Stick" in the options menu. Wait, isn't this the stick-only mode? ...Oh, I get it, it's only available with the "Gyro Function: On" option, so I guess it's related to gyro too. Right, but if it says here you control the cursor via the stick, where does the gyro come in? In reality, you use both the stick and the gyro functions to control the cursor. Now, in Splatoon, The Legend of Zelda: Breath of the Wild, and probably other games, you can use the right analog stick as well as the controller's gyro to control the camera. This results in a very powerful way of controlling your aim, although it can take some getting used to. With the stick you can make general smooth camera movements around your character, saving you physical labor, and then you can use the gyro for minute adjustments, or to make very quick sweeping motions. In my opinion, it's perfect.
And then the Pikmin 3 Deluxe implementation makes it so the stick controls the cursor, and the gyro just offsets it a bit. Ok. Camera rotation is not the same thing as cursor movement, and on the surface, what I said sounds like the same thing as the other games. But it's different. I'll do my best to explain what's going on. I say "what's going on" instead of "how it works", because to this day I do not understand how it works.
Hmm... Right, imagine your cursor is a dog on a short leash, handled by a person. You control the dog with the gyro controls, moving it around the person. Initially, the person is on the center position of the field, so you can't move the cursor very far away from the center. You can however control the person with the analog stick. So naturally, if you want to go somewhere far, you need to move the person closer to that spot first. That's basically what's happening in Pikmin 3 Deluxe, except you can't see the person, only the dog.
This raises some usability problems. You move the controller, see the cursor move about, and then suddenly come to a stop. You're desperately trying to tilt the controller harder, and the cursor won't budge. Then you realize you need to move the analog stick as well, after some seconds. And this is something that happens over and over and over. Eventually you mold your way of thinking such that you consider the analog stick "person"'s position too. But with the "person" being invisible, this is a lot of guesswork, and sometimes it's not in the place you imagine it to be. Compared to the system I described above for the other games, this doesn't sound fun at all. Also doesn't sound as useful as the other two cursor modes in the game. But I suppose that if you really want to use it for some reason, you can grow accustomed to the janky way it functions, so long as the rules are consistent, right?
Of course the rules aren't consistent! When you tilt the controller up, and move the "dog" to the highest position it can go, you can then tilt the analog stick up to move the cursor up right away. But wait, if the analog stick controls the "person", shouldn't the "dog" stay in place, until the "person" pulls on the leash? Yeah, turns out the analog stick controls both the "dog" and the "person". Sometimes. I think?
One more thing, you'd think this was designed so the stick would do most of the work, and the gyro would just serve for minute adjustments. But with the stick alone, you'll only reach around 66% of the way to the maximum throw reach, and not even half of the way to maximum whistle reach. You need to use the stick and gyro in conjunction to get the cursor's full range. This, combined with what I said previously about it being unclear where the position of each one is, and how much farther you can move each make for an annoying experience.
Gyro-stick: clearly unfinished
This mode is glitched. And I cannot for the life of me comprehend how they launched the game with a mode that is completely broken. Oh, you think I'm talking about the weird things I described previously? Hah, I'm just getting started.
With combined Joy-Cons or a Pro Controller, start with the controller straight, reset everything (press ), and gently tilt the analog stick up. The cursor goes up until it can't any more. Then, tilt the controller up all the way. The cursor moves up until it reaches as high up as it can. Tilt the controller down, and the cursor moves down, ending a bit below the leader. This all makes sense within the rules of the system. Now restart. Tilt the stick and the controller all the way up. Now slowly tilt the analog stick down. The cursor will move down and down and– suddenly zip down very quickly below the leader. What just happened? Why did it go so quick?
If you keep tilting the stick, the cursor will end up a bit farther down. Now, you can tilt the controller farther up (careful not to smack your face), and the cursor will be able to go even farther up! Shouldn't the gyro already be at maximum tilt? Why can it go higher? After this quick swoop thing, the cursor will start behaving like normal again, until you follow those steps again. Ok, and now, try this: Reset everything, tilt the controller down, which will bring the cursor down, and then tilt the analog stick down. The cursor will go a bit farther and then just teleport to the leader, and continue to go down!
I cannot figure out why these teleports happen. But it being so completely non-intuitive, combined with sometimes that swoop or teleport shaking between two positions three times in just a few frames, makes me think this is a glitch. A glitch that isn't hard to do at all. A glitch that happens constantly during normal use of the gyro-stick mode. Wow.
How are we doing on controls here? Let's see, resets both the gyro and the camera, and stretches the cursor forward. Because it stretches the "person" and centers the "dog", you end up with the cursor not being as far forward as if you had pressed the button during stick-only. So that's an unfortunate inconsistency. Moving on, resets the gyro only. Oh, and does the exact same, on top of doing lock-on things. This is especially noticeable if you press the button with no lock-on target nearby. In single Joy-Con mode, does the same gyro reset + camera reset + cursor stretch, and does the same gyro reset + lock-on. Why do we need three buttons for this? Why does lock-on reset the gyro? Why can't we get a button that just resets the camera without touching the gyro, like we have for gyro-pointer mode?
Ah, actually, that last one might be because the direction the gyro is aiming at depends on the camera angle, so the developers didn't let players change the camera angle without resetting the gyro too, otherwise the cursor would go somewhere unexpected. ...Wait, can't we rotate the camera with though? We can, and the results are exactly what you imagine. If you're tilting the controller fully up, the "dog" will always be above the "person", regardless of camera angle. Which will make the cursor spin around in a weird axis as you rotate the camera. It does make sense, but it does cause some disorientation during gameplay. It also invalidates that whole "no changing camera without resetting gryo" theory. Oh heh, turns out the Bingo Battle button that faces the camera North doesn't reset the gyro either, so that too sinks that theory!
Going back to camera rotation, something isn't quite right. Ok, let's try going somewhere open and flat (like the Shaggy Long Legs arena at the Tropical Wilds), resetting everything, holding the controller as far to the right as possible, and just rotating the camera. As expected, the cursor spins weirdly and– wait, it just teleported randomly! Now it's really close to the leader. Let's keep going... Oh, it teleported out of the way again. If we keep going some more...it teleports to some nearby different position. What in the world could be causing this to happen!? In fact, we can even see this specific brand of teleportation glitch without rotating the camera. Just by resetting, tilting the controller all the way to a direction, and then going around in a circle as far out as possible, eventually the cursor will do those teleports. Looks like this is related to the camera's orientation, but who knows...
In general, I don't think anything about this mode is right. It's not intuitive, it teleports the cursor around at random, and even if it was implemented correctly, it is just outshined by the other two cursor modes.
Arbitrary limitations?
The player is sometimes limited in their options, and I can't understand why.
Notice how, above, I never mentioned how gyro-pointer controls work with a single Joy-Con. That's because the game doesn't allow you to play like that. If you try, the game instead acts as if you were using gyro-stick controls. I don't see a reason why. I can only think of there not being enough buttons for everything, but gyro-pointer does not require any more buttons than gyro-stick. In gyro-stick mode, with combined Joy-Cons, you have a button to reset the gyro, but no button to reset the camera alone. Though as we established, the game has no qualms about letting the player change the camera without resetting the gyro. Yet for single Joy-Con, you only get a button that does both and that's good enough. Now, with gyro-pointer, you get a button to reset the camera, and another to reset the gyro, but when it comes to single Joy-Con, the developers didn't want to implement that one-button-fits-all solution? Why not?
If you go on the pause menu with a single Joy-Con, the option that would let you pick between gyro-stick and gyro-pointer says “Unavailable when using a horizontal Joy-Con controller.” This only tells you that you can't change the option, but it doesn't tell you what gyro-based control scheme it will use. In addition, things get really awkward when you have two players. The options picked by the players in the options menu are shared between both players, for some reason. Though if player 1 has a Pro Controller, and player 2 has a single Joy-Con, the available options in the menu depend on whoever paused the game. If you turn on gyro-pointer mode from player 1's options, or simply had it turned on before swapping to a sideways Joy-Con, the option will be unchanged, and the sideways Joy-Con player will secretly play as if gyro-stick was enabled.
Another thing: there are options that let you reverse the direction of gyro controls. But only for gyro-stick mode. I understand that it'd be really bizarre to have a "pointer" mode that's meant to mimic pointing at the screen, and allowing the player to reverse the directions. But what sense does it make to allow that for gyro-stick in the first place? They should either allow it for both modes, or not have the option in the first place, right?
Also: When you have gyro-pointer mode on, you can't go directly to stick-only mode in the options menu. You have to first go to gyro-stick, and then to stick-only. There's no reason for this. And heck, to further add insult to injury, when you select gyro-stick and press , the game automatically goes to the option below, forcing you to go up twice just to go to the gyro on/off option.
Plus: There is no way to play with a single player in single Joy-Con mode. It's weird how you'd want that, but it's weirder that they purposely limited it. I can only imagine it's because you need a button to open the radar and another to pause, but Bingo Battle solved that problem just fine by letting you pause from within the radar screen via a dedicated button.
Minor jank
Different cursor modes treat the camera differently. When you rotate the camera around, the cursor stays in the same spot of the area in stick-only mode, but stays in the same location of the screen in gyro-pointer mode. Gyro-stick mode uses a hybrid, where the "person" stays in the same spot of the area, but the "dog" rotates around based on the camera angle. Y'know, in theory. In practice, it actually jumps around all over the place because it's glitched, like we discussed above.
Likewise, if you're overlooking a drop downwards, and you tilt the stick upwards in stick-only mode, the cursor will follow forwards in the area, which means that it will eventually dip down to the terrain below, even if that means going to a lower position on-screen. Kinda. It really freaks out a bit when it dips down. In the other modes, it will always move upwards on the screen, even if doing so makes it point to some terrain lower than the terrain it was on before.
These two things actually make sense, since each mode actively controls the cursor differently, and aims to provide a different experience. But hey, since we're going all the way with exposing this game's quirky cursor controls, I though I'd drop in a mention about how camera interaction is inconsistent between modes!
But now for some jank that's not justified: with a gyro-based mode, if you lock-on to something, you are still allowed to tilt the controller in order to slightly offset the cursor from the locked position. In fact, you can offset so far that you can make it aim off the object entirely. Why is this a feature? Lock-on exists so you can throw exactly at an object without needing to aim, so why would I be given the option to throw Pikmin and not have them land on the locked object? Stick-only mode doesn't let you do that, so why should the gyro modes? Pikmin 3 also lets you aim freely once locked-on, but also allows you to forcefully keep the cursor in place if you hold the button, though nothing similar exists for Pikmin 3 Deluxe.
In addition, there's one unfortunate topic to discuss: analog stick drift. Every Switch user has heard of it – some Joy-Cons or Pro Controllers will, at some point in their life, start drifting without any user input. Another common problem is the stick being tilted all the way forward, but the console only recognizing it as slightly tilted. Hmm, now why is that familiar? Oh right, the analog stick only lets you move your leader if it's fully tilted. Meaning that players with drift problems won't be able to move the leader at all (at least in some angles). People have reported that problem with this game, even though it's harder to spot in other games, due to the character in other games being able to move even without the stick being fully tilted. This isn't really a direct fault of the game, or any of its cursor or gyro controls, but the developers could have at least made it so leaders could move at 90% tilt, instead of just 100% tilt or something. Or at least let the stick move the leader at any amount of tilt for the gyro-based modes, since those don't need light stick tilting for anything. I guess it's too specific a problem for them to be concerned about, but it does suck for players with controller issues...
Convoluted development
Some leftovers exist that show that, during development, the game handled gyro controls a bit differently. If you open the KopPad's camera, you'll notice that you cannot control the camera using gyro motions, regardless of cursor control mode. This is a shame, since you could back on the Wii U, and it was amazing. However, what you can notice is that in all cursor modes, you can actually control something: the decorative meters on-screen! This indicates that there is actually code to accept and recognize gyro input in the camera app, but it does not get used for controlling the camera proper. In addition, notice how it's the left Joy-Con that controls this, when you have combined Joy-Cons. This is particularly bizarre because normally it's the right Joy-Con that performs gyro controls in-game.
As pointed out before, will only let you swap Pikmin types backwards in stick-only mode or gyro-stick mode. In gyro-pointer mode, that button resets the gyro. However, if you charge Pikmin and immediately press the button, it will actually swap the standby Pikmin type to the previous type, instead of the next. One possibility is that during development, this mode would have allowed players to swap Pikmin types left and right, but in the final game some logic overrides this and forces to instead reset the gyro. In most situations, that is.
To close off, I want to point out that the gyro and cursor controls used to be even glitchier before the final version. That's right: the demo version of the game has some exclusive glitches! To sum them up real quick: you can get the cursor stuck by being in a place without a cursor whilst in gyro-stick mode, then enabling stick-only mode and entering a cursor-related tutorial. There is another way to trigger this, and there are more details, but that's explained in the glitches article. Finally, at one point I was also able to get the cursor to move on its own during the Rock Pikmin introduction tutorial, but could never reproduce it.
Bonuses
Here's some stuff I've since found that didn't make it into the video. This will serve as a post scriptum kind of thing.
- For some reason, actions performed by player 1 that make the controller rumble will also make player 2's controller rumble (albeit at a weaker intensity).
Finishing thoughts
At the end of the day, Pikmin 3 Deluxe is a solid game, and its controls are functional. Some of the inconsistencies, limitations, and jank that I talked about here likely have a very good reason for existing that flies over the head of most players. As a game developer, I can think about the possible reasons for each of the weird mechanisms I found if I try hard enough. And even if some have no justification, there are deadlines that need to be met, and these issues weren't deemed a priority during development.
I hope this article was entertaining to read, and made you go "Yeah, what the heck?" a few times. I'm honestly curious to know how others react to these shenanigans during gameplay. What cursor style do you play with, and have you encountered problems playing in said cursor style? Maybe some of those situations described above are actually intuitive, but I can't see them in a real use-case because I'm looking at it through an analytical lens. Maybe you love the jank. Maybe my copy of the game is broken. Either way, let me know your thoughts!
P.S. At some point, I was convinced that on the Pro Controller or combined Joy-Cons with stick-only didn't extend your cursor. This was both the case on the wiki and in a draft for this article. Either I wrote down my findings wrong, or there's some more jank that changes the control schemes even further. This small mystery is honestly kind of itching me.