Devlog 6: Game Testing


In this sixth devlog, we will focus on changes made based on feedback from the game testing session.

For several testers, the flight bar was not visible when they were flying. This was due to the Canvas UI Scale Mode and to how the flight bar was anchored on the canvas. This was fixed by changing the UI Scale mode to Scale with Screen Size and by anchoring the flight bar to the top of the screen.

Another common bug was getting stuck on corners (as shown in the image below). Testers would often get caught on the corners of the narrow corridor on the first level.  A suggested solution was to use a capsule collider for the player object. Compared to a box collider, a capsule collider's rounded edges makes getting caught on corners harder. I replaced the player object's box collider 2D with a capsule collider 2D. The player can now more easily jump onto corners.


Another bug was vertical wall jumping. Whether a player could jump was essentially determined by whether the player was touching a level block. This meant that by jumping next to a wall, you could keep jumping vertically up the wall because the game thought you were on the ground. To solve this, I modified a raycast script from class tutorials to check the direction of the world surface the player is in contact with. A downward ray checks if the player is grounded. If the player isn't grounded, horizontal rays check whether the player is hugging a wall. The angle of the surface in relation to the player is accessed when jumping, determining the direction of the jump force through a switch statement. A jump from the ground is vertical, but a jump from a wall will be diagonally away from the wall.


One tester wanted to have a level restart button to be able to reload the level. In the test review build, you had to reload the webpage after player death, so this desire is very understandable. Level reload and return to menu buttons are now on each level, and the level automatically reloads when the player dies.