i made some minor revisions without remixing the project and i have also noticed that there is no weapons yet not sure if this is intentional or if your just going for powerups type of deal from what i remember setting a Boolean[] is a good choice because it tells you weather each powerup is active or not OR you could also set them to specific values and have a timer decrement them if you'd like time affects as well... also i noticed your game had no way of looping itself which is what i also added as well... bosses may be a bit harder to do especially if you want them to have phases of specific behavior however it is possible. and you really can't go to extreme on the effects, CDO unfortunately is slower and can take way less draw calls and it taxes it for each type of pixel you render each frame so a particle system isn't going to be possible having UI transitions and a currency along with a shop would also be nice but i am unsure of how big you want it hope this helps
Also PS @Brendan the color scheme you used for the code formatter above hurts my eyes a bit specifically the strings if there's a way to change that? i'd prefer
#00FF00 since it's a bit more readable in darker themes