After playing some games like Raid, bloodline, and Nations of Darkness, I noticed something interesting.
These games all work on a similar principle.
You get your city, resources and a team which you use to fight.
In order to progress the game, you have to level up a team.
For that, you usually need a specific resource.
Thus, direct all building to obtain that resource which you need to level up your team.
Another point.
When leveling up, many people choose to level up all characters in team equally, but thats a mistake.
If you have 5 characters in a team, they for example make all of them level 10.
However, a better approach is to create hierarchy of leveling up.
Choose 1 character and level him up while not leveling others.
So instead of 5 characters each being level 10, you get four characters at level 1 and one character at level 20 or more.
This makes the game much easier for many reasons.
First, if you obtain a very powerful character in the future, you can just replace one of level 1 with that powerful character, thus you are not going to be losing resources.
You should never focus to level up all five characters in team, or even to level up the ones not in team.
The best thing to do is level up one or two characters while all others remain level 1.
This way, in case you need to progress the game, you can later level up another level 1 character, if there is no other way to progress the game.
For example, in bloodline, I have two characters at level 120, two at level 30, and one at level 60.
I progress the game much faster, because I dont waste resources trying to make all characters equal in level.