В настоящее время игрок является поверхностным объектом. Чтобы переместить его так, как вы делаете это во второй-последней группе линий, вам нужно сделать его прямоугольным (углом). На линии, которая в настоящее время говорит
player = pygame.Surface((50, 50))
вы захотите поставить
player = pygame.Rect(0, 0, 50, 50)
(аргументы left, top, width, height).
Вам придется сделать что-то еще на поверхности, возможно, игрок SO:
playerSO = pygame.Surface((50, 50))
на последней строке, вам нужно будет поставить
windowSurface.blit(playerSO, player)
Первый аргумент - это объект Surface, а второй - прямоугольник. Эти изменения устранят вашу ошибку, но в программе, вероятно, все еще будут другие ошибки, которые вам придется исправить самостоятельно. Удачи!