Not bad for a first game! Remaking the classics to learn from them is always a good idea :)
Hitboxes feel a little unfair, I suppose they are just the bounding rects of the sprites? As a rule of thumb, hurtboxes should usually never be at a point where there’s not also a pixel of the sprite present. The easiest way to achieve this here would probably to turn the hitbox into a circle with a certain radius. Pixel-perfect collision would also be a possibility.
Graphics are not bad, I particularily like the particle effects you added. You might want to try playing with alpha blending or rotating sprites, though that might slightly break the retro aesthetic.
I think you’re up for a game of your own now, or at least put your own spin on an existing game! Keep it up!