Although it may seem counter-intuitive, try attacking a stronger city early on. You might fail and have to try multiple times, but eventually, it will pay off. Another good idea is to invest in stables as soon as possible because mounted soldiers are much faster and stronger. You should also collect as many resources as you can at the start because you never know when you might need them. Enemy's defences often have a blind spot that you should locate and exploit to do the maximum amount of damage. Also, keep in mind that your own castle has them as well.