The game idea is very fun, but I feel like this game might have worked better in 2D. First I thought that the game has performance issues and that's why its lagging, then I realised that the grid based movement is intentional. But even if its a grid based movement I think it should be responsive.
However, this is a solid base to build upon, with improvements and some refactoring I think you got a golden idea and a game. Good job.