Neat simulation, but something seems up with the traits. I have ended up with two lineages with ridiculously high "Predate" scores - one with over 10^22 "percent".
Also, it's currently running at 1 tick per second...
Also, it's currently running at 1 tick per second...
That also explains the slowdown: once those values get extreme, a lot of the probability and normalization math gets very expensive.
It’s fixed now by restoring the original weights before every early return. Thanks for flagging it. That was a legit bug.