Thank you for adding a download with java packaged. I couldn't play prior and was beginning to think your "Glutton for Punishment" title was meant to describe actually getting the game to run.
Your art style and player power fantasy really shine in this game. Once you finally get your upgrades rolling, it feels really good to churn through waves of enemies. Even with a limited palette, you used color well to keep the gameplay pretty readable despite everything happening. That's an achievement in and of itself. Well done :)
Getting to that player fantasy was sort of a pain though. The quota escalations felt too far and the powers felt either way too risky or way too strong. For example, any power that granted +souls and plus spawn rate was mostly a double good instead of a good/bad choice, especially if your damage was good. It felt the only way to die was to have mob speed too high that they can get to you before you can attack.
But my biggest issue is the controls. Why can you not move while attacking? That feels really bad, especially when you start getting extra attacks and you're not allowed to move until the full animation stops. This made "optimal" gameplay just to stand still as moving would open you up to attacks. You gained slightly fewer souls, but still would get some. Not being to move and attack leads the player to never move unless there's zero risk of being hit. The game felt leagues better after getting the dash. But locking features that make the game play better behind unlocks or progression just doesn't work. If you're game isn't fun or is frustrating from the start, you'll lose a lot of players before they get to the good parts.
Despite the above gripes, I still really enjoyed mowing through waves of enemies with a big ol windmill of scythes. I think I got a bug after the final skill unlock that caused the game to crash. I used it while attacking and the game force quit (maybe I hit shift+q?) and I lost all progress. Bummer!
Congrats on finishing your game. Keep making games!