After further development and play-testing, I got the feeling that the character movement was a bit stale for a couple of reasons.
- Player was locked in a grid (this can be good or bad depending on the game)
- Game-play became focused around just clicking, there was very little keyboard use.
Looking at the first one, the reason the player was locked in a grid was because of the A* implementation. The map is made up of square tiles, so naturally the A* simply uses these tiles for pathfinding. I didn't like it because it felt so restricting towards the player.
The second one takes a bit of explaining. Our combat was at the time limited melee weapons and the way it worked was, player clicks on mob -> player moves to mob -> player hits mob. Which meant that the combat was more or less a choice of which mob you attack.
Then we added ranged attacks in the form of spells and arrows we added a mechanic where the player could fire in a given direction, instead of selecting the mob you want to attack. Before we added the ranged attacks the game was quite boring, and after a while we decided to focus mostly on ranged attacks.
The big change
A few days ago we decided to scrap the mouse movement mechanic and replace it with simpler WASD movement. Soon after this we decided to remove melee attacks, essentially changing the core of the game. We immediately felt that this was a big step in the right direction. The game became a lot more fun and satisfying to play. With this change we became more inspired and it gave us a lot of motivation to feel our game was going somewhere.
The lesson I'm going to take away from this is that developers shouldn't be afraid to change core parts of their game if it doesn't feel good. You can't fix a boring core mechanic with fancy lights and particles or amazing sound effects. If the core isn't fun, the other crap doesn't matter.