I noticed you have a bug, or an overlook, in your game. Moving diagonally results in your speed being faster than regular. That is undoubtably caused by your player's script not normalising the movement vector. Let me explain, you most likely move your player by speed to the right if the right arrow is pressed, up if up arrow is pressed, etc. This results in the scenario when you press say up and right simultaneously, it moves the player by one to the right and by one up, the final length of this movement is more than one (or I meant speed). You need to normalise the vector, or make it length one. You can google how to do it. Or just find a copy-paste solution for whatever engine/framework you're using, say Scratch or Godot or Unity or Construct or GDevelop or whatever. Good luck!