Acheiving Stable Predation: Foxes + Rabbits
In the recent 1.1.1 Update, I mentioned that the changes to protein benefits and the move from Critters swallowing an entire food item at once to needing to take bites had some pretty big results. To wit: I've finally managed to create a stable predator-prey relationship. I've uploaded the save file for you to check out. I even unlocked loading saves in the Demo version so any new visitors can take a look, too. :)
But how did these small changes make the difference? Let's break it down.
The first change I made was the move from "if you touch a fruit with your mouth, you eat the whole thing" to "if you touch a fruit with your mouth, you take a TINY bite, and if you are biting, you take a bigger bite."
This has two immediate evolutionary effects: First, it incentivizes learning to bite when things are close to you, since you won't get as much nutrition if you are passively nuzzling fruit bits. Since both nuts (high protein plant food) and other Critters (meat) require the biting behavior to eat, it's important to incentivize the evolution of this trait.
Second, since absorbing food is no longer instantaneous, the neural network is incentivized to learn to maintain time on target. Essentially, there's now a reason to be smarter. This has led to MUCH more controlled movement, with complex visual processing from the color and motion-sensitive input neurons.
In short: they learned to hunt.
But just learning to chase things and bite them, then evolving the ability to digest meat, wasn't enough.
The stock population that these early hunters evolved from were profligate breeders -- laying 3 or 4 eggs at a time and leaving the babies to chance. Newborn carnivores in these conditions were too unlikely to make a kill in time to survive to adulthood, so the meat-eaters kept dying out.
I had to help these early predators along by quick-boosting their reproduction strategy to live births, which would reduce their offspring numbers but bring them into the world with more energy reserves and closer to maturity, in order to make the species viable.
This is a reflection of the biological fact that also necessitated the protein boost: carnivores, in general, need to last a longer time between meals than herbivores. Grazers eat virtually all their waking hours, but most hunters are lucky to eat once a day (while some go weeks between meals.)
The protein boost helps reflect this: Critters that eat meat will stay full for a longer time, without actually gaining a larger number of "energy points." (Even herbivores can eat meat to gain protein, without gaining energy; and carnivores can do the same with nuts.)
What they needed now was a fast-breeding and DUMB food source.
Enter the Rabbits.
I had a simulation of pretty basic Critters set up in a small environment, some 350 generations deep. They were fast breeding herbivores who were soft-skinned and none too fast.
I dumped some Foxes in the tank.
And it worked.
Hours later, the populations were stable at between 10 and 40 "Foxes" and 200-450 "Rabbits." The slow population growth of the predators combined with the rapid breeding, plentiful prey (and the new maximum population size of 500) was balanced.
Some other things that were important to making this work:
- Fruit value is slightly elevated. The "Foxes" are meat-friendly omnivores, so they can still supplement their diet with plants.
- All advanced navigation behaviors are sensitive to neural network mutations. Once a desired behavior is identified, it's important to lower mutation chance to below 5% in order to have any hope of preserving that behavior through multiple generations.
- High population density! Small to medium size predators just cannot survive currently going long stretches without a meal.
Leave a comment
Log in with itch.io to leave a comment.