problem, którego nawet nie umiem wytłumaczyć
Problem wynika wprost z błędu który zamieściłeś, i do tego jest dość jasny
self.screen.blit(sprite.image, sprite.pos.get())
AttributeError: 'tuple' object has no attribute 'get'
Próbujesz wywołać metodę get() na obiekcie który ewidentnie nie ma takiej metody.
Patrząć na Image i to jak inicjalizujesz obiekt, Twoje `sprite.pos` to najzwyczajniej tuple. Mówiąć konkretniej (20, 20). Co chcesz osiągnąć wywołująć get() na tej strukturze?
http://nullege.com/codes/search?cq=pygame.Surface.blit
Z czego co widze z dokumentacji, najzwyczajniej podaje się sam tuple, bez żadnych zniekształceń, czyli:
self.screen.blit(sprite.image, sprite.pos)