I think you didn't call initializelevel at the game start ?
Also, in this part:
And adding those Random values ? It could mean that a ball returns in the direction where it came from, or goes through your bat?
Also, in this part:
;if ball hits human player, reflect it away. If ImagesOverlap(ballimage,ball\x,ball\y,player1image,60,player1\y) ball\xv = -ball\xv + Rand(-4,4) ball\xv = ball\xv + Rand(-4,4)There is two times \xv
And adding those Random values ? It could mean that a ball returns in the direction where it came from, or goes through your bat?