I've been cleaning up in various spots all around the code, and I've found a few things that seem to slow down everything. It's collision. Not specifically the pixel-perfect collision, but collision in general. I mean, yeah, pixel perfect checks are a beast, but it's still checking every bullet, alive or dead, against the things it can collide with.
Which is a problem, because I have a LOT of extra bullets. I've tried to keep that number at a relatively low cap, but that was more to cut down on the time it takes to generate a level. The issue is the sheer volume of objects being checked. I could just reduce the number of enemies and bullets. Or make bullets BIGGER. Probably some mixture of the two.
I wrote it down, so it's bound to get finished some time, but I really need to hop on the feature train. I think it's time to decouple copilot powers from time and attach them to drops from enemies. Surely there's no way this could cause slowdown of any kind.