Outstanding aesthetics, compelling gameplay, decisions to make with each upgrade impacting the gameplay in its own way... This game is an absolute winner! I love it!
I would play it for a lot longer, however at some point I ran into this bug where an enemy spawned out-of-bounds. I assume it fell to a lower Z-level than the table is on. I couldn't shoot it and it couldn't shoot me. If that's the case, a ten second fix would be to ask Enemy.Update() if the enemy is on the usually inaccessible Z level 0. If it is, delete it and spawn another enemy.
Fix that bug, and you'll have a game that I'd want to play for hours. Amazing job, team!