Not exactly a bug but certainly a game breaking issue
One of the things auto-evo really, really likes to generate are predatory creatures that can not engulf. This results in an increasing amount of organelles just floating around as physics objects generating lag that gets progressively worse until the game devolves into a slideshow. Calling this an ‘urchin-issue’ because it most commonly manifests as unrchin-like creatures with lots of spikes.
I would really suggest putting a global cap on the number of organelles that can be present at any given time, and maybe setting the rate of decay on organelles higher the closer it gets to that limit
That is actually something that might help here, and I hadn’t thought of yet. Though maybe to make sure the performance doesn’t tank, I’d try making it so that if there is more than N number of floating organelles the farthest away ones from the player will just immediately pop and release their compounds to get under the limit.
Out of curiosity is there a system in place to suspend visual rendering and physics steps on organelles beyond a certain distance from the player’s field of view? I know this is pretty standard practice, but I thought I’d ask because it’s the only thing I can think of that would be causing such high frame rate loss from lots of organelles
I don’t think that rendering is the bottleneck at all. You can see my profiling results here:
Note especially what things I’ve tried disabling and gotten basically no performance change with them:
I’ve tried disabling AI, rendering microbe graphics other than the player, and disabling microbe sound. Those have no impact on the performance. It seems that around 30% of total time is taken up by physics and Godot scene tree updates, with 10% being our C# physics callbacks.