Ball is still a rectangle, but now handles points for collision like a circle. Reduced size of ball down to 11 x 11, since the map was updated to fit entirely to the screen, but the ball didn't rescale at the same time (at least not for my emulator, this might not be a problem for real android users). This should be a temporary change, but if the ball is too small for you, just change ballWidth = 11, ballHeight = 11 in GameView to something more suitable for you (default is 51). Keep in mind the formula determining collision points for the ball works best with an odd number where that extra pixel in width and height is used as middle point. Additionally I've added a system for detecting collision during movement of the ball before the actual movement happens, which means the ball never should land on a wall anymore or straight up fly through one. Bouncing back from walls is not yet implemented, meaning the ball will just instantly freeze whenever it hits a wall. If you put this aside though, a labyrinth can now technically be fully completed even if nothing happens when you hit the goal area just yet.