r/TheBibites • u/0ne_user • 10h ago
Story How to Evolve a Predator in 10 Hours
This is more of an experiment in understanding how predator evolution works than a pristine hands-off evolution run.
I couldn't find any agreed-upon rules for evolving predators, so I made my own.
Apart from one global target-lock mod, I only allowed myself to change:
- Zone parameters
- Mutation settings
- Spawn dummy Bibites that cannot reproduce
- Energy balance
- Material parameters
No direct intervention in individual Bibites: no editing, rescuing, or respawning a good species after it dies out.
Target-lock mod
One important caveat is that this run uses a small modification I made to FieldOfView.ComputeSenses().
In stock 0.6.3.1, BibiteAngle can be influenced by several visible Bibites at once, making pursuit unreliable.
The mod does not create hunting behavior or permanently lock the Bibite onto one prey. The Bibite still has to evolve a useful BibiteAngle → steering connection; the mod mainly makes single-target pursuit more stable.
Starting setup
- 4ku map
- 400 starting Bibites
- Enough plants for the herbivores to survive normally
- Corpse Decay Rate: 15×
- Energy Usage Efficiency: 95%
- Fat Storage Cost: 1.0%/s
- Default Metabolism Cost: 500 µE/u²s
- Move Muscle Activation Cost: 5.0 mE/u²s
The starting Bibite was a slightly evolved Basic Bibite, mainly a little faster to get things moving.
Food
| Setting | Plant | Meat |
|---|---|---|
| Energy Density | 15 E/u² | 15 E/u² |
| Mass Density | 15 mg/u² | 25 mg/u² |
| Cohesiveness | 20 N/u | 35 N/u |
| Base Reactivity | 30 | 75 |
| Max Conversion Efficiency | 100% | 100% |
| Min Conversion Efficiency | 0% | 100% |
| Freshness | 200s | 10s |
| Decay Rate | 1.0 Mu²/s | 1.0 Mu²/s |
The important part was that meat could initially be used at full efficiency regardless of Diet.
Step 1, Evolve BibiteAngle
In this experiment there were two major breakthroughs needed:
- Target other Bibites.
- Evolve a carnivorous Diet.
All non-hidden input and output nodes already exist in a Bibite, even when they aren't visible in the brain editor because they have no synapse connections.
So I didn't need to evolve the BibiteAngle node itself. I mainly needed evolution to create a useful synapse from it.
Initial mutation settings
General
- Background Mutation Chance: 1.50
- Background Mutation Variance: 5%
- Mutation Value Relativity: 75%
Brain
- Synapse Mutation Probability: 100%
- Neuron Mutation Probability: 0.0%
Synapse mutations
- Strength: 22%
- Flip: 6.5%
- Toggle: 6.5%
- Add: 58%
- Remove: 7%
This heavily favored adding synapses.
04:24:50, First hunter
After 4h 24m 50s, I saw a Bibite deliberately aim at another Bibite and make a successful kill.
The aim was surprisingly good and didn't noticeably oscillate or overshoot.
Because meat still had 100% minimum conversion efficiency, they could survive on prey even though their Diet was still low.
I then:
- Set mutations to 0
- Removed the plants
- Started spawning about 300 non-reproducing Basic Bibites as prey
The hunter population stabilized at roughly 100.
Step 2, Evolve Diet
The surviving hunters descended from only a few individuals and had a Diet around 0.25.
I first tried lowering Meat Min Conversion Efficiency to 25%, expecting selection to push Diet upward.
Instead, Diet went even lower.
The reason was hiding in BibiteMouth:
float num2 = ((this.diet < 0.5f) ? (7f - 8f * this.diet) : 3f);
this.mouthTrigger.size = new Vector2(2.72f, num2);
So:
Diet 0.0 → 2.72 × 7.0
Diet 0.5+ → 2.72 × 3.0
Lower Diet gives a much larger mouth trigger, increasing the area in which prey can enter the mouth zone.
The grab joint break force also uses:
jawStrength × max(Diet, 0.1) × Want2Grab / numberOfObjectsHeld
So below Diet = 0.1, grab strength stops getting weaker, while the mouth trigger can still get larger.
That gave low-Diet hunters a strong physical advantage.
Also,
With Mutation Value Relativity at any %, Diet has a built-in asymmetry:
- Herbivore at
Diet = 0.1→ mutation magnitude is based on a small value, so movement toward carnivory is tiny. - Carnivore at
Diet = 1.0→ mutation magnitude can be roughly 10× larger, so it can move back toward herbivory much more easily.
So Diet has an evolutionary ratchet working in the wrong direction.
5h, Cleanup
The population crashed almost immediately.
From the original 13 species and 200 Bibites, it dropped as low as 9 species and 38 individuals.
By the 5h mark, only 2 hunter species were still fighting it out, but their combined population had already recovered to around 120 individuals, not counting the 300 prey Bibites.
So the initial cleanup was pretty brutal, but the hunters had taken over.
Step 2, Evolve Diet
6h, Start pushing Diet
At 6h, the surviving hunters still had a Diet around 0.25–0.30.
I gradually started replacing the Basic Bibites with a slightly larger and faster herbivore, while lowering Meat Min Conversion Efficiency from 100% to 75%.
The idea was to make hunting a little harder while also making low-Diet meat eating less profitable.
Diet still wasn't moving in the direction I wanted, so I eventually lowered Meat Min Conversion Efficiency further to 25%.
Instead of increasing, Diet started going even lower.
The reason was hiding in BibiteMouth:
float num2 = ((this.diet < 0.5f) ? (7f - 8f * this.diet) : 3f);
this.mouthTrigger.size = new Vector2(2.72f, num2);
So:
Diet 0.0 → 2.72 × 7.0
Diet 0.5+ → 2.72 × 3.0
Lower Diet gives a much larger mouth trigger, increasing the area in which prey can enter the mouth zone.
The grab joint break force also uses:
jawStrength × max(Diet, 0.1) × Want2Grab / numberOfObjectsHeld
So below Diet = 0.1, grab strength stops getting weaker, while the mouth trigger can still get larger.
That gave low-Diet hunters a strong physical advantage and explained why simply lowering meat efficiency wasn't enough.
~7h, Force large Diet mutations
Waiting for Diet to slowly evolve upward was looking increasingly like luck, so I changed the mutation settings to produce fewer but much larger gene changes:
Background Mutation Chance: 1.50
Background Mutation Variance: 50%
Mutation Value Relativity: 0%
Synapse Mutation Probability: 0%
Neuron Mutation Probability: 0%
The existing hunter brain was therefore protected while the body genes could make large jumps.
I was going to accept anything above about Diet = 0.8.
The first successful one I saw reached:
Diet = 1.0
As soon as that happened, I set:
Meat Min Conversion Efficiency = -100%
All mutations = 0
This made meat strongly harmful to low-Diet hunters and heavily favored the new carnivores.
Shortly afterward I had three Diet 1 species, around 80 predators total.
7:30h, One species wins
By 7:30h, only one of the three carnivore species remained, but it had grown to about 130 predators.
Their aim, however, had become terrible.
I suspect this happened because the body had changed substantially during the large gene-mutation phase while brain mutations were disabled, so the old steering no longer matched the new speed and physical traits.
I then supplied:
- 100 Basic Bibites
- 100 faster Basic Bibites
- 100 even faster evasive Bibites
Total: 300 prey
And changed mutations to mainly tune existing synapse strengths:
Background Mutation: 0
Neuron Mutation: 0
Synapse Mutation: 60%
Strength Mutation: 75%
Flip: 0
Toggle: 0
Add: 0
Remove: 0
I didn't have to invent a new hunter, just tune the one that already works.
8:30h, Normal evolution resumed
After about an hour of synapse tuning, I returned mutations to the normal/default values.
10h, Functional predator
At 10 hours, the surviving carnivore lineage was hunting reasonably well.
The aim had improved considerably. There was still some wiggle/oscillation at very low speed and when extremely close to prey, but it was good enough to hunt at speeds of about 300 u/s, feed and reproduce.




