Are you, in fact, a pregnant lady who lives in the apartment next door to Superdeath's parents? - Commodore

Create an account  

 
Strategic Combat in CoM

To look at your example of stag beetles with offense rating 100, and halberdiers with offense rating 110.

The suggestion would make the stag beetles 200, to which you are saying 'but 100 is right, so that 200 is wrong'.

What I'm saying is that the halberdiers should be 70 so that 110 is wrong. But we can't solve strategic combat, so this suggestion is an attempted to improve it. 

If I'm right, and then halberdiers should be 70, then the beetles should be ~50% more than the halberdiers. This suggestion makes the halberdiers 125 compares to the beetles new 200, which is actually pretty close to 50% more.

Thus the new suggestion is closer to accurate than the current formula, when looked at as a whole.

I'm not solving strategic combat, that's impossible based on the constraints in coding we have. We both agree on that.

That does NOT mean we can't improve it.
Reply

Quote:You haven't responded to the possibility that single figure units are undervalued right now with the current formula when at max health RELATIVE to multifigure units.


When looking at the current moment, they aren't. The formula is perfect as is.

When looking into the future, they also aren't - it's multifigure units who are overvalued because they lose more strength from the same amount of damage which is not reflected in the rating. But for now I'll pretend the two are the same thing. However, and this is important, this "overvalued" nature only exists on the turn when the unit is going to get reduced to roughly half of its health, for example from 6 to 4 or 3 figures. If it gets reduced more, the new formula stops being an improvement and has no real benefit (green and red line almost equal at that part of the graph and still far from blue) - if it reduced less, the formula is worse as it grossly overestimates the unit power  the damage it tries to simulate didn't actually happen after all.

Assuming a unit has a 80% chance to not take damage at all, 10% to take as much damage to get into that range, and 10% to take more damage or die, which should be correct as in most turns the enemy will be attacking other units in the combat, this means the new formula improves the rating 10% of the time, has no effect another 10% and is worse in 80%.
Those are clearly unacceptable numbers and I believe are a fairly good estimation at the chance of the unit taking the damage.

We shouldn't try to predict the future in the unit rating, based on an assumption that has a very low chance of actually happening.

Quote:And it's an improvement in Overland decision making processes, which are the MOST important place an AI can make a decision.
No, it isn't. If the strategic rules change the same way as the AI, the AI's accuracy on predicting the outcome simply remains unchanged.
For overland decisions on initiating normal combat, there might be an improvement, but the AI's significantly reduced ability to judge its moves during the actual combat outweight that improvement tenfold. To being with, the AI's judgement on initiating normal combat is horrible and this level of improvement would not be relevant. It would still attack into missile immune units with archers, into Sky Drake with magical units, etc.

Please stop wasting time with this, strategic combat won't be improved, period. We've spent far too much time on it without any progress to continue.

Quote:What I'm saying is that the halberdiers should be 70 so that 110 is wrong. But we can't solve strategic combat, so this suggestion is an attempted to improve it.
I can't help thinking you're confusing the armor issue with the "effect of lost figures" issue. There is no possible way this sort of lack of predicting the effect of future damage has more than 10% influence on the accuracy of unit ratings, exactly because the chance of it being wrong at any given moment is that low. (Do note this is from the perspective of normal combat ONLY, but as strategic tries to be an accurate representation of normal combat, it also applies to it.)
If multifigure units are still overrated, that's due to the "attack vs armor" problem which we already know we can't improve further. Halberdiers vs Stag Beetle is grossly in favor of halberdiers if they have high enough swords to overcome the armor on the battle, and grossly in favor of the beetle otherwise. As we have to determine the number without knowing the other side, we can't possibly say whether the halberdiers should be 70 or 150 in the first place. It all depends on what it'll be fighting against, it might be a phantom beast, but it might also be a 20 shield buffed dragon turtle.

Either way, if you say the game rates units wrong, you should be pointing at the data and say "this unit beats that in normal combat but the ratings say the opposite." However, we did look at the rating of all units when we decided on the current armor formula and were happy with them, so this should not be the case. At this point I'm not going to take "maybe it is wrong", unless you can actually point at specific units that are wrong.
Reply

Ok, here are the numbers for a stag beetle vs 2 halberdiers:

orc experienced halberdier

6
4
2

experienced stag beetle

16 / 6
7
20

2 halberdiers vs 1 beetle

defense:
4*6*2*[4+2] = 288 *2 units = 576
vs
4*1*20*[7+2) = 720

offense:
[6-2]*6*20 = 480 *2 units = 960
vs
[(16-2)+(6-2)]*1*20 = 360

overall:
576*960/8192 = 67.5 for halberdiers
720*360/8192 = 32 for stag beetle - less than half the strategic strength
 
tactical expectations:

The stag beetle, if controlled by the AI, thinks it is badly outnumbered, and flees to the corner with superior speed, eventually retreating exhausted.

The stag beetle, if controlled by the human, knows it will win, and moves accordingly; the halberdiers, sure in their superiority, charge forward recklessly:

stag beetle moves faster, so gets first attack. Since the halberdiers think they are winning, the stag beetle can position to ensure 2 attacks on the first round. 
Stag beetle makes first attack, does 1 damage before halberdier retaliates. Then does 4 damage. 6 figures attack in return, do ~4 damage. Halberdier down to 4 figures, 1 with 1 damage.

stag beetle makes second attack, does 1 damage before halberdier retaliates, halberdier down to 3 figures. Then does 4 damage, and 3 figures attack in return doing ~3 damage. Halberdier down to 1 figure.

Stag beetle is at 13 health, 1 halberdier has 1 figure, 1 halberdier has 6 figures.

Strategically the stag beetle has taken 35% of its health, so strategically, the AI thinks that the beetle has an offense of 234 to match its defense of 468.  The halberdiers strategically have 1+1/6 units = 336 defense, and 560 offense. The halberdiers still think they should win, and attack:

1 figure halberdier attacks, and does ~0 damage. The stag beetle retaliates for ~3 damage and kills the last figure.

6 figure halberdier attacks, and does ~5 damage. The stag beetle retaliates for ~3 damage and kills 1 figure. The (now) 5 figure halberdier attacks again, and deals ~3 damage. The stag beetle retaliates for ~4 damage and kills 2 figures.

Stag beetle then attacks the 3 figure halberdier, and does ~1 damage before the halberdier can attack, killing 1 figure. The stag beetle then does ~3 damage and kills another figure, while the 2 figures retaliate for ~1 damage. Halberdier has 1 figure with 1 hp. The stag beetle has 4 hp.

The stag beetle attacks one last time and burns the halberdier down before it can retaliate.

Stag beetle wins, because the halberdiers thought they were stronger the entire time. 

So under human control, the single figure wins a fight the ai knows it can't lose. Under ai control, the single figure runs away and retreats exhausted.
 
Now we change the strategic value per the current suggestion:

defense:
4*6*2*[4+2] = 288 *2 units = 576
vs
4*1*20*[7+2) = 720

offense:
[6-2]*6*20 = 480 *1.14 for suggestion = 547 *2 units = 1094
vs
[(16-2)+(6-2)]*1*20 = 360 *2 for suggestion = 720

overall:
576*1094/8192 = 77 for halberdiers
720*720/8192 = 63 for stag beetle - ~80% the strategic value.  Its still too LOW, even with the change.


The reality is that the beetle wind with 1/5 of its health, so we would expect it's strategic value to be ~20% higher than 2 halberdiers.

However, I wouldn't want to make a bigger change without trying this to start.
Reply

Quote:4*1*20*[7+4)
I thought we changed the defense formula to use +2 instead of +4? Let me see... yes we did.

"dval:=trunc((longint(hp)*figs*(def+2)*5*(3+todef)*33)/100);" (from unitrate.pas which we used to output the ratings of units when we made the decision - looks like the file isn't updated in tools.zip though.)

We did that exactly to make single figure units (with usuallyhigher armor) work better and multi-figure (with usually less armor) worse.

This would put the halberdier at 25% less total rating relative to the beetle than in your calculation.

So 2 halberdiers at 67.5 vs 1 stag beetle 39. (not the real numbers but the ratio would be this)

The beetle thinks it's outnumbered slightly, but not enough to avoid fighting. For that, at least one more halberdier is necessary. (I think the cutoff is 200% enemy power for that category, not entirely sure but let's assume it is for now)

If there really are 3 halberdiers, the beetle is indeed outnumbered. Not only will it fail to capitalize on fire breath as it can at best attack one of the halberdiers using it, while the other two will easily retaliate, but it'll also suffer from suppression on all of its counterattacks on top of not being able to use breath in those. I'd expect it to die with killing only one of the three halberdiers, a clearly awful outcome that should be avoided, as the battle is 3 times more valuable as a unit than the halberdier.

I'm pretty sure your entire misconception that strategic strength is wrong comes from forgetting we changed the armor formula already. (or the AI's unwillingness to attack overland - but the cruel fact is, even if it did attack the berserkers, it would lose, unless spells turn the battle around, so its measurement of unit ratings is not wrong. Those buffed berserkers are that powerful - that's why you can use them to open the towers that early in the first place.)

Edit : Actually the beetle also loses that +2 so the real change is not 25% but less, however the beetle only loses 19%.. wait that's a lot. I guess the armor difference between these two units isn't high enough, however that also means the halberdiers are reasonably effective at overcoming the armor and do beat the beetle fairly easily. Though we'd need to play out that battle in normal combat to see the actual outcomes, and actually figure out which side wins and by how much. Don't abuse unit positioning - the AI cannot do that and it might be the one controlling the beetle.
Reply

And as for your comment that the tactical decisions need to be done well or strategic don't matter:

NINE experienced stag beetles currently will NOT attack 4 experienced orc halberdiers.

9 expensive too end units won't attack 4 halberdiers.

That's a huge huge issue, and in my opinion, far more worrying than the tactical implications.
Reply

Hum. I had forgot we changed it to +2.
Reply

Either way, decided to just look up the numbers from the precalculated data instead of trying to calculate it msyelf and making mistakes.
Stag Beetle (without levels) is 35.
Orc Halberdier (without levels) is 16.

That sounds fairly reasonable to me. If you want, I can alter the tool to also output the results with various levels added.
Reply

Updated due to armor change. Now 9 stag beetles can attack 4 halbediers, but they STILL can't attack 5.

You don't think that's a problem?
Reply

Oh...I see where your results are going wrong.

You used the strategic calculations, not the unit ratings themselves.
As we have already concluded, 2 units will always be twice as powerful than 1 unit, due to how the operations are not commutative - but only in the actual combat, not in the ratings.

Basically, you can't use "2 halberdiers = (def*2) * (atk*2)" which is the way strategic works, when the actual AI rating is (def*atk)*2. This makes your halberdier twice as powerful as it actually is in the rating.
Reply

No if the tool is giving numbers that are that wildly different, then it's not using the same formulas. 35 and 16 instead of 31 and 33 is a huge difference.

If the tool was what the AI used, I'd be fine. What does the tool does that's so different?
Reply



Forum Jump: