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.
Update - May 23: Fixed potential issues in ambush missions.
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.
I tried your mod hoping to finally have a bit of fun after over a thousand hours of gameplay. And I was quickly disappointed by a pretty crucial point. My party has 607 soldiers, and I had to face an army of 3,200 soldiers. I thought your mod would pit my 607 soldiers against 1,200 (or fewer, depending on my mod settings). But no, not at all it was 200 vs. 1,200. Needless to say, it was game over no matter what. Either it’s a bug, or the mod's balancing is off. What I want is my 600 soldiers against 800 or 1,000 enemy soldiers.
As I've said in ur bug report, wouldn't make much sense to spawn 100% of your troops and 20% of the troops for the other side. The intent of this mod is to allow bigger battles, not necessarily easier battles for the player.
So, it seems like there was a misunderstanding. At the same time, it's kind of hard to explain. sorry about that. I don’t know if it’s a bug; I think it might’ve already been an issue in the base game. Honestly, it’s hard to explain without showing it in-game. Anyway, I’ll try again: I have 600 soldiers and the enemy has 3,000. I set the mod’s battle size to 1,400. So technically, it should be 700 on each side, right? (But I only have 600.) So why is it that I only get 400 on the battlefield, and the enemy gets 1,000? I should be able to deploy all my 600 troops, and the enemy should fill the remaining slots — since they outnumber me by a lot. It should be a 600 vs 800 battle that would be fun and balanced. Why does the game do this? It makes no sense in terms of balance.
Before each battle, the game gets the total battlesize from settings and preallocates a ratio for each side. It's not simply 50/50, there're tons of variables that can influence how many troops you can field, like defenders advantage on sieges, perks and of course, the total number of troops each side has. If one side has more troops than the other, it will be able to field more troops as well. That's how Bannerlord was balanced.
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.
Each troops Ai would need to be adjusted and made more simple. Since each soldier is its own ai (of course being guided by their formation) 2000 is already pushing it to the limit.
It's not really the processing power being inadequate but more the shitty game engine, there is a reason they have hardcoded the limits, the engine simply cannot handle it.
Have been using this mod since you uploaded it and its worked great with a couple tweaks. Have been at 1900 max cap so as to leave a little room. After this last update (which I applied mid save/first time applying update with this playthrough) it crashes on the really big battles of multi thousand troops. If I go down to the minimum of 1200 troops it loads in fine. Just thought you should know.
Thank you for the mod, and if I find anything that will help clarify things I will share them with you.
Started a new campaign, with 1.2.12 instead of 1.2.11 and it has worked better, i only just recently ran into an issue where when I join a friendly party as they are in their siege camp getting attacked. Crashes after a moment in the battle, seems to be an asset mod issue though, using eriks troops and its associated armors, so lots of shiny helmets and improved texture chainmail. When it crashes all the helmet bug out, so im guessing its that mod causing the issue. Have had some great 2000 man fights tho, and its well worth the crash, ill try to get it to work and report back.
has been working great at 1400, i stopped going above as it was to much. But I noticed sometimes when i dismount my cav at the start of battle the game crashes. I noyticed when i kill enemy cav there horse dies also, so im guessing the left over horses are causing an issue. sometimes the crash is immediate, n sometimes doesnt happen til the first reinforcemennt wave.
I was unable to reproduce your crash by dismounting or by receiving reinforcements on my end. Any additional details on that?
Horses dying was a measure to immediately free space for potential new agents, but I guess I could make horses retreat as well or even make it optional. The number of horses on the field can limit the number of troops to be spawned by following reinforcements waves, but it shouldn't be able to cause crashes as the native code also checks for that.
I noticed the horses weren't retreating, they would just stand there or run in circles. Again im using the eoe flavor pack, so lots of high res armors, which could definitely have something to do with it. Also im the type of person who goes around the map and collects his favorite soldiers, so I also have like 200 to 300 unique units on my side, and thats in a party of 1600. (just thought id give more info) And maybe one cause.conflict might be either the "immersive battlefields" mod or the "ai defends yourself" mod. I dont its connected to rbm, but who knows, they do change a.i
The last version has been totally stable for me, even with total overhauls, so I don't know exactly what could be causing issues to you. It can be hardware, drivers, maybe this specific combination of mods...
Can you check if there's a new folder called "Logs" inside Modules/BattleSizeResized folder? If there is, can you paste the content of the txt here?
AMD Ryzen 9800x3D, with 128Gb DDR5 memory + RTX 5080. While enabling a party size of over 1400 in custom battle siege games, the CPU usage becomes 100% and the game freezes. I don't think 9800X3D is a weak CPU. By lowering battlesize to 1200, the issues went away. Is there anything I can do to optimize it?
I have videos of 2000+ troops running at 90 fps on a 5800x3d + rtx 3070. Your config should be much better. It's probably some driver issue with the new 50 series or maybe you don't have hyperthreadding enabled.
Can this mod be used with troop changers that use higher polygon armor and gear? In previous iterations of this mod I remember vanilla troops not being too risky in the big battles because of them using default base game assets but the modded ones being prone to crashing.
Depends on your hardware and the mods you're talking about.
Eastern Europe runs as smooth as vanila. Old Realms also runs well, but their summoning mechanics can cause crashes in big battles as it doesn't check for agent room before spawning.
i9-13900HX CPU + RTX 4080 GPU + DDR5 32GB), but during 2,000-men battles, the GPU utilization is abnormally low, with power consumption dropping to around 50W,and get 20-35fps
Hey, check the CPU utilization. As stated before, the engine is largely dependent on CPU power. Read the Performance tips above. Also, keep in mind that notebook parts are always weaker than desktop ones because of power limitations.
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.
87 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.
Update - May 23: Fixed potential issues in ambush missions.
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?
The intent of this mod is to allow bigger battles, not necessarily easier battles for the player.
Anyway, I’ll try again: I have 600 soldiers and the enemy has 3,000. I set the mod’s battle size to 1,400. So technically, it should be 700 on each side, right? (But I only have 600.) So why is it that I only get 400 on the battlefield, and the enemy gets 1,000? I should be able to deploy all my 600 troops, and the enemy should fill the remaining slots — since they outnumber me by a lot. It should be a 600 vs 800 battle that would be fun and balanced.
Why does the game do this? It makes no sense in terms of balance.
600 vs 1200 => 1 vs 2
The game keep the same ratio, so 200 vs 1200 => 1 vs 6
Somewhat the same.... completly logical
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.
Thank you for the mod, and if I find anything that will help clarify things I will share them with you.
Do you still have the big fight save? Can you test it with any older version?
https://www.nexusmods.com/mountandblade2bannerlord/mods/8177?tab=files&category=archived
Horses dying was a measure to immediately free space for potential new agents, but I guess I could make horses retreat as well or even make it optional. The number of horses on the field can limit the number of troops to be spawned by following reinforcements waves, but it shouldn't be able to cause crashes as the native code also checks for that.
Can you check if there's a new folder called "Logs" inside Modules/BattleSizeResized folder? If there is, can you paste the content of the txt here?
Check the Performance Tips fixed comment above.
Eastern Europe runs as smooth as vanila. Old Realms also runs well, but their summoning mechanics can cause crashes in big battles as it doesn't check for agent room before spawning.
Also, keep in mind that notebook parts are always weaker than desktop ones because of power limitations.
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.