The Mobile Game Control Problem

THE MOBILE TOUCH CONTROLLER PROBLEM

    Let’s cut to the chase. Mobile touch controls suck. Games created in the 1980’s are more satisfying to play than most things available today on the App Store. Why is that? Clearly, smart phones have way more power under the hood than the NES, so its not about graphics or blast processing. It has everything to do with tactile feedback. When you first plant your hands on the NES Controller, your hands lock into its rigid right angles. Your thumbs fall upon a D-pad on the left and two small buttons on the right. After just a few seconds, you will acclimate to this interface and it will soon become an extension of you. You will be able to wield it at your will and what you see on the screen reflects that. Physical buttons and D-pads communicate with your fingertips at a micro level. The press, hold and release are felt moment to moment. After a short while, mashing these little buttons can be rather satisfying…

    Mobile touch controls (MTC) do not offer any inherent feedback like physical buttons do. It can feel like constantly trying to get your grip on a pane of glass… because that’s exactly what it is. We traded the tactile feedback of analog buttons for the versatility of touch screens when we adopted smartphones in 2007. This worked for most uses like apps and surfing the information super highway where navigation usually only requires a simple point & click. But that does not work for many games. Games that require a single tap (Flappy Bird) or a single drag (Angry Birds) work well within these limitations, but what about something like Mega Man 3? Suddenly, the scope of what is possible on the medium of touch screens in called into question.

    There is another inherent issue with touch controls. Your big ol’ thumb. In order to interact with your game, your digits must occupy precious screen real estate. Anything under your thumbs is completely obstructed and there is no way around this. When a game designer decides to “glue” their buttons to the screen, sooner or later, you will become so engrossed in the game play that you lose track of your thumb placement. Before you know it, your thumbs are no where near the buttons and your player is not doing what you expect them to do. These drawbacks can have a player fighting with the controller more than enjoying the game. Not many gamers will put up with that for very long.

    So MTC offer no feedback, must be visually blocked to be operated and can easily be lost amid game play. One solution is to us peripherals such as an external controller, but that creates several barriers between player and game. Unless you plan to lug around a charged Bluetooth enabled controller, gaming on the go is probably not an option. Let’s say you are a dedicated gamer and carry a fully charged ps4 controller on your key chain. You now need a kickstand for your phone because your hands are no longer holding it up… as well as a surface to place your phone. Suddenly, you are dependent on many external factors to enjoy your game.

    This has led to the oversimplification of mobile games. Search any App store and you will find infinite runners, interface heavy games and fruit ninja. Anything that requires more than one input at a time usually defaults to buttons “glued” on the screen, which I already went over. So, what is the solution? How do we get around the fact that MTC suck? By not trying to emulate tactile controls and embrace the strengths of touch screens. Touch screens have many advantages over old school controllers. Behind them is a shit load of math which can be utilized for your benefit.

    I’ve been playing Mobile Games since my first smart phone back in 2012-ish. Every few weeks I scour the App Store in search of a game that has bangin’ controls. Despite finding many amazing games, I always found myself having to “put up” with its controls. Fast forward to today, I have been studying and developing games for a few years and I am finally ready to tackle what I call “THE MOBILE TOUCH CONTROL PROBLEM”.

    I’ve worked with several engines from Gdevelop to Defold (and Godot, duh!). That lead me to Phaser. Not exactly a game engine, but actually a Javascript framework. This meant not having to jump through hoops for fast iterations in exchange for a beginner friendly UI. What interested me the most was the fact that Phaser is mobile first and is built for the web. This let me experiment with a lot of ideas very quickly and the result is the following…

    After asking myself over and over “What do touch screens do best?”. The answer I came up with was Gestures. Touch screens can swipe. That’s something that the NES Controller would have a hard time replicating with ease. I wont go over how swipes work, but just understand the idea that with touch screens, buttons can move. This means that a button can always where you need it, right under your thumb. Memorization of a static interface is not required to communicate with your touch screen. That layer of abstraction devolves. What is left is a direct connection between the player and the interface. A connection that is actually far more intuitive than even the NES Controller.

    The swipe is the key. Instead of having to place your thumb on a specific position to deliver an input, you just drop your thumb anywhere and drag it. Up. Down. Left. Right. And any angle in between. This also leaves the Tap and Hold. Suddenly, you have access to six simple and intuitive inputs. For the games I plan to make (2D), this is plenty. Armed with this revelation I designed my MTC. I hope it can bridge the gap between tactile satisfaction and intuitive responsiveness.

THE MOBILE TOUCH CONTROLLER SOLUTION

    I’m gonna be real with you. I had planned to explain the development of my MTC and go in depth with each decision and I realized you’d probably rather just mess around with the controller. So here you go. It must be ran on a tablet or smart phone. Enjoy! Feedback welcomed.

https://blackflypress.github.io/mtc_gamepad/

Since developing my MTC, I made two variations, a twin stick and a single joy stick.

https://blackflypress.github.io/mtc_twinstick/

https://blackflypress.github.io/mtc_joystick/

    Feel free to use and modify these in any way you see fit. My goal is to eventually work towards standardizing Mobile Touch Controllers. I think that if mobile game devs worked towards something that is familiar with gamers, players will spend less time trying to deal with the controls and more time playing. That’s what this all about after all. Playin’ games.



Popular posts from this blog

Hello World