The AI should retreat and autocalc throwing hundreds of dice is bad.

Users who are viewing this thread

Apocal

Grandmaster Knight
"Discretion is the better part of valor."
A lot of stuff is still janky or under development or imbalanced, but it would really, really help if the AI didn't suffer absolute stackwipes constantly. Up front: I'm aware the AI does sometimes break away from bad autocalc fights occasionally. My position is that they should do it almost every time the battle turns against them and it should be difficult to annihilate a full army and capture a half-dozen or more lords in the process without trapping them or some other special circumstance.

First things first though: manual battles. There is stuff in the DLLs about organized retreats and withdrawals of individual formations, great. But I've never seen it actually happen in a battle. Not even one time. I'm not great at reading and understanding code so I can't say whether it is bugged, an oversight or simply unimplemented. I can only speak to having not once seen a lord bail on a fight in the way a player can (properly): by ordering his units to retreat off the map. Yes, sometimes their morale breaks and they rout off the map. But in a deliberate manner? Not once.

The AI shouldn't sit up there watching the powerbar tilt against them and think, "Nah, I'll just ride it out, see what happens, any given Sunday, etc." -- the way battles play out in Bannerlord isn't like real life where you can have wild swings in fortune; it is much, much closer to Lancasterian n-square law (tl;dr a tactical advantage that snowballs so you kill everyone against you for few losses). The only time I've seen a battle actually turn against me was when my troops were killing dudes (who outnumbered them like eight to one at the start) just fine until their arrows gave out.

The majority of players -- and I'm judging by streams and YouTube videos not just my own play -- understand this intuitively even if they don't necessarily retreat for whatever reason. But the AI acts like 600 vs. 800 becoming 500 vs. 750 is still a winnable fight, despite it being obviously not to anyone with a brain and eyes to see the powerbar. (As an aside, the powerbar should represent total power, including reinforcements, unless there is some way to stop reinforcements from spawning.) A fight especially isn't winnable in the case when the superior force has a lot of ranged power (Khuzaits and Vlandians, basically) that can kill without necessarily being endangered.

That last bit about ranged power only applies to manual battles but autocalc has its own issue: hundreds of dice rolls means everything winds up just about average, every time. Just to illustrate what I'm saying: if I roll my 4d6 vs 5d6, I'll have a decent chance of winning. In fact, no one should bat an eye if I win with 4d6 against 5d6, two times out of three. It isn't the most likely outcome but common enough that there is no issue.

However, as the number of dice rolls goes higher, the chances of an upset become lower -- much, much lower.
NOTE: Generic d6 dice rolls, not BL's autocalc being simulated.
j5t5Wwr.png


Presently, autocalc does a lot of rolls -- I'm not sure exactly how many, but at least one per attacker, per round. Numerically superior forces get an advantage in first attack, so they blow away a portion of the defending side first. In the end, things still usually snowball to a finish. And like I said to start with, occasionally the AI does bail out when its bad. But way too often it either doesn't even try to escape intact or it tries and fails because there are no mechanics to support a fleeing army. Or maybe there are but they aren't strong enough to matter.

This is part of why campaign-level snowballing happens: minor advantages add up into big wins, big wins add up into more advantages in the next fight and so on. It also influences things like the campaign balancing, because the devs have to weigh the fact that the AI gets stackwiped repeatedly. So they get an XP bonus, they get an extra two recruitment slots, they get to start with more parties, more favorable exchange rates on loot, etc.

tl;dr: It would help with the snowballing issue if the AI would bail before it became a truly egregious stomping and there were fewer dice rolls in autocalc.
 
Last edited:
I hope you include the total Tier power (which im certain you have in mind) in to this factor to since ive seen AI beat another AI with 200+ men difference not in auto calk but in manual battle when i got down pretty much from the start. (However i have my suspicions you can get reinforced during AI controlled army battles from outside parties but that im not certain about... just a whim) And Ai always count in reinforcements to come when they engage at times even if they are far away, sometimes not

Other then that well put...Tactical formations and retreat is def something that needs to be developed more. Sometimes the AI starts to attack recklessly on the battlefield with lower power when they could instead tactically try to do something about it or just try to retreat as you mentioned (but not out to map unfortunatly which also can be seen as an balance act since the army got caughed). Ive seen larger retreats though but idk if that was due to overal moral break...Personally i think you should get penalized for retreating and loosing troops

Hope im not to far away from the subject and please correct me if so ^^ because got an fever today

Think you have seen this before but the AI turned this around like no ones business with a lot less troops. We got caught and i though to my self this is over but nope ^^


Auto calkulator is fugged though (as we already know) since larger cavalry numbers no matter what faction crushes the battle on map
 
Last edited:
tl;dr: It would help with the snowballing issue if the AI would bail before it became a truly egregious stomping and there were fewer dice rolls in autocalc.

Nice work, but AFAIK you can not really disengage or retreat as soon as the battle has started. For example retreating on the battle field will only allow you to start a new battle with your troops adjusted by the former battle.

For this to work there need to be a rear fighting mechanic. Currently when an enemy catches you you can either fight, auto calculate, concede or leave some troops behind to escape. Ideally you should almost always have the chance to escape the fight as long as you have enough troops to burn. Meaning if you retreat from a fight and want to shore up your losses you should either be able to negotiate for a retreat with the lords (and they in turn should offer you something if they do not want to continue the fight) or sacrifice some troops to rescue yourself and the rest of the troops.

If the AI has the same possibilities they also should make use of it. If you catch them with overwhelming odds allow them to make you an offer to let them go or try to retreat at the first chance they get and let them sacrifice some troops. In turn also add a new mechanic that will enforce the AI to build up their troops again. Thus keeping the lord out of the front lines for some days until the troops are replenished and maybe a little bit more experienced.
 
I hope you include the total Tier power (which im certain you have in mind) in to this factor to since ive seen AI beat another AI with 200+ men difference not in auto calk but in manual battle when i got down pretty much from the start. (However i have my suspicions you can get reinforced during AI controlled army battles from outside parties but that im not certain about... just a whim) And Ai always count in reinforcements to come when they engage at times even if they are far away, sometimes not

What I posted was only a graph of the results of generic d6 dicerolls, not the actual autocalc. That should've probably been made more clear, my bad. I just wanted to illustrate the point that as the raw number of rolls goes up, the overall variety in outcome goes way down, even with the power ratio remaining the exact same (4:5).

I'm not really capable enough to build an BL autocalc simulator and I don't think the point really needs it.

Nice work, but AFAIK you can not really disengage or retreat as soon as the battle has started. For example retreating on the battle field will only allow you to start a new battle with your troops adjusted by the former battle.

You can't retreat fully from an initiated battle without giving up troops to escape, that's true. I'm suggesting that the AI not only do battlefield retreats, but also follow up with a full retreat in cases where they clearly cannot win. And by "clearly" I mean they might still have 80% of their party/army alive and unwounded but realize the fight is firmly against their favor. That should make it more like the way a human player looks at their odds in battle and reacts to the situation.

For this to work there need to be a rear fighting mechanic. Currently when an enemy catches you you can either fight, auto calculate, concede or leave some troops behind to escape. Ideally you should almost always have the chance to escape the fight as long as you have enough troops to burn. Meaning if you retreat from a fight and want to shore up your losses you should either be able to negotiate for a retreat with the lords (and they in turn should offer you something if they do not want to continue the fight) or sacrifice some troops to rescue yourself and the rest of the troops.

I agree, I just don't want to put a specific suggestion here instead of in the Suggestion forum. I'm not even sure which campaign dev would handle it -- or even if it is an issue the campaign team would handle at all compared to some other group.
 
What I posted was only a graph of the results of generic d6 dicerolls, not the actual autocalc. That should've probably been made more clear, my bad. I just wanted to illustrate the point that as the raw number of rolls goes up, the overall variety in outcome goes way down, even with the power ratio remaining the exact same (4:5).
Ok got it :smile:

Well games today have problems with the rolling dice randomness in my opinion but i can be wrong. Since the randomness in rolling that dice doesnt take account for where it lands and goes back from being 0 hense negates the actual procentage of ex landing on a 6 again...But this is just some technology philosophy talking and i might be wrong and might not be about the subject either so appologies in advance :wink:
 
I agree with all the points made here, but I have one more. All of this would be a much smaller issue without the massive stacks the army system generates. The Warband system of a marshal who orders lords to accompany him was a much more enjoyable system. Sure your vassals didn't always do precisely what you wanted, but it vastly reduced snowballing and gave many more gameplay options. There were more, smaller battles. The entire faction wasn't essentially wiped in a single engagement. You could pick off enemy lords that were straggling. I know you can still do that before they join the army, but you could do it all the time with the old system. I'm hoping some mods will come out that ditch the army system.
 
I saw the AI retreat in a real battle, it was a siege defense. When we broke their ram, all their troops started to run to the forest in retreat. However, the men on the walls tried to pursue them, but they couldn't because merlons, except some glitched out and fell to the ground; just as that happened the enemy stopped their retreat, and resumed the assault and raised the ladders, eventually winning the siege. But I not sure how much this holds up, as I'm pretty sure was pre 1.4, or a very early version of it.
 
I have seen the AI realize it's fubar'd and retreat. It is rare, but it does occasionally happen in what seem to be, very specific circumstances. My most recent experience, was fighting the Khuzait as a captain in the southern empire army. They had 1250 ish vs our 800. Balance of power was heavily in their favor before the battle and our (empire) AI knew it. They put everything we had on a steep hill in the middle of a thick forest. Khuzait cavalry came rushing in, as expected, but it was a one sided bloodbath. By the time friendly AI ordered the charge, more than half the Khuzait force was dead while we had lost maybe 200 at most. Their foot archers were doing the shoot while falling back thing while their infantry was just straight up running for the border. Their final wave never spawned in as we cleaned up the last of the remaining horse archer and the battle ended. I was expecting to see the battle results being a massacre for them, but they still had about 400 capable of fighting with about 300 wounded. When we got back to the campaign map, both armies disengaged and headed for friendly towns.

Wish I had taken a screenshot of it, since it was the rare unicorn instead of the usual full wipe situation.
 
I have seen the AI realize it's fubar'd and retreat. It is rare, but it does occasionally happen in what seem to be, very specific circumstances. My most recent experience, was fighting the Khuzait as a captain in the southern empire army. They had 1250 ish vs our 800. Balance of power was heavily in their favor before the battle and our (empire) AI knew it. They put everything we had on a steep hill in the middle of a thick forest. Khuzait cavalry came rushing in, as expected, but it was a one sided bloodbath. By the time friendly AI ordered the charge, more than half the Khuzait force was dead while we had lost maybe 200 at most. Their foot archers were doing the shoot while falling back thing while their infantry was just straight up running for the border. Their final wave never spawned in as we cleaned up the last of the remaining horse archer and the battle ended. I was expecting to see the battle results being a massacre for them, but they still had about 400 capable of fighting with about 300 wounded. When we got back to the campaign map, both armies disengaged and headed for friendly towns.

Wish I had taken a screenshot of it, since it was the rare unicorn instead of the usual full wipe situation.

That's good. It means the code is working but probably some weighting is out of adjustment or trigger isn't quite triggering in most cases it should.

Has anyone else seen this?
 
Completely agree with main OP. Constant stackwipes should be something rare, but it looks like something hard to achieve though, especially when we have to big armies fighting, and then some single parties joining to the battle. Maybe adding a hide speed debuff for all attackers could work but not sure if it would feel good, maybe yes.
 
nice post. I wonder if they implemented retreat in battles, but not on the campaign map?
I have seen lords retreating with many soldiers in big army x army battles in a less "run-to-the-hills" approach. They'd still try to fight if they get caught up, but wouldn't stop running. The end result would be they still lost the battle and get captured, though. It would be preferable to fight to the death and inflict more casualties if running away in battle doesn't result in a retreat in the campaign map
 
Back
Top Bottom