Near perfect game. Something this good hasn't been released since Knightmare Tower.
While you've got some great stuff going on, your game seems to be way too dependent on magic. When I played the game, I wanted to be more focused on how much damage my arrows were doing. It was really obvious that this game wasn't designed for that, which is really disappointing. With two upgrades to my bow, one upgrade to my arrows, and the 15% damage increase to my arrows using all talent trees, my arrows were only doing about 10 damage more. This pretty much ruined my game experience.
What's even more disappointing is the fact that magic isn't available enough to have the big impact on the game that it needs to. The shortest cooldown you get is 10 seconds (not counting the cooldown upgrades you can get) which is far too long. It's okay if you want to have a fireball nuke that's available every 10 seconds, but add another ability that's available more often. That way the player can actually cast spells constantly and don't have to depend on their arrows for ten whole seconds. This particularly comes into play when fighting really tough enemies, like the cannons or the battering ram. You basically have to cross your fingers that you can critically strike them for a really long time.
It might just be me, but the fire talent tree seemed a little weak compared to the other talent trees. I didn't have the time to individually test each talent tree, but if you compare the abilities to all the other abilities, they don't seem near as cool. This seems to be a problem in just about every video game, even huge video games like Diablo. It's clear that effort was put into balancing the trees, but from what I can see, there's an obvious favorite (demon) tree. It's somewhat fair, because the player can clearly see what they're getting into, but if you're like me, and just chose one at random because you didn't care too much about magic, you're going to get the short end of the stick.
World 4, Wave 5 ended the game for me. There's this thing that game writers just can't get through their head. Screwing your player over is a BAD IDEA. The player is your friend. One battering ram and about five trolls. By the time I was able to kill the battering ram, 2 trolls had gotten to my tower and were doing about 50 damage to it each hit. Not to mention the fact that there were still another 3 behind it. It was a really rude slap in the face. "Oh, you got this far? HA, nope." A ton of games seem to have this problem, where they just spike the difficulty up for no reason other than to screw the player over as much as possible. DON'T DO IT.
All things considered, this is a pretty good game. You have some really bad mistakes while creating the game, and they were almost enough to drag your game out of a five star rank, but the fact that you have great art, superb player development, and a nice variation of enemies will keep you locked in at the top.