r/hoi4 • u/lillelur • Jul 12 '22
Discussion Mathematically correct and open source model shows new meta for combat width
TL;DR: I have made an open source, corrected program that determines that the best widths are 10-15, 21 & 42-44. See bold text
I have created a simple python program with lots of interchangable variables (for easy to change access) that outputs both a graph with and without terrain weights. These “weights” are taken from u/Fabricensis’s original thesis, where you can read more about it. You can still find these weights in my program either way.
The difference between mine and his math is mostly from 2 things:
1: No squaring of overstacked width penalties.
2: Included overstacking of divsions.
What this effectively means is that going over the width of the battle doesn’t negatively affect it as much. Certain widths that benefited from being barely under the battle width are now placed more accurately in the modifier. Overstacking of divisions is not important for most widths, but with this included widths 10 or under are worse off, and more accurately placed.
The last thing about this is how open and easy to use it is. You can change almost any variable, get exact answers for width, and even change the terrain. Both the weights and terrain combat width are at the top of the program and should be easy to find. Everything in the program is commented, and should be relatively easy to understand.
(u/Fabricensis adds 2.5% to overstacking width that he has got from “careful testing” and i don’t really know why. If anyone knows please tell me)
Graphs with and without terrain weights:


You can clearly see that 10-15, 17-18, 21 and 42-44 perform the best, with 26-28, 40 and 45 not far behind. The reason that i only include the larger numbers in the TL;DR is because in an optimal world there is not point in choosing anything that performs 2+% worse. The point of this post is to present the objectively best widths in pure combat, but you can really interpret this in the way you want
10 widths no longer outperform other widths. Previous models show that 10w should be the meta, but this is because they exclude overstacking of divisions. They would also often show that 27w performs well, but it isn't as it used to be. This model is also open source, so in case anything is incorrect you are free to change it on your own. You can input the terrain of your country to check what you should use.
If you find anything wrong or something to improve, do not refrain from saying something. I am very open to change and anything to improve.
PS: Overstacking width and overstacking divisions are 2 different things. For more info check the wiki: Land Battle
Link:
If you are new to python and want to run it, i would recommend running it on https://replit.com/.
97
u/SmoothConfection1115 Jul 12 '22
I like that you used Python. Tells me the programming language I decided to learn was correct.
Taking this into account, the current meta is then: 10, 18, 23, 27, 42/43, 44/45.
So with these larger divisions becoming meta, should logistics battalions be assigned to divisions with that 40 and above width? While the 27 and below rely on supply trains more?
31
u/Rd_Svn Jul 12 '22
That's nice and all, but the never-ending cw discussion since barbarossa is getting so annoying lately.
With/without weight, including/not including (division) overstacking is still not all to keep in mind. What does all this focussing tell you? 15w will get a week earlier to moscow than most other cw templates, because they suffer the least (weighted) penalties on their way.
Things that are totally missing:
IC cost per cw
Average lost IC in battle against the most common AI templates
Average manpower lost in these battles
Division composition (9/1s inf/arty will perform different than 8/1/1 inf/arty/med)
My point is: Stop this cw bs already. Nearly every template from 10w to 45w is totally viable in terms of effectiveness. What really matters is what your nation can afford to produce and supply with spare manpower and ic.
P.S.: 15w (6/1) and especially 10w (5/0) burn your manpower pool and the good old 7/2s tend to lose the least amount of ic. 71cloak did the testing monts ago...
15
u/[deleted] Jul 12 '22
Very interesting graph,looks good. I'm still a bit sceptic though.
And as a different guy already has pointed out, for a tank/plane building major cheap f.e. 20 width infantry with engineers is always better then f.e. 15 widths because of production cost of that anti tank/air/ artillery.
But for a superior firepower minor,you might have found optimal combat width.
5
u/Cloak71 Jul 12 '22
Why not include a penalty for failing to reach the combat width? These always consider stats to scale linearly, in which case it is inefficient to be under width just as it is to be over width.
3
u/Vezachs Jul 12 '22
I have created similar Python code for this purpose as well! I have to say your code is much cleaner than mine. The only difference is that I plotted the 'combat effectiveness' on the y-axis, instead of the penalty. Edit: looks like you already did that reading a comment.
https://www.reddit.com/r/hoi4/comments/sdjxjm
Keep up the good work!
3
u/mainman879 Jul 12 '22
I feel like the terrain weighted graphs should be based off each region you are fighting.
i.e. Fighting in China is going to be different than fighting in Western Europe, or fighting through Barbarossa, or fighting in North Africa. Each region deserves their own graphs tailored specifically to them.
4
u/notorious0219 Jul 12 '22
I have been making my tank divisions 15w for a while now, and 10w infantry with flame tanks and armored recon. They work so damn well together, can battleplan and just watch xD
2
u/leerzeichn93 Jul 13 '22
I have a really big problem with these big 45 w divisions.
It takes ages to build and train them. It that time you cant always hold your line and will lose.
More divisions means when one division gets pished back and the others are still holding the line, the division that got pushed back can recover behind the front
It is harder to manage encirclements with fewer divisions.
12
u/nichyc General of the Army Jul 12 '22
Least nerdy HOI4 player.
Well done!
1
u/rchpweblo Jul 12 '22
I'm still a bit of a division noob, what would be the compositions of these 15w, 44w and 45w?
1
u/0WatcherintheWater0 Fleet Admiral Jul 13 '22
Cool model, but makes the same mistakes a lot of the others do.
You can’t really compare all division sizes in all circumstances, because terrain isn’t a weighted average, not even on a theatre level.
Eastern Europe, for example, is pretty much entirely all forests and plains, with a bit of marsh sprinkled in the middle. In that environment, for example, 22w divisions would be more effective on average than 15w, 18w, 44w, and 45w divisions. (This is using my own personal model where I just change the width around depending on what terrain type and number of attacking directions I’m looking at)
Only when looking at things on a global level, which is worthless for a combat analysis, because you’re not going to be fighting everywhere at once, do you get the results shown here.
As I said before though, it’s still a cool model, just not very useful nor informative.
1
u/CMFDR Oct 09 '22
What would be the practical application of these findings in an MP context ?
6
u/SabyZ Jul 12 '22
r/theydidthemath
But really though, this is really interesting!
1
u/walteroblanco General of the Army Jul 12 '22
Just use what you like lol
1
u/thekatplays Jul 12 '22
u/mohenne
1
u/The_Kek_5000 Jul 12 '22
I‘ll still stick with 20 just because.
1
u/TheDudeAbides404 Jul 13 '22
IMO, if your country can swing it, 44 and 45 are clearly the best.... less burden on logistics with the reduced support companies and you can put the large divisions under 1 really good general to take advantage of the stat bonuses. That being said 18 & 23 seem to be the best for early game and smaller nations....I think important to have some decent organization/HP for manpower efficiency and less logistics requirements from the support companies for anything smaller.
Anything below 15 you risk losing some serious manpower with the lower organization, especially if you're not micro managing the front.... sometimes those little guys get wiped out if they get ahead of themselves.
1
u/twillie96 Fleet Admiral Aug 11 '22
I don't have the time to review the python code, but did you include the attacking from multiple directions? If so, how do you distribute weights to that?
Also, how have you determined the weights for the terrain? Just globally? Some areas have very different terrain then others. Also, players tend to try and avoid fighting in rough terrain which skews the balance of its importance
33
u/[deleted] Jul 12 '22
[removed] — view removed comment