So it took me lot of time to implement ranged attacks in the game. Mostly because it was difficult for me to work on the game. I have refactored a lot of things: the attack system was too much “close attacks” oriented and i just want only one attack system in the game.
I have also modified the rendering because there is a sprite for the bullet to handle with other sprites like hero or monsters.
The collision system i used for wall works great for bullet hits so this part was easy.
Indeed the most difficult things was to debug the code because it is not really possible to use unit tests to check each logic parts. I have implemented a feature to slow down the game speed in order to debug it like a step by step process in the real game.
The next step i have already started is item drop like coin and ammo.
to be continued !