I love this game, especially how it goes from faced pace combat at the beginning and then tactical combos and resource management towards the end, and the story is great.
my one complaint ins that you don't get a consistent amount of shields; the other spell being random is ok, but with the shields being such a core part of the game, I think it would make sense to somehow ensure a consistent number of shields are collected per level. it could just be that at the end of each level, if you have not been given the right amount of shields, the last enemy will give you the remaining number of shields you are supposed to have gotten, and if you have already gotten the correct amount of shields, the enemies will give you another spell instead of a shield.