So, I was doing a basic custom rpg movement where if you press W then it would at +2 to the position of the character, and for the collision system I made that if the character overlaps with an obstacle he would subtract 2 of the position. But the problem is, if I do a diagonal movement the character will pass through the wall. Any way for fixing this?