Wow, that's amazing! It looks pretty well figured out!
I do have a number of fixes and small improvements that I've been meaning to do, but I have not been able to get around to them yet. Hopefully later this summer!
So far I have found:
Entering the tutorial and then going back to the main screen will always bring up the option to resume current game. This brings up three different results depending on what ending you got last: getting a death ending will play the game in real time speed with living enemies aiming at the position where you died. Getting an ending where you go through the gate will simply let you pick up where you left off, and getting an ending where you destroy the shop plays the game in real time and makes you invulnerable, as well as making it impossible to get to the next round.
Unlocking the gate and entering the tutorial opens up an invisible space where the gate would be.
The times where being close to an enemy seems to make bullets work less often? I haven’t exactly figured out what causes them to not deal damage but I can do it pretty consistently
Also, did you purposely program drones and lurkers to be able to crash into walls, making them commit suicide?
Interesting! I hadn't known about most of those - the last one is particularly worrisome (it isn't suppose to happen!)
The one thing that is at least intended is that the bullets aren't damaging for a narrow window after they are created - I wanted to make it so you wouldn't get hit by a bullet that was too close to see or respond to. But that 'activation' window might need some tweaking.
Since drones and lurkers tend to go left and then down depending on where the player is, you can use that to make them decide to crash into the wall. If that doesn’t make sense, I can upload a vid to YouTube. I’m pretty surprised this glitch isn’t intentional! It seemed like a pretty cool Easter egg and a strategy that is hard to implement but still possible to use. I assumed that if it weren’t intentional, the enemies would just go out of bounds...
Also, the activation window for bullets might be a bit too large for your liking, since I have used it more than once to plow through large hordes of enemies without taking damage. If I were you, I would make it so that if the bullet is overlapping with an enemy or the bullets mother enemy, then it does not deal damage. For the most case, however, the way you programmed the game makes bullets entirely predictable. The only exception is when I get surprised by my own decoy and accidentally move into the bullets...