Great for the most part
Just a few gameplay annoyances:
It seemed like when an enemy unit is hit, there's a period during which it's invulnerable and its stun animation plays. This is pretty annoying, especially when a catapult shot lands right after one of your puny footmen does like 1 damage on a boss character, and the shot's massive damage doesn't register.
The invulnerability period is customarily given to player controlled characters in games to make it less frustrating when fighting a large number of enemies. But here none of the units are player controlled, so it doesn't make sense to give anyone invulnerability. Plus, I think any AI controlled friendly units should never get in the player's way, and they do here.
It's also annoying that your catapult targeting reticule disappears while it's firing and you can't change its location. Sometimes if I'm not paying attention I lose track of where it is completely. You should just change the reticule's color when it's cooling down, and still let the player move it. Also, with the keyboard controls (I'm glad you included them), why not just use the left and right arrows? The up and down control would have made sense if you didn't have a targeting reticule and had to judge where the shot would land based on the catapult's angle, but as it is now, up and down just doesn't make sense.
Thanks for creating this great game.