[gallery]
I’ve been working on our new game “Ate-Bit”, focusing recently on the iOS control scheme. I was feeling pretty good about it prior today, having played through 5 levels with the control code and encountering no issues.
Today, while enjoying some coffee with my partner, I to asked her to play the most recent build of the game on my phone. She immediately encountered a bug where the player cube was constantly jumping, even after she let go of the jump button (the bottom left cube on the right of the screen). It turns out that due to her long nails, she was using the full surface of her thumb and the touches were constantly slipping outside of the bounding box for the jump button. The code was not handling the case of release outside of the bounding box, thus getting stuck in “auto-jump” mode.
I just fixed the bug tonight, making use of Unity’s
Touch.fingerId
property: we are now tracking each finger independently, regardless of its location to the button bounds after initial touch.tldr; get other people to test your game! Even minor anatomical differences can affect how people play.
If there’s enough interest (a single PM is enough!) I can post some sample code on GitHub showing how we implemented iOS touch controls in Unity.