Very nice work...
I have a suggestion for making aiming easier. I tried to aim in a certain direction, and then fire the gun (without walking). For left/right, up/down, this is not a problem, but it is very hard to do this for diagonal directions. For instance if you press up+right, in most cases one of the two buttons will be read separately when you release the keys.
I noticed this problem in one of my own games as well, and solved it by building in a small delay when selecting a new direction: if the player "activates" a different direction than the current one, the character won't immediately change into that direction. First he will have to keep selecting that direction (= keep the keys down) for a number of game loops. (If all keys are released during this count, the counter would be reset to zero.)
This way if he is pressing up+right and tries to release them both at the same time, non-perfect timing is allowed for. Of course the time delay (the target count) should be very small so that movement (when you actually *want* to change the direction, as is most often the case) is not slowed down noticably.
On a related note, 360 degree rotational movement might also work well with this game.
I have a suggestion for making aiming easier. I tried to aim in a certain direction, and then fire the gun (without walking). For left/right, up/down, this is not a problem, but it is very hard to do this for diagonal directions. For instance if you press up+right, in most cases one of the two buttons will be read separately when you release the keys.
I noticed this problem in one of my own games as well, and solved it by building in a small delay when selecting a new direction: if the player "activates" a different direction than the current one, the character won't immediately change into that direction. First he will have to keep selecting that direction (= keep the keys down) for a number of game loops. (If all keys are released during this count, the counter would be reset to zero.)
This way if he is pressing up+right and tries to release them both at the same time, non-perfect timing is allowed for. Of course the time delay (the target count) should be very small so that movement (when you actually *want* to change the direction, as is most often the case) is not slowed down noticably.
On a related note, 360 degree rotational movement might also work well with this game.