Is that character a variant? (I just love getting asked that in channel.) - Charis

Create an account  

 
Strategic Combat in CoM

(September 7th, 2016, 08:45)Nelphine Wrote: Agreed. But it's not just demon lord, a lot of fantastic units have the same problem.

That's the purpose of this thread. To investigate, and see if we can come up with something better. I might run the excel sheet, but for me, showing glaring examples of problems, and then trying to find similarities in a way that will be simple to code a fix, is more important.

my next example will be the classic 'AI uses Spearman to beat sky drakes' although instead of Spearman I'm going to simply use the weakest unit that will succeed.

Even if we come up with something better, the data is not propagated into the procedure doing the calculations. Adding To Hit was a pretty big pain, requiring to change code in like 12 places. Don't think I'll do that ever again, and probably can't either because of space issues.
Unless "something better" means using the attack flags, melee, hit and figures in a different formula but I don't think that's the problem, the problem is the abilities that are ignored and I can't do a thing about that. Also there are way too many abilities to add them all (space is far too limited) and specifically adding just one or two would be pointless.

I wonder what the weakest unit that can beat Sky Drakes will be. (though how many Sky Drakes and how many units?)
Also you'll need some sort of a margin of error, like, they have to win 80 battles out of 100 or something. Considering the outcome contains a lot of random rolls...
Reply

Absolutely. And it may turn out the whole thing is a thought experiment that doesn't change anything. not my ideal outcome, but still a worthy project for me.

The only other question: is there a generic 'enchantment' flag? In other words does the game know that someone with resist magic is enchanted? Or does it only know it has resist magic?
Reply

OK, sky drake vs Spearman!

Sky drake has 25 melee, 18 lightning breath (I'm assuming for now this is the same as flame breath?), +3 to hit, 10 defense, 30 health, specials.

Per unit:
23*20 + 16*30 melee = 940*1.98 = 1861 melee.
30*4*(10+4) = 1680 defense.

So we need a 6 figure unit with 5 health and 10 defense to match it's defense. And since it's 6 figure, we'll assume +1 to hit, so it needs 11-12 attack rating.

But let's be nice. We'll assume you can build 2 such units. That drops attack to 6, and health to 3 and defense to 8.

So we need 2 6 figure units with +1 to hit, 6 attack, 3 health, and 8 defense.

Meet elite Klackon halberdiers with magic weapons.

So in strategic combat 2 units of elite Klackon halberdiers with magic weapons are the same as one sky drake.
Reply

OK, warlocks. Warlocks focus on ranged attacks, so get a hefty advantage in strategic combat (10 rounds of fire).

Ultra Elite warlocks with omihilacron, magic weapons, focus magic, holy weapon.

4 figures, +2 to hit, 17 ranged stack.

Or same but high men magicians.

6 figures, +2 to hit, 15 ranged attack.

(15-2)*6*20*1.65 = 2574 ranged attack.

On average they do 1516 damage in those ten ranged rounds. By itself that's 90% of a sky drake before it gets to fight back against one unit of high men magicians.
Reply

(September 7th, 2016, 11:20)Nelphine Wrote: The only other question: is there a generic 'enchantment' flag? In other words does the game know that someone with resist magic is enchanted? Or does it only know it has resist magic?
There isn't but all enchantments are stored in only 4 bytes so checking for any enchantments is only 1 extra line of code compared to one.
The problem is, the procedure calculating unit ratings has no idea what unit it is working with.
It only has the attack type, power, and attack flags (touch attacks, armor piercing, that kind of stuff) to work with, and the hit I added.

Quote:Meet elite Klackon halberdiers with magic weapons.
That's pretty shocking, 2 halberdiers for 1 drake. I was expecting at least 4.
Sky Drake actually has medicore stats for a very rare monster, it mainly feels powerful because of the breath piercing armor (and of course magic immunity), but I would still expect it to be equivalent of at least 4 elite halberdiers.

I guess the main problem is how the armor has a linear effect in strategic combat while in reality it's highly non-linear.
In real combat twice as much armor often makes the unit invincible, instead of merely twice as durable.
Drakes are hard to kill because they have 10 armor (and also because they strike first with their breath attack).
No idea how to improve this, I mean, squaring the armor would make it far too powerful...besides armor piercing abilities increase melee power in a linear way too.
Reply

Ideally you'd want defense to be multiplied by the average number of figures in the opposing army. If I bring all halberdiers, my drakes defense jumps 6 times.

But while that is a problem, I'd like to see some more examples before trying to actually fix things. Especially if we can find counter examples where 1 figure does well against multi - I'm thinking singers here.
Reply

(September 7th, 2016, 12:12)Nelphine Wrote: Ideally you'd want defense to be multiplied by the average number of figures in the opposing army. If I bring all halberdiers, my drakes defense jumps 6 times.

That's impossible since the rating is calculated from a singe unit and is done in situations when there is no enemy army, such as AI decisions on where to go as well.

Maybe modifying the attack formula so that figures have less effect if the melee attack is lower could work...but that would underrate units if the enemy does not have high armor so...yeah. Armor is a concept that works based on both own and enemy variables, so it is impossible to have any similar effect in a system that works with individual units.
Reply

That's why I don't want to make any changes yet. Need to work out all the problems first. Although, you might be right. A spreadsheet with all the values might be important. Sigh.
Reply

Alternatively I could post combat value for every unit in the respective thead, and you could update that thread with it. Doesn't really show problem cases though. A spreadsheet to do comparisons might be better.
Reply

Why does it separate range and melee? Given how it's played out, I almost feel like it should just be attack.

That's something I'd like to examine in my investigation. If we could combine the attacks, would that ftee up any (helpfully located) space?
Reply



Forum Jump: