I have a simple solution for you. Instead of rand(1, 50) (let's say this function generates evenly random numbers 1..50), use this expression:
power(rand(1, power(50, exp)), 1/exp)
it will still give you all the numbers 1.50. For exp = 1 distribution will be uniform. As you slightly increase exp (e.g., about 1.1 or so), the likelihood of getting large numbers will increase. The higher the exp value, the more it will increase to 50.
So you can do, for example:
factor = 1 for second = 0..100 exp = 1 + (second / 100) * factor rand_num = power(rand(1, power(50, exp)), 1/exp) endfor
source share