As for the game itself, I'm also attaching the upgrade progression (before Bertrand's attack). I played ONLY with Arantir. There is no other leveled hero. All the others are weaklings (there was no need to level up skilled necromancy for them by that point).



As for how the process went, it was like this:
I built up the city to Tier 1-6 (drakes appeared late), Arantir level 20. Giovanni "low" and doesn't even come near me. So I go to him, take the loot, meet "medium" Lorenzo. He's also afraid of me and runs away as soon as I return to the city. Giovanni tries to reach the city through logistics (I didn't level it up, and this makes the game much harder), but I manage to catch him. That's the only battle with overwhelming superiority over the vampire. He tries to throw magic, but I force him to resurrect troops, and he doesn't inflict much damage. With 25 spells and a perk for raising, you can cover the damage from Giovanni with 30 spells. Giovanni loses, resurrects with more decent forces... and dies again... only this time from Lorenzo, who rushes to him through my territory. I don't care. While they're messing with each other, I complete Patch's quest, take important artifacts. Soon, Lorenzo also becomes "low" and teleports to his capital. Meanwhile, I go through Giovanni's lands to the quest to close the portal from which the brown one is coming. It doesn't work at first, because the blue one returns to my city. The second time, everything goes perfectly. After getting rid of Giovanni and setting up a hero to close the portal again in a month, Arantir is already running to the blue lands. Along the way, he fights an orc, quite difficult due to the attack parameter of 37 of the last one, but also without losses. Lorenzo runs to the orc city. I capture Mortred. I wander around the blue lands for a bit, completing quests and collecting loot. Then I go to the orc city. Lorenzo tries to sneak past Arantir to the capital a couple of times, but this can be blocked. The orc city is taken in an easy battle with the orc. And finally, the battle with Lorenzo himself, who is cornered on the map, takes place. The battle turns out to be epic, after all, the knight can put up a desperate resistance, but all my fallen corpses get back on their feet in the end. And then I just rush to Sanctuary, a quick, albeit with losses, defeat of Wessel, and teleport to the orc city. After that, I just waited for Bertrand to reach Arantir, while building up the walls. You can see the final battle in the replay.
Conclusion: there is nothing super difficult on Warrior difficulty, not even close. During the game, I used all three of Giovanni's respawns, and if the game lasted another month, I would have to deal with the considerable vampire legions that had accumulated over three months. During the game, there was not a single case of deliberately accumulating troops.