SNES button mapping

You can talk about almost anything that you want to on this board.

Moderator: Moderators

SNES AYE
Posts: 201
Joined: Mon Nov 07, 2022 11:28 am

SNES button mapping

Post by SNES AYE »

[Edit by Fiskbit: This thread has been split from unnamed-snes-game; please continue the button mapping discussion here.]


Note: I just read someone above say to move attack to B. Y is basically the standard button for primary actions on SNES, so I would leave it exactly as you have it. But, if you want to keep everyone happy, you could have a button customisation screen and let people set it to their personal preference there. Just, please, don't put things in non-conventional places on the controller because some people have different likes and dislikes for such things. Go with the one that the majority accept as the correct way to do things first and foremost, that's usually primary action on Y and something like jump or secondary action on B, and then have option for otherwise if you're okay with that.
Last edited by SNES AYE on Fri Feb 10, 2023 4:59 pm, edited 1 time in total.
Pokun
Posts: 2681
Joined: Tue May 28, 2013 5:49 am
Location: Hokkaido, Japan

unnamed-snes-game

Post by Pokun »

On NES, the A-button is the primary button used for jumping in platform games like Super Mario Bros or attacking in jump-less top-down view games like Zelda 1, while B-button is the secondary button used for attacking in platform games like Super Mario Bros and using secondary items in top-down view games like Zelda 1.

On SNES A and B have been renamed to B and Y respectively so B-button is now the primary button and Y-button is the secondary button as seen in Super Mario World and Zelda a link to the past.
RPGs tends to still use SNES A- and B-buttons for decision and cancel respectively in menus, probably more because of the names of the buttons than their positions and because the angle of the thumb matters little for such actions.

That's the established way things are done in most games, so I don't understand what you mean. I agree that the B-button is better as the primary attack button and Y is better for shooting arrows etc.
SNES AYE
Posts: 201
Joined: Mon Nov 07, 2022 11:28 am

Re: unnamed-snes-game

Post by SNES AYE »

Pokun wrote: Sun Feb 05, 2023 4:50 pm On NES, the A-button is the primary button used for jumping in platform games like Super Mario Bros or attacking in jump-less top-down view games like Zelda 1, while B-button is the secondary button used for attacking in platform games like Super Mario Bros and using secondary items in top-down view games like Zelda 1.

On SNES A and B have been renamed to B and Y respectively so B-button is now the primary button and Y-button is the secondary button as seen in Super Mario World and Zelda a link to the past.
RPGs tends to still use SNES A- and B-buttons for decision and cancel respectively in menus, probably more because of the names of the buttons than their positions and because the angle of the thumb matters little for such actions.

That's the established way things are done in most games, so I don't understand what you mean. I agree that the B-button is better as the primary attack button and Y is better for shooting arrows etc.
I think this is incorrect. Irrespective on naming, the main action button on SNES is the Y button, with B usually being jump or some secondary action like that. And, although you jump a lot in Mario World, it's the run and grab/throw button that is actually the primary function that other actions often feed off, and you simply rock your thumb back to press B when wanting to jump. It would feel almost broken if you tried to flip it the other way around. In most SNES games, Y will shoot or punch of whatever other main action, B will usually jump, kick or some other secondary action, and the other face buttons usually do random less important actions. Basically, Y is where you rest the tip of the your thumb, the most easily controllable and responsive part, and B is where you rest the pad of your thumb for actions that you might want to rock back to now and then. Of course, some people possibly move their thumb entirely between pressing these two buttons, but I'd feel bad if they never realised you can just rock between them. To be clear, irrespective of some random game, Y on SNES functions like B on NES, and B on SNES functions like A on NES. And, in case you're confused about how Nintendo intended the buttons to be remapped, you should look at where Super Mario All-Star places the run/grab and jump buttons respectively: It's either Y to run/grab and rocking your thumb down to B to jump, or X to run/grab and rocking your thumb down A to jump. Maybe someone should test a bunch of games to see what the case is. We really need to nail this basic stuff or else we're going to have a bunch of SNES games that control like crap as the default.

Edit: Just to emphasize: If you think the jump button is the primary button in a game like Super Mario Bros. or Super Mario World, consider what button you basically always have to be able to hold down when running and/or holding something, even if you also want to jump at the same time too. You don't keep your finger held down on the jump button and just press run and grab when necessary. The run/grab button is absolutely the primary button because it's the one that you have to use to even do most of the other stuff, like a long jump for example, even if jump is often the main way to defeat enemies in this particular genre of game. And then pick say any of the most popular SNES games: Contra III: Y is fire, B is jump. Ghouls N Ghosts: Y is fire, B is jump. Super Metroid: Y fires, B jumps. Star Fox: Y fires, B slows down. Super Mario World: Y runs and throw attacks, B Jumps. Yohsi's Island: Y eats enemies, B jumps. Donkey Kong Country: Y runs, roll attacks and grabs/throws things, B jumps. Turtles in Time: Y attacks, B jumps. Final Fight: Y attacks, B jumps. Turrican: Y shoots, B jump. Parodius: Y fires, B something else. U.N. Squadron: Y fires, B something else. Legend of the Mystical Ninja: Y attacks, B jumps. Actraiser: Y attacks, B jumps. Wild Guns; Y fires, B dodges. Rendering Ranger: Y fires, B jumps. Castlevania IV: Y whips, B jumps. Mega Man: Y fires, B jumps. And it goes on.

Maybe some people will see it differently, but I'd say Y should be the primary action button (usually the main method of attack, which is actually shooting in most games), B the secondary action button (usually jump), and X and A whatever items and random other actions that might require it.

Oh, and just to add that this in generally the convention that has been adopted in modern games too, with the likes of the X button on the Xbox controller acting as the primary action button in most games also (when they're not using the shoulder buttons as triggers or something like that). So, even though people are making SNES games here, having their controls follow both the typical SNES controller convention and one that also happens to match the typical modern controller convention too is probably a good place to start.
User avatar
Individualised
Posts: 310
Joined: Mon Sep 05, 2022 6:46 am

Re: unnamed-snes-game

Post by Individualised »

I'm not sure how relevant this is but I'd just like to throw it out there that Y and B on the SNES controller are supposed to be the equivalent of B and A on the NES controller, it's intended by design; they were labelled as such on prototype units that used "ABCD" instead of "ABXY", and this is also evident by the controller serial data. So, if you consider A on the NES controller to be the primary button then you should consider B on the SNES controller as the primary button.

Unfortunately Nintendo seems to have forgotten this as their official emulations and ports of NES games on their later consoles map the buttons incorrectly making them awkward to play.
SNES AYE
Posts: 201
Joined: Mon Nov 07, 2022 11:28 am

Re: unnamed-snes-game

Post by SNES AYE »

Yeah. And it's clear the button labelling on the NES vs the SNES is mostly irrelevant anyway. Button configurations always go through multiple versions and iterations on Nintendo controller prototypes and it was no different in this case. And we got what we got in the end.

Nintendo changed the equivalent button mapping the first chance they could in Super Mario World and put run/grab/throw on Y and jump on B. If they hadn't and really intended the NES button functions to transfer exactly as labelled, then run would have still been on B and jump on A on the SNES too, which would have felt completely wrong, and obviously Nintendo knew it.

Y became the defecto primary button on the SNES from that point forward, and any developer who didn't get and indeed implement that usually had clunkly and crappy controls in their game.

It's clear Y should be the primary button anyway in my opinion, as your thumb naturally rests in this default position and is most comfortable there, with the tip resting on Y and the lower part of the thumb pad half-resting on B and ready to rock there when required.

But, hey, I'm not making anyone's game here, so people can come up with whatever understanding they want and put their buttons wherever they want.

I wish everyone making a game for SNES the best and hope their games are the best they can be.

PS. B is the primary button on NES. Do some people honestly believe it's otherwise just because of the particular letters on them? Guys, come on! You rest you finger on B normally and rock across to A. And again, every [good] game on NES assigns the primary attack/fire/action to B. Jumping in not a primary action, even if Mario does it a whole lot, and a whole bunch of similar platformers.
User avatar
Individualised
Posts: 310
Joined: Mon Sep 05, 2022 6:46 am

Re: unnamed-snes-game

Post by Individualised »

They technically didn't change anything, like I said the B and Y buttons were originally A and B, so they use the same bits in the controller shift register as A and B did on the NES. For most of Super Mario World's development those buttons would have been labelled A and B. When they re-labelled the buttons they didn't have to remap anything.
SNES AYE
Posts: 201
Joined: Mon Nov 07, 2022 11:28 am

Re: unnamed-snes-game

Post by SNES AYE »

Well, I would think they didn't change things under the hood because that would be a case of unnecessarily complicating things while knowing they were basically using the same circuit boards [plus a couple of additions] and stuff for backwards compatibility with NES, which was the plan, but they definiitely changed the end use cases and priority of each button on the SNES controller from what the surface names might suggest based on their previous names and historical use. Y is absolutely the primary button on SNES regardless of anything else. And, really, A was also never the primary button on NES either. But, hey, if anyone wants to map something like a primary sword attack or weapon firing and the like to B on SNES, which is what we're talking about here, go ahead. A Link to the Past used it as such, so it's not like it can't be done. I know I certainly wouldn't though.
SNES AYE
Posts: 201
Joined: Mon Nov 07, 2022 11:28 am

Re: unnamed-snes-game

Post by SNES AYE »

OK, here's an interesting observation (Note: It's just one example, but we should all be studying all the top SNES games to see how they do it too):
SNES Controller Mapping.png
Nintendo literally and specifically told us how to hold the SNES controller to play Super Mario All-Stars (which is a collection of NES games redone on SNES, with the controls remapped accordingly), with this specific position chosen for multiple very good reasons. And I would also strongly recommend seeing this as the default way to hold the SNES controller in general, whether this was previously known to you or not.

Given that, I would similarly strongly recommend that you place whatever you consider to be the primary action of you game on Y also, with the assumption the player will be holding the controller in this position as standard and then moving to any other buttons from there and back again. And this primary action is usually shooting, swiping with a melee weapon, punching in most fighting games and beat 'em ups, firing in shmups, etc.

I'm stressing this a few times because I actually want to play any new SNES games and genuinely enjoy them, especially given how rare they seem to be, and it would be really nice if I didn't have to get used to basically awkwardly-mapped controls just to do that the best I can.

Now, that doesn't mean every single game absolutely has to be mapped as such, with the primary action assigned to Y and the player expected to hold the controller in such a starting position as standard, but there's clearly a reason most were, so consider that how you will.

I hope this is taken in the spirit it in intended. I think we all want to play great games on SNES, and for them to be the best they can be. And nailing the controls is obviously an essential part of that. :)
Last edited by SNES AYE on Thu Feb 09, 2023 12:03 am, edited 1 time in total.
Pokun
Posts: 2681
Joined: Tue May 28, 2013 5:49 am
Location: Hokkaido, Japan

Re: unnamed-snes-game

Post by Pokun »

SNES AYE wrote: Mon Feb 06, 2023 4:10 pm
Pokun wrote: Sun Feb 05, 2023 4:50 pm On NES, the A-button is the primary button used for jumping in platform games like Super Mario Bros or attacking in jump-less top-down view games like Zelda 1
...
I think this is incorrect.
...
Snes Aye calm down and read my post again. I do agree with you and literally nothing I said in my post contradicts what you say now except the use of "primary" and "secondary" which is more a matter of semantics and is totally missing the point I was trying to make.

For what it's worth I think both Y- and B-buttons could be considered primary buttons and X and A are secondary buttons (except in menus where A is usually decision/primary and B is usually cancel/secondary regardless if it's NES, SNES, GB, N64 or other Nintendo system).
I don't really understand why the tip of the thumb would be more primary than the base of the thumb. The tip has perhaps more fine control and the base has possibly more force, but both buttons are used by by rocking the thumb and are about equally accessible for the thumb. The thumb may also rest over both buttons or on either.

But as I said, which is primary and which is secondary is just semantics and definitely not the point I was trying to make.
The point is that that the B-button (NES A-button) is universally considered the jump button since NES days, and the Y-button (NES B-button) is universally considered the main attack button in platform games were jumping is a thing. For example in Castlevania there is no run button so the jump button would arguably be the primary action you do as it's a platform game where jumping on platforms is a large part of the genre (though you do attack a lot as well as it's not an athletic platform game like the Mario games). So this is more a case of which button is usually the jump button and which is a the attack button instead of an idea of primary/secondary.

However, in top-down view games where jumping is not a thing like Zelda, it's very common to use B-button as the attack button and Y-button for using items, spells etc. This is probably because Zelda 1 did this, A-button is the permanent weapon the sword, and B-button is used for other weapons, items and magic. Zelda a Link to the Past is naturally keeping the same control scheme as Zelda 1 by using SNES B- and Y-buttons. Link's Awakening is a top-down view Zelda game that actually introduces jumping (with the Roc's Feather item) and also the shield became an actively usable item instead of just passively blocking projectiles like before, so Nintendo solved this by allowing both A- and B-buttons on the Game Boy to be able to be assigned any item/weapon including the sword and shield, so you can attack, jump, block or do other actions with either button depending on what two items you want to equip and to which button for a given situation.

Auto-scrolling shooting games is another example where the A buttons is far more commonly used to shoot with than the B button which is usually used for secondary attacks like smart bombs. The exception are platform-shooting hybrids (AKA "run-and-gun") like Contra or Metal Slug where jumping once again is a thing so you need A/B to jump and B/Y to shoot.

Anyway, this scheme for jumpless top-down view games is not as much set in stone as the jump and attack buttons are for platform games, and some games such as Commandos and Ikari do use Y as the primary shooting button, and I don't really feel this is wrong. Metal Gear 1 and 2 (both MSX and NES versions) are using weapons with A and punching with B, so I suppose this is the opposite from Zelda as punching is the only permanent weapon (the Metal Gear Solid series changes this scheme though).
But the game of this thread is obviously inspired by Zelda and plays a lot like it so I feel using the B-button as the primary attack button is not wrong and might be better IMHO.


As a related aside, Super Metroid is a weird game that has both a shoot and dash button and it chooses to map dash to Y and shoot to X. I feel this is a bit weird as you shoot far more than you dash so I think I usually remap shoot to Y and dash to X or perhaps to A. Dashing is mostly for getting through boost blocks or when you want to perform a shinespark. Rockman X has a better control scheme where shooting is Y and dashing is A. Dashing on A is kinda awkward as you dash a lot in this game, but due to how the dash works in this game (giving you a short but quick horizontal boost) it's not actually that bad.
Sorry, I'm not trying to derail the thread.
Edit: Thanks Fiskbit for splitting the thread.
Last edited by Pokun on Wed Feb 08, 2023 2:31 pm, edited 1 time in total.
User avatar
jeffythedragonslayer
Posts: 344
Joined: Thu Dec 09, 2021 12:29 pm

Re: SNES button mapping

Post by jeffythedragonslayer »

Above where? This is the first post in the thread.
Fiskbit
Posts: 891
Joined: Sat Nov 18, 2017 9:15 pm

Re: SNES button mapping

Post by Fiskbit »

Sorry, the UI for splitting topics is kind of awful; I split just one post at first, then tried to move the others into the same thread and it made a new thread instead of putting them into the thread ID I specified. This is fixed now.
User avatar
DRW
Posts: 2225
Joined: Sat Sep 07, 2013 2:59 pm

Re: unnamed-snes-game

Post by DRW »

SNES AYE wrote: Irrespective on naming, the main action button on SNES is the Y button, with B usually being jump or some secondary action like that.
[...]
PS. B is the primary button on NES.
That's not quite correct.

O.k., if we're talking about shooting and jumping, then the discussion is moot anyway: Those two actions are so different from each other that we don't need to talk about primary and secondary at all. So, we're on the same page here: Yes, jumping is B, attacking is Y. On the NES: Jumping is A, attacking is B. Everybody who switches those two buttons deserves a paddling.
Whether you consider the jump to be the primary or the secondary action really makes no difference. That's all just semantics as long as we agree that jumping goes on the right button and attacking on the left.

But if you really want to use the terms primary and secondary, then let's look at some games without a jump/attack combination:

"Zelda":
SNES: Sword on B, switchable weapon on Y.
NES: Sword on A, switchable weapon on B.

Which one is the primary weapon? Your sword? Or your arrows/bombs/fairy dust?

Racing games:
SNES: Accelerate on B, brake on Y.
NES: Accelerate on A, brake on B.

Which one is the primary, which is the secondary action?

And with which button do you shoot your weapon in "Gradius" (primary action) and with which one do you select the item from the menu (secondary action)?
My game "City Trouble":
Gameplay video: https://youtu.be/Eee0yurkIW4
Download (ROM, manual, artworks): http://www.denny-r-walter.de/city.html
Pokun
Posts: 2681
Joined: Tue May 28, 2013 5:49 am
Location: Hokkaido, Japan

Re: SNES button mapping

Post by Pokun »

Edit: Ninja'd by DRW, added a comment to his post here:

I agree with DRW who pretty much points out the same things as I tried to.

With a fighting game I would probably agree that punching (usually NES B) is the primary action over kicking (usually NES A) since punching is considered the more basic technique, but this just shows that either A and B could be primary or secondary depending on the genre. In Gradius and Commandos shooting is definitely primary, and each game uses the opposite button. These games doesn't require to use both buttons in conjunction like SMB which is why it probably works so well, you usually either shoot or upgrade your weapon/throw a grenade, and you want to avoid pressing the secondary function by accident.

Platform games that uses B for jumping and deserves a paddling includes: Hudson's Challenger (Famicom), North & South (Famicom/NES version) and several of Sega's Alex Kidd games.



Original post:

Relevant to the discussion, good pictures of various early variants of the SFC controller can be found at Chris Covell's place.
Prototype SFC Controller
Prototype SFC Controller
The button layout on this proto is more compatible with the Famicom/NES button layout (but different from the Game Boy), and as someone said earlier, is something that remains in the released controller's data protocol by the order of the buttons shifted in when latching it.
Button names (including L and R) are also simply named A to F, and the face buttons are red and concave like on Famicom, NES and half the face buttons on the released NTSC SNES.

Super Mario World was the first SNES game I played, in video game stores around the PAL SNES release back in the day, and possibly because of that I've always thought it was weird that Nintendo didn't name A and B for what is now B and Y respectively, that makes so much more sense considering the angle of the thumb. And in hindsight, it would probably contribute to more consistent use of the buttons for A and B as menu decision and cancel buttons.

SFC/SNES games are all over the place with some games using A and B, other games using B and Y and Super Mario Kart uses X for cancel (fittingly but non-standard), something international versions of Final Fantasy VIII adopted as default (triangle button cancels, which is the PS1 equivalent of X) while the Japanese version used the PS1's equivalent of the SNES' A and B as the series always had until then.
Then some dimwit at Sony or whatever thought it was a grand idea to let the non-Japan PS2s swap the respective decision and cancel functions of the circle- and cross- (or cryss- as I like to say) buttons in the built-in menu (which is just plain dumb considering the symbolic meaning of the PS1 button names where "×" means negative and circle is the opposite, besides the fact that it goes against the established norm of using the left-hand button as cancel). Japanese PS2 still made sense, but this is apparently no longer the case for PS5 or so I heard, as the Japanese version is going to change to match the international (why couldn't the dimwits just change the intentional one back to normal *mumble* *mumble*).

And as I think someone already mentioned, it's pretty much impossible to play Virtual Console NES action games on modern Nintendo controllers since they tend to map buttons according to their names instead of their positions which is just wrong for the angle of the thumb. It's perfectly fine for menu-driven games such as RPGs, simulation and adventure games, but sucks for action games that needs you to be able to quickly rock the thumb between the two buttons.

So all these problems just because Nintendo decided to rename A and B to B and Y. The world would have been a better place if they only had named them as they first were going to.

It's weird because Nintendo did it right with the Super Game Boy, it defaults to A=B/B=Y and has A=A/B=B as an alternative which is good for RPGs, simulation and adventure games (though the first one works as well).
User avatar
Individualised
Posts: 310
Joined: Mon Sep 05, 2022 6:46 am

Re: SNES button mapping

Post by Individualised »

Pokun wrote: Wed Feb 08, 2023 5:02 pm And as I think someone already mentioned, it's pretty much impossible to play Virtual Console NES action games on modern Nintendo controllers since they tend to map buttons according to their names instead of their positions which is just wrong for the angle of the thumb. It's perfectly fine for menu-driven games such as RPGs, simulation and adventure games, but sucks for action games that needs you to be able to quickly rock the thumb between the two buttons.
They did at least partially fix things on the Switch Online NES emulator by mapping NES B to both Switch B and Switch X, using Switch X/B is much more comfortable and similar to the original NES controller's B/A than Switch B/A.
SNES AYE
Posts: 201
Joined: Mon Nov 07, 2022 11:28 am

Re: SNES button mapping

Post by SNES AYE »

@DRW @Pokun

Well, I was never concerned with the semantics of the use of the words primary/main or how some unused/rejected prototype SNES controller designs once had the buttons named differently, but just that I personally don't want to have to hold the controller in a somewhat uncomfortable and more cramp-inducing position like this if I don't really have to:
sfcprotocon.jpg
I feel the same about this as a default position too:
SNES-Controller-in-Hand.jpg
Those positions just lead to quicker cramp in my experience.

And I personally think this is the most ergonomic and comfortable way to hold the SNES controller, bar none, so I'd rather have the controls mapped to allow this as much as possible, where I only have to move my thumb to other positions when absolutely necessary:
SNES Controller Mapping.png
You can kind of literally see the more crampy position of the thumb in the first two examples compared to the last one, where it looks far more relaxed just resting across the B and Y buttons like that.

My main and original comment about the guy making the game sticking with the mapping of the sword attack to Y rather than B was simply in line with that thinking. And, given his most recent comment about having a jump button, which he says he is planning to add to B, I think it now makes even more sense to stick with exactly what he has there currently.

Anyway, I think I've commented enough on the subject now, and I leave it to each individual making their games to choose what they think both makes sense and, far more importantly for me personally, actually feels the most ergonomically comfortable and intuitive to the end player.

The only thing I would add is that on my individual end specifically, since I'm going to want to at least try all these new games, I really hope they get it right, because it can be the difference between me really enjoying their game and me not really not caring about their game. And, if I have to go remap the buttons every time, that's not a genuine fix for me. Although, I expect many other people probably won't care about such things quite as much as I do.

At the very least though, I think pretty much everyone making a modern SNES game should include the option to customise the buttons if they have the means. Can we all agree on that? :)
Post Reply