Update - April 15: Added support for Custom Battles.
Update - April 16: Optimized code for sieges. Included additional logic to skip wrong xml data from custom troop mods. Increased the Army Size limit for Custom Battles to 10.000 (you can click the number box to write the desired values).
Update - April 19: Added support for gamepass version.
Update - April 25: Small code refactor. Sieges gain +1 battle size limit.
This mod's performance is highly dependent on the CPU, but other things can also help I won't mention native graphics options as those are easy to find
Windows Version: It was tested on W10 and works pretty well. I don't have enough data to say if W11 has any bad or good effects on performance.
Bannerlord Installation Disk: Always prefer SSDs.
Checking if Hyperthreading is Activated: Hold Ctrl + Alt + Delete > Task Manager > Performance > CPU. Check if the number of cores is lowerthan the number of logical processors. If they are the same, your Hyperthreading is deactivated and you should search how to enable it in your motherboard.
Checking if Resizable Bar is Activated: Hold Windows Key + R > Type devmgmt.msc > Find your GPU under display adapters > Right Click Properties > Resources > Large Memory Range should be present (or something close to this effect). If it is, resizable bar is operational. If it's not, you should search how to enable it in your motherboard.
Overlays: Any kind of third party overlay, including Steam Overlay or NVIDIA Overlay, can have impact on performance. If you're suffering with low fps, you should disable them.
EDIT: Found a case that didn't fit with this at all. IGNORE POST.
Hey
After some testing, I believe attacking siege camps in a battle that will have more than 2046 units(incl horse) hangs/freezes the game because it is classified differently from the three battle types these mods adjust downwards after unlocking the vanilla limit.
The three types of battles the mods address are: Normal Battles Sieges Sally Out Battles
There is a 4th category that is not covered that happens when one attacks siege camps.
Since the mods work by removing the limit, then reapplying limits in each category type, then this category being left out makes huge [Attacking Siege Camp] battles push against the hard engine limit when loading in, and break.
I have a save file if you want it to test... but it uses the entire basic BKCE mod stack, so maybe you don't want it hehe.
I tested going as low as I could with this mod, and then I tested all the way down to vanilla levels with the mod I believe this is based on, and it didn't resolve the problem. But turning off the mod did. https://www.nexusmods.com/mountandblade2bannerlord/mods/6784?tab=posts
Hey. Sorry, I also found a case that didn't fit with what I said. Thanks for testing and checking. I should have waited before posting and seen if it happened again after some days more of playing.
What the game calls SallyOut is in fact just a normal field battle. In the code, SallyOut battle is the Ambush mechanic when you defend a fief. Was your battle an Ambush? When you rush through the gates to destroy enemy machines?
My mod is not based on any other, but some issues may possibly affect all battlesize mods. It can be custom assets with a polygon count way higher than it should be or something else. I still need info on it to be able to track it down.
Hey, I think latests updates broke something. Same save I was playing before, I could load into any battle and play it from start to end (1600 agents). Now even with 1200 agents got unreported CTDs reverting to without mod with 1000 agents seems to work just fine.
Hey man, nice mod! Do you think that there is a way to surpass the 2000 units limit on campaigns? Other than that this mod is amazing, thank you for sharing it.
Regarding your question, the answer is yes. It is possible to go beyond 2000. But there are a few considerations.
First, this mod is relatively simple, but to break the engine limit the difficulty skyrockets. We are talking about months of work with Ghidra or some other reverse engineering tool and a lot of sweat before delivering something stable. Second, I don't know how many people would actually benefit from it since 2000 to 2300 is already the limit for a 9800x3D or I9. More than 2500 troops would require a server CPU, which can cost well over $1000. Unfortunately, performance does not scale linearly.
THe problem isn't so much the 2000 agent limits per say, at least when you have a CPU that can handle it, the problem is how Bannerlord task and divide the AI when they groups them into formations.
If you have a formation size of 800+ agents or more for a moderate CPU, you will get a LOT of lags. SImply dividing them up to smaller formations would help performances. Then, the other issue - reinforcement. Reinforcement in Bannerlord is an inefficient mess. They only reinforce ONE formation, not all, so you are constantly shuffling around troops if you do have more reinforcements. Those are some problems I want to highlight. The other is obviously mounts, as they count as the same as a single character. So if you have 2000 limit, what it means is you either have 2048 troops.... or 1024 mounted troops.
With all of these factors, it's honestly impossible. Some poeple may points to Warhammer and Total War games, but it's the same principle. Look at how many agents are in one formation. Total War games understand how agents count works, so that's why they have fixed formation sizes for units to counter the lag. However, even their engine would began to struggle after you exceed 2800 agents or so, such as in Warhammer 3. LegendofTotalWar mentioned it a few times. Not to mention they dumped down animation and troop collisions to help tone CPU performance down, yet the computer will still run hot.
All of these factors are why, in our current gen and Bannerlord's formation and reinforcement system, there is no value going pass their limits as even the engine itself will struggle to handle that many AI. This isn't Total War, remember, troops collisions, individual health, and all these other factors that makes it harder for the CPU to handle.
I noticed that all the soldiers have the hands opened and they clip throough shields and look weird, also in the weapon hand slot, kind of ruined my immersion, is it part of the optimization you did?
It may be caused by some weird interaction with another mod, but even after dozens of ppl stress testing it with many different overhauls and Custom Troop mods, I've never heard about anything like it. What's your mod list?
Great module, really customize the number of people, after testing in a custom 2000 man war all choose kugit level 6 infantry the game will crash, but other number of people to expand the type of module in the test will also encounter this problem!
Oh alright that makes sense, still pretty impressive! Also could it be possible to restore the 'enhanced battle test' mod? I really loved that mod. I'd pay you money!
when i launch the game it gives me the error: cannot find Modules/battlesizeresized/bin/gaming.desktop.X64_shipping_client/battlesizeresized.dll anyone know a fix im on xbox gamepass for pc
Every time you install a mod, launch this program Unblock Dlls It fixes your problem in 99% of cases. Simply extract the folder to the game's module folder and run it. Leave it there; there's no need to delete it; it'll be useful for any future mods you need to unlock.
60 comments
Update - April 16: Optimized code for sieges.
Included additional logic to skip wrong xml data from custom troop mods.
Increased the Army Size limit for Custom Battles to 10.000 (you can click the number box to write the desired values).
Update - April 19: Added support for gamepass version.
Update - April 25: Small code refactor. Sieges gain +1 battle size limit.
This mod's performance is highly dependent on the CPU, but other things can also help
I won't mention native graphics options as those are easy to find
Windows Version: It was tested on W10 and works pretty well. I don't have enough data to say if W11 has any bad or good effects on performance.
Bannerlord Installation Disk: Always prefer SSDs.
Checking if Hyperthreading is Activated: Hold Ctrl + Alt + Delete > Task Manager > Performance > CPU. Check if the number of cores is lower than the number of logical processors. If they are the same, your Hyperthreading is deactivated and you should search how to enable it in your motherboard.
Checking if Resizable Bar is Activated: Hold Windows Key + R > Type devmgmt.msc > Find your GPU under display adapters > Right Click Properties > Resources > Large Memory Range should be present (or something close to this effect). If it is, resizable bar is operational. If it's not, you should search how to enable it in your motherboard.
Overlays: Any kind of third party overlay, including Steam Overlay or NVIDIA Overlay, can have impact on performance. If you're suffering with low fps, you should disable them.
1) Mod version used: (you can find it on the right side before loading a save)
2) Describe what happened and how to reproduce it:
3) Are you using any Custom Troop Mod or large Modpack?
Hey
After some testing, I believe attacking siege camps in a battle that will have more than 2046 units(incl horse) hangs/freezes the game because it is classified differently from the three battle types these mods adjust downwards after unlocking the vanilla limit.
The three types of battles the mods address are:
Normal Battles
Sieges
Sally Out Battles
There is a 4th category that is not covered that happens when one attacks siege camps.
Since the mods work by removing the limit, then reapplying limits in each category type, then this category being left out makes huge [Attacking Siege Camp] battles push against the hard engine limit when loading in, and break.
I have a save file if you want it to test... but it uses the entire basic BKCE mod stack, so maybe you don't want it hehe.
I tested going as low as I could with this mod, and then I tested all the way down to vanilla levels with the mod I believe this is based on, and it didn't resolve the problem. But turning off the mod did.
https://www.nexusmods.com/mountandblade2bannerlord/mods/6784?tab=posts
This mod should cover siege camp attacks as well. I just tested it here with vanilla troops and everything went fine.
Which mod version are u using? You can check it on the Load page, at the right side.
I used v1.0.2.0.
What the game calls SallyOut is in fact just a normal field battle. In the code, SallyOut battle is the Ambush mechanic when you defend a fief. Was your battle an Ambush? When you rush through the gates to destroy enemy machines?
My mod is not based on any other, but some issues may possibly affect all battlesize mods. It can be custom assets with a polygon count way higher than it should be or something else. I still need info on it to be able to track it down.
Can you check which version works and which version gives you issues? There's an archive in the File's page in case you need to get older versions.
On my end everything works perfectly.
Regarding your question, the answer is yes. It is possible to go beyond 2000. But there are a few considerations.
First, this mod is relatively simple, but to break the engine limit the difficulty skyrockets. We are talking about months of work with Ghidra or some other reverse engineering tool and a lot of sweat before delivering something stable.
Second, I don't know how many people would actually benefit from it since 2000 to 2300 is already the limit for a 9800x3D or I9. More than 2500 troops would require a server CPU, which can cost well over $1000. Unfortunately, performance does not scale linearly.
If you have a formation size of 800+ agents or more for a moderate CPU, you will get a LOT of lags. SImply dividing them up to smaller formations would help performances.
Then, the other issue - reinforcement. Reinforcement in Bannerlord is an inefficient mess. They only reinforce ONE formation, not all, so you are constantly shuffling around troops if you do have more reinforcements.
Those are some problems I want to highlight. The other is obviously mounts, as they count as the same as a single character. So if you have 2000 limit, what it means is you either have 2048 troops.... or 1024 mounted troops.
With all of these factors, it's honestly impossible. Some poeple may points to Warhammer and Total War games, but it's the same principle. Look at how many agents are in one formation. Total War games understand how agents count works, so that's why they have fixed formation sizes for units to counter the lag. However, even their engine would began to struggle after you exceed 2800 agents or so, such as in Warhammer 3. LegendofTotalWar mentioned it a few times. Not to mention they dumped down animation and troop collisions to help tone CPU performance down, yet the computer will still run hot.
All of these factors are why, in our current gen and Bannerlord's formation and reinforcement system, there is no value going pass their limits as even the engine itself will struggle to handle that many AI. This isn't Total War, remember, troops collisions, individual health, and all these other factors that makes it harder for the CPU to handle.
Maybe TW messed up with assets performance or it's something else. Would need additional data about that.
Also could it be possible to restore the 'enhanced battle test' mod? I really loved that mod.
I'd pay you money!
Simply extract the folder to the game's module folder and run it. Leave it there; there's no need to delete it; it'll be useful for any future mods you need to unlock.