Many games for touchscreen mobile devices use virtual joysticks for movement. This has many issues:

  1. You can't see/feel where the joystick is pointing when you are using it.
  2. You can't feel where the 'edge' of the joystick is - meaning, you can't know when you are reaching the maximum in any direction
  3. You don't always know when you're pressing the joystick. You can accidentally miss pressing it and not know, because you can't feel the joystick under your finger.

On the other hand, I've never been able to think of a reliable replacement for 2 directional movement that is as good as a joystick. Are there any?

  • 3
    I wrote a guide to touch-screen twin-stick shooters for Gamasutra, might be useful for any game devs out there gamasutra.com/view/feature/6323/…
    – user17740
    Commented Sep 11, 2012 at 21:35

7 Answers 7


Rather than replacing virtual joysticks, which many people intuitively 'get'... you can implement them so that they are activated wherever you tap.

They joysticks can center around where you tap, within a region of 20% of the left and right side of the iPad.

Here is a great demonstration of responsive virtual iPad joysticks. (With riveting narration!)

  • Bastion for iPad has similar controls. Works totally great - solves several problems at once, like you don't need to be looking at it to use it and you don't obscure the screen with your fingers like you do when you tap directly on the playfield.
    – Eugene
    Commented Sep 28, 2012 at 16:06

The game Mage Gauntlet on iOS offers an interesting solution to this problem which I found quite pleasant.

It basically amounts to touching and holding in the direction you want your character to move and then you simply adjust trajectory by tracing your finger around the screen - there's no visible joystick and you are no confined to any particular coordinates on the screen.


3. You don't always know when you're pressing the joystick. You can accidentally miss pressing it and not know, because you can't feel the joystick under your finger.

How about giving back a little vibration, to convince user, yes sir, you did press it?

P.S. I used to love those actual hardware joystick on Nokia 6600

  • How would you implement this on a mobile device if you are interacting with the glass screen only? I suppose newer phone models have features where you can have a long press versus a short press but to sync this with vibration well is much harder when you don't have a physical joystick.
    – Michael Lai
    Commented Dec 24, 2019 at 21:18

An oddball control is the Gyroscope. In this video, Jobs is using it to control 2 dimensions. (It's not zooming in / out.) It's not that practical for gaming, but I figured I'd throw it out there just in case it solved your problem.

  • I've seen a few games which offer that as one of their control schemes, especially first person flying games. The phone acts as a sort of wheel.
    – Brian
    Commented Sep 13, 2012 at 19:52
  • Thanks for the input, but yeah, as you pointed out, it's not really practical for quick & precise movements.
    – you786
    Commented Sep 13, 2012 at 22:51
  1. The user knows what direction the joystick is pressed in because their character is moving.
  2. This is solved (poorly) by drawing a joystick on the screen. But since your finger covers it (and you're trying to focus on the gameplay), this doesn't really help. One way to solve this is to cause the joystick to drag if the user overshoots it's maximum. So, the user can move their finger as far as they wish without consequence. This only makes sense in conjunction with #3. I recommend against this, though.
  3. This is traditionally solved by having the first place the user touches (within some large segment of the screen) becoming the center of the joystick. A user can recenter by lifting their finger and then placing it back on the screen.

The problem here is that a virtual joystick is just a joystick that doesn't work well. Developers use them because they're used to games needing a joystick, and a touchscreen phone doesn't have a joystick, but hey, you can just put one on the screen right? By doing that, though, you inherit all the weaknesses of a touch screen that you outlined.

The solution is to design your game in a fundamentally different way to take advantage of the hardware. Joysticks were only invented, after all, because there was no way to interact directly with the game world at the time. This problem doesn't exist on touch screens; your players can touch game objects and manipulate them directly with their fingers.

Why use an abstract, indirect control system on a device that's designed for direct, intuitive interfaces?

To answer your question specifically, why not have the player simply touch where they want to go? This works particularly well in top-down games, but I'm not sure what your game is.

Edit: Just wanted to clarify that some games do require a virtual joystick, but these are not games well suited to a touchscreen.


Though it is a very old post, now with technology improvement, there are options like GAMEPAD API with HTML5. Using hardware joystick and interacting with even mobile browser is possible.

Worth trying such options if someone is looking for the solution still.

  • +1 Hi Akshay, thanks for your contribution to UXSE! It is not uncommon for many old posts to come alive because of changes to technology, and even if I am not interested in it anymore, it might still be relevant to other people :)
    – Michael Lai
    Commented Dec 24, 2019 at 21:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.