Maintaining Offensive Momentum

A complete overhaul and re-development of Gary Grigsby's War in the East, with a focus on improvements to historical accuracy, realism, user interface and AI.

Moderator: Joel Billings

User avatar
Wiedrock
Posts: 1686
Joined: Tue Oct 11, 2022 7:44 pm
Location: Germany

Re: Maintaining Offensive Momentum

Post by Wiedrock »

Joel Billings wrote: Mon Oct 06, 2025 6:31 am I wasn't arguing that CPPs don't impact non artillery units, what I was saying was that as for direct impacts on fire combat, Gary had always told me that CPPs just helped defending artillery type ground elements in firing (and he may have been talking about just the long range artillery bombardment phase part of combat, I don't remember the specifics). However, Gary is known to build all kinds of things into the formulas, some of which never get documented. So it's very possible at some point he built in an impact of CPPs on direct fire for both attacker and defender. If he did, I would have guessed it would have been built into the chance to fire for a block of ground elements, not the chance to hit. I'll ask Pavel and Gary if either can confirm or deny the direct impact on fire combat, but whatever it is, it's not changing. Gary probably won't remember and won't want to go through the many pages of combat code to try to figure out if he built it in. Pavel might be able to do a search and rule something in or out. Wiedrock has a good track record of figuring out what's going on, so I'd tend to believe his analysis on this unless we get additional information from the programmers. In any case, the fundamentals of the importance of CPPs/fatigue/MPs remain a critical element to understand and master.
I am pretty sure it affects all in all cases in some way (Artillery defense, Artillery offense, Squads defense, Squads offense). Attached at the end you can see the results for 3 attacks.

I don't think anyone (especially not me!) want it to be changed whatsoever.
I THINK THIS IS AWESOME actually! 8-)
I just want people to know that there is more to CPP than "just" Attacker CV, Fatigue rolls, SU commitment chances, to some degree eventually more "carry capacity" to Ammo ... and more I may forget about. Since it seems (to me/afaik) to not be mentioned in the Manual.
So I pointed it out in this Thread.

And as you and Sammy have highlighted, there's a lots of awesome considerations to CPP/Fatigue/MP management Gary has developed, to which I think it's worth adding the "improvement of Combat performance" (of all Elements), which as shown is rather large (from how I interpret the results)!
The "issue" I think is that this improvement in performance is not reflected in the defender's CV, so you may attack an enemy with a ratio of 3:1 and win and the next one you attack with 3:1 and lose (ignoring all the other unknowns and leader rolls), because the Division(s) all have 100CPP and hit "+50%" or so harder. To highlight this, compare the three Soviet attacks (red) I've posted before and compare each side's losses to the new test with 0CPP German denfender in the following:
noCPP example.png
noCPP example.png (156.68 KiB) Viewed 390 times
This shows that if one has the same defense set up, but you remove the 100CPP from the German Division (it always had 100, I just tested the SUs in the post before), you get now more German casualties and way less Soviet casualties.
We go from 2600-3100 Soviet casualties against a German Division with 100CPP to 2000-2400 against the same German unit with 0CPP. That's ~ 2750/2200=1.25→25% more Soviet casualties against a German Division with 100CPP + German losses change as well in the other direction obviously.

Another example which I find "extreme" with people not knowing about the mechanic:
Artillery isn't a "CV loaden" asset, so people may even on attacks don't care about 1 CV becomming 2 CV when attacking with other Units having 300CV in the attack (understandably so). But...
An Artillery SU (assuming numbers, but to me it seems about like that) with 100CPP gets a Bonus of +50% HPE while one at 50CPP only gets +25% HPE, then the one you've rested in your Corps/Army HQ and which does not need to be re-assigned before a planned attack(/defense) will have 150/125=1.2→20% better effects than the other one. So "refitting/farming 100CPP" in OKH/STAVKA and just before combat assigning a Unit makes you lose those additional +20%(...or +25% ....tricky percentages...) performance by costing you 50% of current CPP for re-assignment of the SU.

Following an Artillery Attack example, there you see what I mean with "not changing the FPE" for Artillery. That's why I stick to looking at HPE for the normal Ground Elements (altough it may be not as "clear" as a metric).
It also shows the "+50%" for 100CPP I cited before which stays pretty stable at this percentage (not as erratic as the Ground Elements).
CPP Attack Artillery example.png
CPP Attack Artillery example.png (243.29 KiB) Viewed 390 times
Attachments
CPP Attack Ground Elements.png
CPP Attack Ground Elements.png (1.46 MiB) Viewed 390 times
MarkShot
Posts: 7477
Joined: Sat Mar 29, 2003 6:04 am

Re: Maintaining Offensive Momentum

Post by MarkShot »

I finally did get WITW (needed to reinstall the game; I had cloned my new system in 2023 and all seemed working) last night and played. Something to do with a DirectX runtime support; I would guess DirectX 8. I probably picked up 9-12 simply by installing the drivers for my new card during the cloning.

I remember there was a lot of debate on CPP when when WITE-2 was released like 4 years ago.

Playing WITW, I can say that the ebb and flow of battle due to fatigue and TOE losses feels similar to CPP. For the casual gamer, I think axis of attack or lines of defense along with logistics management is the fundamental battlefield experience for the casual player; not the introduction of CPP. In fact, I would say the difference in the two air systems is much more impactful.

But definitely, for the detailed oriented player such as Wiedrock, I am sure that CPP alters his play style. But Wiedrock plays like a beta or programmer, someone intimately familiar with every nuance of the code/game. After all, how many players code spread sheets to model the game?

PS: Wiedrock, that was not a criticism. Your thoughtful play has improved the product for all of us. Thank you.
2021 - Resigned in writing as a 20+ year Matrix Beta and never looked back ...
User avatar
Wiedrock
Posts: 1686
Joined: Tue Oct 11, 2022 7:44 pm
Location: Germany

Re: Maintaining Offensive Momentum

Post by Wiedrock »

MarkShot wrote: Tue Oct 07, 2025 12:44 am But definitely, for the detailed oriented player such as Wiedrock, I am sure that CPP alters his play style. But Wiedrock plays like a beta or programmer, someone intimately familiar with every nuance of the code/game.

PS: Wiedrock, that was not a criticism. Your thoughtful play has improved the product for all of us. Thank you.
I just want to know what the things I do, do. ;)
MarkShot wrote: Tue Oct 07, 2025 12:44 am After all, how many players code spread sheets to model the game?
Just wait for my own WITE release. War in the EXCEL! :mrgreen:
MarkShot wrote: Tue Oct 07, 2025 12:44 am I remember there was a lot of debate on CPP when when WITE-2 was released like 4 years ago.

Playing WITW, I can say that the ebb and flow of battle due to fatigue and TOE losses feels similar to CPP. For the casual gamer, I think axis of attack or lines of defense along with logistics management is the fundamental battlefield experience for the casual player; not the introduction of CPP. In fact, I would say the difference in the two air systems is much more impactful.
CPP is just an system on top of a functioning system to give more benefits to proper planning/preparations.
If you "imagine/immerse" the fact to have full Ammo/Fuel/Supplies and high MP as sufficient for your immersion to represent operational planning, that's fine as well.
I also don't think it would have such a large impact in WITW as on the Eastern Front due to the forces being somewhat equally structured/skilled and the missing "Corps" units, I'd guess. Since it's a good way to avoid/reduce stacking penalties and reduce losses (I'll give an example for those interested).

Now, ...who's interested in why you may want to more think about CPP may read on. :ugeek:
1. see what Joel and Sammy already said.

2.
Let's for now ignore the "fact" which I pointed out that CPP improves performance (this would go on top of what I am highlighting here).

One can ignore CPP (generally), the game will still work fine mostly (some CPP will be there anyways).
Or as HLYA rightfully highlights you may just go on in 1941 as Axis since Soviet units won't fire back at all and you may just sneeze at them now rather than wait :D , so better not let them prepare/rest.

But especially for Soviets you have to decide whether you get your "target CV" to an attack by stacking 6 Divisions/Corps or by using 3x100CPP Divisions/Corps (+adding an extra one).
  • Using the 6 Divisions/Corps causes you to get Stacking Penalties (all your unit's Ground Elements will shoot less each (Manual Chapter 23.8.1)). This particularly affects the Soviet side (at all times basically, unless you face a German Regiment/Brigade).
  • Simultaneously, by this stacking of many men you will suffer larger casualties, since the more Men/Ground Elements you have in a battle the easier it is to hit them (something like that, see same manual chapter, I don't know the exact mechanic, it's also applied to Manpower in SUs), so you will lose more men - and even worse, the defender won't lose proportionally more.
As an example (this is an extreme/exaggerated example to make a point) compare these two battles, it's again the 100CPP German Division (but this doesn't play a role in this).
All I did in the second battle, I added +4 Rifle Corps of which one having 3 extra Rifle Brigades attached.
I rolled the battle until I got the same retreat losses (accidentially exactly 101), to be able to better see combat performance. And yes, Retreat losses on average will be higher (I suppose) but it's not proportionally higher to your own increase in losses. But retreat losses is a whole other subject to look at.
The Soviet losses simply skyrocketed (largest Soviet losses I got was 6571Men! For Germans it was like ~3400 so far (simply caused by retreat losses (which are caused by many factors and utter erratic, I expect a roll being involved)). So the Germans are having an easier life hitting stuff but Soviets in total did only like 50-100'ish more total hits (DAM/DES/DIS) despite adding thousands of new Artillery pieces to the attack. Supposedly Artillery pieces should be less affected by stacking (Manual Chapter 23.8.1), but the manual may actually mean Artillery Division's Artillery (they do srsly improve hits) ...and possibly Artillery SUs, ...not sure about the latter.

Now, to spin back to the initial subject of the Thread and applying it to later stages and/or the Soviet side. If you can win a battle with 3-4 Divisions you may want to do so (for said reasons) and use the other surplus Divisions for other attacks or for actually advancing/giving flanking cover for Tanks breaking through.
But the latter equally applies to the Germans during turns of advance obviously.
So if CPP enables you to achieve the same goal with less Units/MP spend, you can use the others to achieve new/more/other goals (but ofc, the summer/autumn 1941 balance is special).
stacking_overcommitment.png
stacking_overcommitment.png (899.61 KiB) Viewed 352 times
User avatar
56ajax
Posts: 2259
Joined: Mon Dec 03, 2007 3:43 am
Location: Cairns, Australia

Re: Maintaining Offensive Momentum

Post by 56ajax »

CPP has altered my game style in an admin/maintenance sense.

New support units from Reserve go to Stavka with zero CPP. And the window thAT is used to assign SUs to HQs does not show CPP. To avoid assigning SUs with low CPP I do the following :

Assign a HQ to an Assualt Front for quicker buildup of cpp. Do not assign any on map units to that HQ to avoid command capacity complications.

Transfer all SUs with zero or low CPP, or in an unready state or low TOE to this HQ. When they are at 100% transfer them out.

I do this every turn. And yes it is tedious.
Molotov : This we did not deserve.

Foch : This is not peace. This is a 20 year armistice.

C'est la guerre aérienne
User avatar
Wiedrock
Posts: 1686
Joined: Tue Oct 11, 2022 7:44 pm
Location: Germany

Re: Maintaining Offensive Momentum

Post by Wiedrock »

56ajax wrote: Thu Oct 09, 2025 1:59 am CPP has altered my game style in an admin/maintenance sense.

New support units from Reserve go to Stavka with zero CPP. And the window thAT is used to assign SUs to HQs does not show CPP. To avoid assigning SUs with low CPP I do the following :

Assign a HQ to an Assualt Front for quicker buildup of cpp. Do not assign any on map units to that HQ to avoid command capacity complications.

Transfer all SUs with zero or low CPP, or in an unready state or low TOE to this HQ. When they are at 100% transfer them out.

I do this every turn. And yes it is tedious.
I can't follow, I guess I am missing something.

It makes sense that you gain quicker CPP, copy.
Additionally from T16-end of 1943 you gain +50% extra Ammo, also nice - those stick around when moving the SU - so maybe even better than the CPP (tested it in Editor, there it didn'rt rly work to have a SU with 150% Ammo perform better, not sure why).

But if you have this Army HQ in Western Front (ASSAULT) and you want to assign the SUs to another HQ in any Front (even Western Front), this makes the SU lose 50% CPP (that's fine, would be the same as with STAVKA) and you have to be within 10(or so Hexes) to do the move.
But if you are not within 10(or so) Hexes you will need two moves (farmHQ→STAVKA→target HQ), right?! So you end up with....dunno 100/2=50 → +some CPP, lets say 60/2=30CPP at target HQ, right?
Any re-assignment is a "CPP/2", or am I missing some special rules?
MarkShot
Posts: 7477
Joined: Sat Mar 29, 2003 6:04 am

Re: Maintaining Offensive Momentum

Post by MarkShot »

I thought I read somewhere that SU CPP recovery is handled automatically if you leave them with HQs; and not bind them to a CU.
Last edited by MarkShot on Thu Oct 09, 2025 12:46 pm, edited 1 time in total.
2021 - Resigned in writing as a 20+ year Matrix Beta and never looked back ...
User avatar
56ajax
Posts: 2259
Joined: Mon Dec 03, 2007 3:43 am
Location: Cairns, Australia

Re: Maintaining Offensive Momentum

Post by 56ajax »

Problem ; I found that I was assigning SU with low or zero CPP to frontline HQs

With my method every SU that I assign from Stavka is at or close to 100% CPP.

Without my method I could assign from Stavka a unit that has zero CPP as it may have just recently arrived from Reserve.

Of course I could use the CR to sort on CPP and write out a list of units to assign.

(Or the devs could change the SU Assign window to include the CPP of each unit and I wouldnt have to go through that rigmarole).
Molotov : This we did not deserve.

Foch : This is not peace. This is a 20 year armistice.

C'est la guerre aérienne
MarkShot
Posts: 7477
Joined: Sat Mar 29, 2003 6:04 am

Re: Maintaining Offensive Momentum

Post by MarkShot »

56ajax wrote: Thu Oct 09, 2025 12:34 pm Problem ; I found that I was assigning SU with low or zero CPP to frontline HQs

With my method every SU that I assign from Stavka is at or close to 100% CPP.

Without my method I could assign from Stavka a unit that has zero CPP as it may have just recently arrived from Reserve.

Of course I could use the CR to sort on CPP and write out a list of units to assign.

(Or the devs could change the SU Assign window to include the CPP of each unit and I wouldnt have to go through that rigmarole).
Or you could learn X86 assembly and HEX edit the EXE to do exactly that. Now, when you look at it from that perspective, it doesn't seem to be "rigmarole" at all. :lol:
2021 - Resigned in writing as a 20+ year Matrix Beta and never looked back ...
User avatar
Wiedrock
Posts: 1686
Joined: Tue Oct 11, 2022 7:44 pm
Location: Germany

Re: Maintaining Offensive Momentum

Post by Wiedrock »

56ajax wrote: Thu Oct 09, 2025 12:34 pm Problem ; I found that I was assigning SU with low or zero CPP to frontline HQs

With my method every SU that I assign from Stavka is at or close to 100% CPP.

Without my method I could assign from Stavka a unit that has zero CPP as it may have just recently arrived from Reserve.
Ok so you go over one re-assignment to STAVKA so that it has AT LEAST 100/2 → 50+(1turn STAVKA CPP) →/2=targetCPP. Got it (I hope).

I think the issue with the info in the SU assigment window (besides the "sorting" there...) comes down to the best window being the CR where you see all infos you need (TOE/CPP/MOREX/Ammo). So ideally we could assigne the SUs from the CR (as we do with TB transfers and so on). Or instead have all the named data in the Assignment window.
MarkShot wrote: Thu Oct 09, 2025 12:50 pm
56ajax wrote: Thu Oct 09, 2025 12:34 pm [...]

Of course I could use the CR to sort on CPP and write out a list of units to assign.

(Or the devs could change the SU Assign window to include the CPP of each unit and I wouldnt have to go through that rigmarole).
Or you could learn X86 assembly and HEX edit the EXE to do exactly that. Now, when you look at it from that perspective, it doesn't seem to be "rigmarole" at all. :lol:
I doubt it's that easy.
Regarding the UI, all I know they have changed 'since forever', was the CV in the Attack-Hex-Popup-Tooltip calculation and the Airfields showing wrong numbers.
So there must be some caveat/issue with bugfixing or adding new "links"/more info in the appropriate sections of the UI I'd assume. There have been too many good recommendations/suggestions over the years, of which many were proposed several times to just ignore them.
User avatar
56ajax
Posts: 2259
Joined: Mon Dec 03, 2007 3:43 am
Location: Cairns, Australia

Re: Maintaining Offensive Momentum

Post by 56ajax »

MarkShot wrote: Thu Oct 09, 2025 12:50 pm
56ajax wrote: Thu Oct 09, 2025 12:34 pm Problem ; I found that I was assigning SU with low or zero CPP to frontline HQs

With my method every SU that I assign from Stavka is at or close to 100% CPP.

Without my method I could assign from Stavka a unit that has zero CPP as it may have just recently arrived from Reserve.

Of course I could use the CR to sort on CPP and write out a list of units to assign.

(Or the devs could change the SU Assign window to include the CPP of each unit and I wouldnt have to go through that rigmarole).
Or you could learn X86 assembly and HEX edit the EXE to do exactly that. Now, when you look at it from that perspective, it doesn't seem to be "rigmarole" at all. :lol:
Thanks. In my next life I will do that. :D
Molotov : This we did not deserve.

Foch : This is not peace. This is a 20 year armistice.

C'est la guerre aérienne
MarkShot
Posts: 7477
Joined: Sat Mar 29, 2003 6:04 am

Re: Maintaining Offensive Momentum

Post by MarkShot »

All systems over time experience entropy or cancerous growth. You reach a point where fixing a bug is as statistically likely as to introduce a bug. This and the appearance of new tech or requirements is often what motivates the development of a new system from scratch. Besides the huge expense such is not an easy decision, since development projects versus maintenance projects have a much higher failure rate; and have ended many a managers career.

Also, I can tell you both that there are bugs in WITE-2 that you have yet to find, and we can accurately estimate how many. How? Development inserts some clever bugs ... they then pass it to SQA and even beta. The percentage of known found bugs directly extrapolates to unknown not found bugs.

Now, we are entering the age of AI Transformers. With traditional code, it is usually possible to look at any particular statement and work out what it does (dependencies and downstream impact). In principle such should be possible for a weight (parameter) in a neural net, but in practice it is not at all feasible for 500B LLM.

When it comes to bugs. YOU AIN'T SEEN NOTHING YET!
2021 - Resigned in writing as a 20+ year Matrix Beta and never looked back ...
User avatar
HardLuckYetAgain
Posts: 9301
Joined: Fri Feb 05, 2016 12:26 am

Re: Maintaining Offensive Momentum

Post by HardLuckYetAgain »

Having 100 CPP is nice and all but the other side of the equation is "time" to acquire that CPP. Time is a commodity that the Germans don't have a luxury of in the game, at all. BUT the Germans do have other qualities over the Soviets that more than compensate for this. Know the battlefield and where you can get away without have full CPP and you will do well. Or play the CPP game losing that precious "TIME". It is a balancing act that takes a while to master.

What is better?

Attacking every turn causing losses with 0 CPP

OR

Waiting X amount of turns causing 20% more losses on the attacks.

Again I am not advocating either way, I am saying know the battlefield and your opponent.
User avatar
M60A3TTS
Posts: 4826
Joined: Fri May 13, 2011 1:20 am

Re: Maintaining Offensive Momentum

Post by M60A3TTS »

This has me wondering about an item in the manual, from 23.8.1.

The force value of the attacking side is
calculated using the following values for each non-support,
non-artillery division
unit attacking:
§§ Corps 15
§§ Division 9
§§ Brigade 5 (3 if the brigade has less than 2,000 men)
§§ Regiment 3
Once the force value exceeds 28 there is a chance that
elements will not get to fire during combat.


Does the on-map Soviet guards heavy rocket brigade get counted against the 28 or not? Strictly speaking it is neither artillery nor a division.
User avatar
Wiedrock
Posts: 1686
Joined: Tue Oct 11, 2022 7:44 pm
Location: Germany

Re: Maintaining Offensive Momentum

Post by Wiedrock »

M60A3TTS wrote: Sat Oct 11, 2025 11:16 am Does the on-map Soviet guards heavy rocket brigade get counted against the 28 or not? Strictly speaking it is neither artillery nor a division.
It's a Brigade and has less than 2,000 Men, so it shouldn't be more than 3. :?:
And the Rocket Divisions.... I'd assume it's counted as an (Rocket)-Artillery?!

This can be tested by going to VtB scenario and removing the shooting capability from the Rockets.
Then do the same Attack with max 3 Divisions (3x9=27 → no reduced shooting) and note down DAM/DIS/DES figures (remove the retreat losses), then do the same attack but add the 3x "dummy"-Rocket Divisions ...or Brigades ...or Artillery Divisions to the attack and compare. The Hitting should stay the same as before if they do not (as described) add to the force value (in this context of "less chance to shoot", ...when failing the battle and determining the Force value to reduce a Fort level they add to the number... :? ).
Then one could compare them being 1 hex distanced or attacking from an adjacent Hex, maybe that plays a role as well?!
User avatar
M60A3TTS
Posts: 4826
Joined: Fri May 13, 2011 1:20 am

Re: Maintaining Offensive Momentum

Post by M60A3TTS »

Wiedrock wrote: Sat Oct 11, 2025 8:41 pm This can be tested by going to VtB scenario and removing the shooting capability from the Rockets.
Then do the same Attack with max 3 Divisions (3x9=27 → no reduced shooting) and note down DAM/DIS/DES figures (remove the retreat losses), then do the same attack but add the 3x "dummy"-Rocket Divisions ...or Brigades ...or Artillery Divisions to the attack and compare. The Hitting should stay the same as before if they do not (as described) add to the force value (in this context of "less chance to shoot", ...when failing the battle and determining the Force value to reduce a Fort level they add to the number... :? ).
Then one could compare them being 1 hex distanced or attacking from an adjacent Hex, maybe that plays a role as well?!
I'm not that ambitious, ;)

Joel???
Post Reply

Return to “Gary Grigsby's War in the East 2”