I need a system to spawn fauna dynamically in my game. Every cycle a new generation is spawned to "refill" the previous. The previous generation is not purged, simply refilled up to a specified cap. The composition of each new generation is based on two factors: 1) a weight value assigned to each creature, influencing how likely that creature is to spawn; 2) the total "predator" value of fauna spawned; the higher the value the less creatures with low predator value are going to spawn.
Each cycle, each animal consumes a number of other animals with lower predator value, up to its own predator value. If a predator can't consume enough prey it will die.