Simplified touch controls

Touch controls for mobile gaming are naturally less intuitive than haptic buttons; the most complex virtual button placement I can still easily enjoy myself with is just a directional pad for one thumb and a single button for the other. That’s it. In this topic, I would like to suggest an elegant feature for mobile touch controls in Retro-Arch, by offering one simplified control scheme applicable to any core; namely nothing more than a directional input button and an A button. At first it sounds like it’s not fit for purpose… but try to think of games that actually would work like that, and would become accessible for mobile gaming in a way that was just not there before. Sonic 1 has already officially received this treatment, but what about Mario for example?

Take Super Mario World. The Super Nintendo gamepad is much more complex than just a directional control and an A button… but how much of the game would be retained if you trim the controls down? L and R are used for panning the screen left and right. These can easily go. ‘Select’ is used for dropping a spare item, which is arguably an omittable nice-to-have. The X and Y buttons both make Mario run. But what if they are set to be always on and just omitted as well? Would you miss not running? I would be happy to lose it in favor of simplified touch controls. The start button pauses the game. While that’s something you will want to do, it sounds like a feature more suitable for a menu tray you can hide from sight and swipe into view from the top. While we’re on the subject, the select button could be placed there as well while we’re at it. Lastly, the A button should be the Normal Jump, but there is also the spin jump which normally has its own button. For that we can look at Super Mario Land 2, which just maps the spin jump to Down + A. It even makes intuitive sense for its two main functions; dismounting Yoshi and drilling down through holes.

This post is just intended as some initial thoughts. Of course there are technical challenges, like having a good binding for games. But I wanted to share the idea that this is possible. And that the option of simplified touch controls would make handheld emulation on mobiles better, so I am happy to hear what you think.

If it was about simply removing buttons that are not needed, you can easily do that already.

The problem is that most of the time this is not so simple (eg. how does mario shoot fire when it has the fire flower?) or would affect the experience (an always-run mario wouldn’t be comfortable and would make some levels much harder), and the more complex it gets the more awkwardly you have to shoe-horn the emulator and manually craft particular logic for each particular game.

This is a good design idea for a port of a particular game where devs have a lot of freedom to change the input and make things more context-sensitive (like the sonic case or maybe particular cores like NXEngine or PrBoom), but an emulator is supposed to support all kind of games from the emulated system that has generic buttons with varying functionality from game to game and without needing to patch the game itself.

That makes complete sense. Maybe I shouldn’t want a core feature like this, and instead look into and use the already available interface tools for my own preference. In retrospect that should have been my first stop.