This week in testing we debuted the updated mobile build. We had two testing sessions this week, the first one tested the control scheme for mobile and the second session tested the device it was played on.
I was there on the first day of testing and we set up the mobile build using my phone, which is a Moto X Gen 2. This is the phone I have been using to test all of the mobile builds up to this point, so I know that it runs at a steady frame rate with no major drops in performance. And since performance was not the issue during this testing session we were free to test out the control scheme for movement. Movement in Ripples aims to mimic a joystick. Where the player places their finger on the screen forms the center of the joystick. Sliding their finger around moves the stick. The positioning of the stick to the center determines the direction of movement for the player.
A cool little feature about this stick is that it will follow the players finger. The following mechanic is simple. If the stick has moved to far outside a set radius from the center, the center is updated to be a radius away from the stick. Since there is no tactile feel on a touch screen similar to how there is on a physical joystick to indicate the positioning of the stick, having it follow the player around helps to have tighter control on mobile. Or that is supposed to be the point.
From testing, we found out how quickly a player can grasp these controls depends on how they go about using their fingers. If the player uses their thumbs, they grasp the movement controls almost perfectly. However if they use their index finger and try to move, they usually start by pressing on the character and dragging. When this happens, it makes it seem like the character is following their finger and not based of joystick. I think part of this stems from the fact that the sticks center can currently be placed any where on the screen. So when a player places their finger on the character and they joystick appears, and the character starts moving in the direction that they slide, it only makes sense that it would seem like the character follows their finger. However as soon as they were told they would understand the controls better if they used their thumbs they grasp the controls quickly.
We figured that this problem might be fixed if we did too things. First, we put a visual joystick in the bottom corner of the screen as a suggestion to the player. Second, we could also limit the screen area that they are allowed to use for the joystick. For the second session of testing we had the first solution implemented. Based on testing results most people ended up using their thumbs over their other fingers. So that was a small success there. Limiting the screen area will be implemented for testing when we try out controls for utilizing a characters special actions for next week.
The second session of testing had us running performance tests on different devices. Based on the first session, we realized that it ran well on the Moto X, but we needed to make sure that it would run well on other phones. Before the second session, we ended up testing it on a friends phone and noticed a hit in performance. I spent the week before optimizing components of the game so that it would perform better on mobile. It certainly did, especially on my phone. But we needed to get a little more boost in performance if possible. That’s when we decided to adjust the resolution the game was rendered at. Originally, the game was set so that it would render at what ever the screen resolution was for the device it was playing on. Realizing that performance increases at lower resolutions, we ended up rendering the game at a lower resolution and upscaling it. We chose a resolution that would upscale nicely on most phones and pushed that build to QA for testing.
The results were positive. The game was running much better on almost all the phones that were tested. It was playable on phones that were made in the last 3 years. So now it will be easier to test out the mobile version if more phones can support it.