"I'm putting some resources into game development and want to be aware of any steps I need to take to enable controller support on all platforms [especially] iOS."Their primary development platform is iOS so the answer would seem obvious "iOS Controller Support". It's been available since iOS7 and now with iOS 9 being released some 90+% of devices have the support built-in.
This easy answer becomes a little more complicated even before leaving the Apple realm since there are two different layouts, then if you want to support multiple platforms with the same code base it gets even more complicated.
Let's talk about controller compatibility, there are a lot of options. In addition to the iOS Controller support for Apple devices, there is the Android Phone/Tablet market. The most popular game controller on Android is the controller that Sony created for their PlayStation 3. So lets compare the main competitors for portable gaming controllers. Originally I was going to use a Logitech Controller but I couldn't find a clear description on their site of which inputs are analog and digital so I used mine sorry for the "bias".
| iOS Standard Layout | iOS Extended Layout | Sony PS3 | Evolution Controllers Drone |
|---|---|---|---|
|
|
|
|
Reminder all of these controllers are used for mobile gaming, the iOS ones are a defined standard from Apple that hardware companies can make. The PS3 controller was a familiar layout with a standard Bluetooth connection, Sony of course was only trying to create a standard for their own platform, although I doubt they are disappointed by the additional sales. The Drone was initially created for use with classic console emulators on an Android phone, but has been very popular with PC gamers for extended play sessions.
Even between these 4 controllers there is a lot of variation in the hardware and the game programming side gets more complex too. All of the game controllers have the following buttons:
- A,B,X,Y
- D-Pad
- L,R
- Start/Pause
Most of them have analog versions of those buttons but I forgot to mention that PC gamers don't usually get analog buttons, their buttons are actually very comparable to the Drone. So if your game is coming to a PC near you, remember that most buttons are digital. Analog buttons may have limited use since an average player might create about 4 different levels on an analog button, a good gamer might get 16 different levels.
Best compatibility with the most platforms/controllers:
Essentially the iOS Standard Layout with digital buttons. If this is a good controller scheme for your game consider the iCade specification it's based on a keyboard input device and does work on iOS. http://www.ionaudio.- A, B, X, Y
- D-PAD (Up, Down, Left, Right)
- L, R
- Start/Pause
Best experience/compatibility combination:
Nice compromise for most games is analog joysticks but mostly digital buttons. (Not compatible with iOS Standard Layout) This is a great layout for PC games also consider using it for testing your game, using a simulator or emulator with a PC game controller may be quicker than using the actual hardware.
- Left Joystick (Analog)
- Right Joystick (Analog)
- Left Trigger Analog (or Digital for increased compatibility)
- Left Trigger Analog (or Digital for increased compatibility)
- Buttons (Digital)
- Start and/or Select
- A, B, X, Y
- 8-Way D-Pad (Up, Down, Left, Right, + combinations)
- Left/Right Bumper
Best experience
Same buttons and inputs as the above combination with the addition of any of the buttons in analog mode.(Not compatible with iOS Standard Layout, or Drone)
- Left Joystick (Analog)
- Right Joystick (Analog)
- Left Trigger (Analog)
- Left Trigger (Analog)
- Buttons (Analog)
- Start/Pause
- A, B, X, Y
- 8-Way D-Pad (Up, Down, Left, Right, + combinations)
- Left/Right Bumper
That is my "long winded" answer to a great question.
No comments:
Post a Comment