9 February 2015

Iterating Square Wobble - Part 1

Before getting my target audience to play Square Wobble, I already let my close friends give it a go.

Their feedback has been the same - the game is very difficult to master, however not so straightforward when it comes to learning (or rather getting the hang of the mechanic properly).

They've pointed out that the swiping mechanic was not responsive quickly enough, ending up frustrating them, because as they tried to move the square left and right, the game listened to them a fraction of a second later, making them feel as if they haven't got much control over the outcome and need to rely on luck more than anything.

That is obviously not what I want - I want my twitch games to be based fully on player skill, and no luck, especially if all it does is annoys the player.

So what was the reason of a delayed swipe response?

The red label shows the line of code where things go wrong:
The reason why players were getting a delayed response, was because the square would only move when not only the swipe itself took place (which is putting the finger on the screen, and moving it across), but also when the finger was released off the screen thereafter.

Because players anticipate to see the square move as soon as they swipe, and not swipe and release, they were getting the illusion of a delayed response.

Solution

Thankfully the solution is very straightforward - all I need to do is change

if(t.phase == TouchPhase.Ended)

to

if(t.phase == TouchPhase.Moved)

That way the game will listen to the swipe as soon as the finger moves across the screen, not when it releases.

References:
Unity Documentation: TouchPhase.Moved [ONLINE] Available at: http://docs.unity3d.com/ScriptReference/TouchPhase.Moved.html [Accessed 9th February 2015]

No comments:

Post a Comment