In-depth Pygame Physics Explanation