Cool game, I like 2D pixel art sprites art style and the controller support is great. I think turning the camera with the d-pad feels a little clunky though (I'm use to camera controls being on the right stick) but I do like the effect of being able to turn the camera. Something gameplay wise that I would improve is that it's sometimes hard to know where the attacks are gonna land, so some sort of indicator on the ground could help with that instead of just the arrow.
A bug I came across was the ground and wall textures weren't loading in for me, I was able to see them in your video though. I also took a quick look at your code, it could use some cleaning up (like removing commented out code) but your formatting is pretty good. Moving things out of the main() function could help with the organization of the code and adding some high level comment like on classes could help with readability for someone new looking at your code.
Overall really cool project!