You have to adjust the movement speed depending on the slope angle; right now the code moves the player with 12 * time_step quants / frame regardless of the slope angle.