J'avais déjà pensé au delta time mais un détail m'avait échappé, je me suis rendu compte que la trajectoire du ballon au départ du jeu était en différente en Y selon le delta time, j'ai testé en simulant un fps à 100, en conséquence le ballon ne rencontrait aucun joueur avant d'aller sur le mur alors qu'avec un fps à 60 il allait vers un joueur. Cette différence a révélé un problème sur la vélocité en X, la collision avec un joueur change la vélocité tandis que le mur inverse la vélocité en multipliant par -1, j'ai fait l'erreur de l'initialiser à 0, en se multipliant par -1 la vélocité sur X restait constamment à 0 lors de la collision avec le mur. Le ballon partait tout de même vers la droite droite suite au correctif que j'avais ajouté en pensant que le problème était ailleurs.
Un grand merci pour ton aide, j'ai publié la dernière version en espérant que mon analyse est enfin bonne ^^ J'ai réussi à reproduire un bug similaire donc ce serait étrange que ça ne fonctionne toujours pas :s