salut, bonne chance pour le projet j'espère que vous le partagerez.
sinon pour le probleme de collision va voir ici( c'est juste une petite ligne de code pas bien compliqué):
https://openclassrooms.com/forum/sujet/gerer-les-collisions-avec-pygame
ou pour les collision qui font mal :
https://fr.wikibooks.org/wiki/Pygame/Introduction_au_module_Sprite#La_classe_Sprite
je sais sa fait beaucoup à lire;)