Virtual Game Control : Opinion

In an iPad game (so a bit more real estate than iPhone)
I need 6 game functions.

Left, Right, Up, Down
and toggle MAP

  1. Should I create a 3x3 grid of buttons (like a DPad)
  2. should I put left/right on left side, up/down on right side, with a button above each for the other two functions?
  3. got other ideas?

These have to be on-screen… I don’t want any requirements for add-on hardware, just two thumbs :slight_smile:


For your default left-side layout, you might consider a virtual joystick, which is configurable (across a 3 x 3 grid or as a standalone control) for 4 way directional play (clockwise, up-right-down-left) or 8 way directional play (clockwise, north (up), north-east, east (right), south-east, south (down), south-west, west (left), north-west, depending on your game play.

For your default right-side layout, you might consider 2 buttons side by side (double spaced but in thumb range), where the right-most button is the fire button, and left-most button (I imagine) the lesser used toggle-map button.

In your settings, I suggest the functionality for players to tailor (swap) the layout for right and left handed players.

For intense game play, hardware controls are superior to on screen controls, so sometimes you need to adjust the game physics for platforms with on-screen controls to facilitate a level playing field for users.

Happy New Year!

Kind regards, Andrew

@DaveS, assuming you are in Swift, here’s a 4 year old tutorial, which I believe is still be relevant. iOS Joystick in Swift and Sprite Kit (NEW) - YouTube . Some of the commenters nuanced the solution in useful ways as well. I hope that helps.

Kind regards, Andrew

Thanks… I opted for more of a dPad design… and as of right now it looks something like this

This is an iPad app, which can also run directly on ARM mac desktops, so when that is happening, these controls do not appear, as the desktop keyboard is used instead.

Bluetooth controller support!

besides not sure a device can handle multiple BT channels, as all the iPads involved in game play are already communicatiing via BT