I havent worked with platformers for a while, and I dont know the rest of your code, so take it with a grain of salt, but I think I know what is your problem.
Every frame your velocity.y value goes up by 100, and never resets, so in very little time it would have a value way above the 20000. So by the time you try to substract that amount the value remains positive, and the player dosnt jump. You can see if this is the case by doing a print(velocity.y)
in the procces()
. A quick fix would be to do velocity.y = 20000
intead of velocity.y += 20000
, becasue this way you dont care what value velocity.y had before. There are other ways, like having gravity not working when on floor and what not, but this would do.