The game is ALMOST a civilization type war game at the end game, where your fort is set up and you have an army to send out to conquer and raze and so on.
But there's some things missing.
One is: when you send your army out, you have zero idea of their chance to win the battle.
The only information the game gives you is "population of site", but you can't know a) how many of these are actual soldiers and how many are say poets b) how good is their general c) how many non-intelligent beings like trolls or animals do they have.
So it has happened to me that my dwarfs can slaughter with impunity on a 3000? site, but get beaten by a 300+ site.
That's cool, a 3000+ site might be populated by poets and a 300+ site by elite lashers. It's great you can't just look at how big it is and that is how strong it is.
But the player needs to have a way of making an educated guess at the outcome instead of it just being a black box. For a game to work as a conquer-and-expand game, you need to have a way to estimate the outcome of a battle in order to play it with satisfying war mongering.
If you want to conquer a site, and the report says "an army of less than 40 lord dwarves have no chance, an army of more than 80 lord dwarves would win", then you can make a plan and a strategy. Either you wait and build an army that is big enough, or you postpone this site for later and do smaller sites instead. Or you chance it with 41 lords.
But when you have no information, it removes all this joy and fun of meticuously planning your campaign. And it becomes gamewise more "like you throw a die, I throw a die". And you care less about making a cool army, since you don't know if you even need it.
I think some mechanisms for the player to get information about military strenght of other sites should be:
æ) You should get some information for free. As it is, you don't even know if you're trying to invade Pentagon or Las Vegas. With the info the players gets in DF, Las Vegas would look very strong and Pentagon like a walk in the park "barely even defended".
It should just be common knowledge that Mordor is militarily stronger than the Shire, and this should somehow be conveyed to the player. You shouldn't even have to send spies to Mordor, in order to find out that they probably have a decent army
a) Sending spy missions to the site in order to get information of number of soldiers, quality of the general, etc. Spy missions should have a chance to fail (the dwarf dying/being imprisoned), information should be sometimes inaccurate, maybe they declare war on you if they catch a spy
The correctness of the intel depends maybe on the skill of the dwarf and dice rolls - so maybe you want to send more than one spy mission, maybe you train spies by having them spy on random elf sites, and that creates a lot of a gameplay choices.
b) Information should tricle in through travellers and caravans. A traveller that has been to a site should have an idea if 2000 trolls are there or not. You should sometimes get random information from travellers and when newcomers become citizens. Maybe also from caravans and diplomats.
c) You should get information from the battle reports. The commander tells you if he thinks it was a total walkover, and he needn't have brought half the army he had with him, or he thinks they got lucky and won bit it was totally reckless. To give the player an idea of how many dwarves you need for what sort of battle.
At the very least, you should have an overhead mentioning: the strenght/number of your army, the strenght and number of opposing army, number of dead, wounded, prisoners, fled. So you can tell "X dwarves beat X elves this time, looks like they should have a bit more guys with them".
Like You: 10 hammer lords, 10 hammer dwarves. Them: 10 lashers, 5 spear goblins, 10 recruits. Dead: You none. Them: 3 lashers, 2 spears, 9 recruits. Rest fled.
d) If you conquer a site and some of a civ's member become your "subjects", all the info about that civ should become available, reflecting you have control over a number of individuals from that civ. (It generates a strong motivation to conquer small sites, in order to get the intel.)
e) Razing/raiding a site should give some info on the civ - your dwarves go through their records and books, they hear stuff from dying enemies and suchh. It should get you some random info about random sites from the civ.
f) Information should be possible to be outdated. Say a traveller visited a place and says "it has 10 goblins and no trolls", but it's been 3 years since he was there and in the meantime they got 2000 new trolls. It creates a player choice of how fresh you want your intel to be.
g) Information should be able to be wrong. A dwarf spy might have been drunk or whatever so his numbers are bs, or a double agent might give you false reports. (So it creates a sub-game of spying.) Or a traveller lies and tells you a site has just 20 recruits where they have 400 elite lashers. It creates a player choice of how many different sources of information you want.
h) The information about a site should be visible in the c screen. Like you go on a site and it says "report from date XYZ says they have 200 soldiers, a traveller said they have 150 soldiers, a spy report says they have "quite a few trolls".
i) Even better - if off site battles eventually becomes so detailed that it matters if your dwarves are armed with the best weapons for fighting this particular enemy or not, you could get reports saying you should have 20 marksdwarves and 30 hammerlords for quaranteed success, but 20 marksdwarves and 30 spearlords might loose. It would make the military planning part of the game very satisfying.
The specific mechanics matters less to me.
I just threw some up that could work and would create more cool stuff. The point is just, you can't have a conquer-and-expand game without giving the player a way to judge what sort of army you need for what sort of job.