So we just submitted our game for the 2016 student competition (due today). It was a learning experience for all of us, but one of the biggest challenges we faced was how to use smartphones to control a fast-paced action game.
This is a summary of the iterations we had to go through:
1. D-pad with proportional control, sending D-pad position to the screen every 0.1 seconds. This turned out to be completely unplayable due to lag and the fact that your thumb was never where you thought it was.
2. D-pad with binary control (up-down-left-right-diagonal), sending data every 0.1 seconds. This was playable, but suffered from a ton of lag.
3. D-pad with binary control, sending data only when the buttons changed. This was WAY more playable, but the buttons were too small, and it was hard to tell where your thumb was.
4. Left Thumb: up/down. Right Thumb: left/right. This worked really well, but we lost the ability to control primary/secondary weapons. We then had to redesign the game mechanics so that the primary weapon was always on. We still had no way to do a secondary weapon, and we needed a way for people to self-destruct if they had lost all mobility.
5. Left thumb: forward/self-destruct. Right thumb: left/right. In order to get this to work, we had to totally change the mechanics to eliminate the ability to drive backward, and add an "automatic flipping" feature to the physics engine so that players could always get out of a bad situation.
The bottom line is that you can't treat an AirConsole game like a regular console game, where designing the controller is secondary. You have to design for a flat touchscreen first, then adjust your game mechanics as necessary so that everything works.