So basically you need a randomly generated and skewed weight distribution. That’s a tough one. Might be easier to make a base weight distribution over 5 waves and then repeat that distribution and increase the number of zombies each time the distribution resets. So you’d start off with less strong zombies and more weak ones but max of say 50 zombies each time. Then on the next iteration of the distribution you increase to 100 zombies etc… So on wave 6 you’d have more weak than strong again but the number of zombies is higher so the difficulty is still greater than on wave 1.
For now I am just having the weight equal the wave number then doing math.random(1,waveNumber)
, to get a random strength zombie.