Thanks a lot for your comments, and congratulations for making it to the end of the game! Just for curiosity, do you have an idea of how long you tried? (I finished it myself but I had many training when I designed the bosses and the levels, plus I know what exactly are the patterns of the bosses… so it is difficult to evaluate the time needed to beat it for a normal player)
For the power-ups spawning, each enemy has a probability to spawn a power-up (this probability depends of the enemy type). I tried to define these probabilities so that one always gets enough power-ups but not too much. However, in the end, I think that it would have been better to just hardcode which enemy spawns a power-up and which does not.
I agree with you for the background of the second level.