Pretty good as far as these games go, but you really need to pay more attention to key ghosting!
It is not possible on most keyboards to press up, left, and z all at the same time and have them all register as keypresses. If you have an expensive non-ghosting keyboard this isn't an issue but will be an issue for the vast majority of keyboards out there and yes it's a hardware thing.
Result will be one of those three keys, if used in that exact combination will not work, so either you're not firing or you're not moving left or you're not aiming up, just depending on the exact keyboard in use.
In general, don't make games where some combination of button presses is likely to ghost and this is trivially easy to test too by merely hooking up a standard keyboard and using a key ghosting tester (Microsoft provides a website for this as well as there are several others) and press whatever keys all need to be pressed and see if any of them fail to register when all pressed all at once.
Choose some setup which doesn't ghost on two or three cheap test keyboards and it'll probably be good for most.
But to make things easier for you, X and C are better choices than Z and X in combination with the arrow keys, or you could even use A and S in combo with arrow keys. Which exact combination of keys will ghost is keyboard-specific, but up left and Z almost always ghosts. Two keys pressed at once never ghosts. Three or more is when ghosting comes into play.