Total World War: December 1941 (BETA) 2.8.0.5



  • The battle calculator does not support how subs work. Subs can't be attacked at base tech because they submerge before rolls are made. But the calculator will show them getting wrecked.

    There is a problem with scrambling. Fighters sent to Southern Britain or London don't get escort option and fighters in Central Britain can't intercept. The borders look adjacent.



  • The sub thing, yes it doesn't warn you. Also in a few other places. I learned the hard way, when British still had a HeavyDD at game start, that if the DD dies to firststrikes, the detection is immediately gone.

    Intercepts to adjacent are never possible I think. And for escorts you need to move fgt and bombers together, try putting them in a seazone and then move them into your target zone.


  • Donators Moderators Admin

    @blackfox I will defer to @redrum for any and all BC questions.

    I would need to see a save game... but I suspect that you are trying to send fighters to escort into territories where there are no defensive fighters. If you try to send fighters as an escort into a territory that has no defending fighters in the target territory (to intercept), the attacking fighters have no escort role, they will always directly attack whatever else is in the territory.

    Intercepting only works in the territory being bombed... there is no scrambling to intercept. So you cannot intercept a bombing run with fighters that are stationed in an adjacent territory to the one being bombed. You can only "scramble" to adjacent territories to try and thwart a direct attack.


  • Donators Moderators Admin

    @gully said in Total World War: December 1941 (BETA) 2.8.0.5:

    Intercepts to adjacent are never possible I think. And for escorts you need to move fgt and bombers together, try putting them in a seazone and then move them into your target zone.

    They do not have to be moved together. The easy way to remind yourself is if the prompt to decide whether to "Attack" or "Bomb/Escort" does not pop up when you move a fighter into an intended bombing target territory... then you know you have missed something and the fighters are 99.9999999999% assuredly wasting their time and will undoubtedly die in a futile attack.


  • Admin

    @blackfox The BC doesn't really deal with submerging/retreating very well. It simulates the battles out until one side loses or units can no longer target each other in most cases.

    As @Hepps mentions, escort/intercept is only done for the territory the unit is in. Scrambling is the only operation which can be done to adjacent territories.



  • Something wrong?
    There seems to be two problems:

    • the windows appear in the wrong order (when doing strategic bombing: air defens fire, result of bombing and other ground combats are a mess, wrong order)
    • before the result of the strategic bombing is shown, a smaller window with no text appears.

    Here's the log:

    Nov 22, 2018 8:21:39 PM games.strategy.engine.framework.GameRunner lambda$start$0
    SCHWERWIEGEND: null
    java.lang.NullPointerException
    at javax.swing.ImageIcon.<init>(Unknown Source)
    at games.strategy.triplea.image.DiceImageFactory.getDieIcon(DiceImageFactory.java:168)
    at games.strategy.triplea.ui.DicePanel.create(DicePanel.java:70)
    at games.strategy.triplea.ui.DicePanel.setDiceRollForBombing(DicePanel.java:36)
    at games.strategy.triplea.ui.BattleDisplay.bombingResults(BattleDisplay.java:165)
    at games.strategy.triplea.ui.BattlePanel.lambda$bombingResults$17(BattlePanel.java:408)
    at java.awt.event.InvocationEvent.dispatch(Unknown Source)
    at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
    at java.awt.EventQueue.access$500(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.awt.WaitDispatchSupport$2.run(Unknown Source)
    at java.awt.WaitDispatchSupport$4.run(Unknown Source)
    at java.awt.WaitDispatchSupport$4.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.awt.WaitDispatchSupport.enter(Unknown Source)
    at java.awt.Dialog.show(Unknown Source)
    at javax.swing.JOptionPane.showOptionDialog(Unknown Source)
    at javax.swing.JOptionPane.showMessageDialog(Unknown Source)
    at javax.swing.JOptionPane.showMessageDialog(Unknown Source)
    at games.strategy.util.EventThreadJOptionPane.lambda$showMessageDialogWithScrollPane$2(EventThreadJOptionPane.java:90)
    at games.strategy.util.EventThreadJOptionPane.lambda$invokeAndWait$3(EventThreadJOptionPane.java:95)
    at games.strategy.util.EventThreadJOptionPane.lambda$invokeAndWait$4(EventThreadJOptionPane.java:109)
    at java.awt.event.InvocationEvent.dispatch(Unknown Source)
    at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
    at java.awt.EventQueue.access$500(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source)

    Nov 22, 2018 8:33:39 PM games.strategy.engine.framework.GameRunner lambda$start$0
    SCHWERWIEGEND: null
    java.lang.NullPointerException
    at javax.swing.ImageIcon.<init>(Unknown Source)
    at games.strategy.triplea.image.DiceImageFactory.getDieIcon(DiceImageFactory.java:168)
    at games.strategy.triplea.ui.DicePanel.create(DicePanel.java:70)
    at games.strategy.triplea.ui.DicePanel.setDiceRollForBombing(DicePanel.java:36)
    at games.strategy.triplea.ui.BattleDisplay.bombingResults(BattleDisplay.java:165)
    at games.strategy.triplea.ui.BattlePanel.lambda$bombingResults$17(BattlePanel.java:408)
    at java.awt.event.InvocationEvent.dispatch(Unknown Source)
    at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
    at java.awt.EventQueue.access$500(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source)

    Nov 22, 2018 8:45:14 PM games.strategy.engine.framework.GameRunner lambda$start$0
    SCHWERWIEGEND: null
    java.lang.NullPointerException
    at javax.swing.ImageIcon.<init>(Unknown Source)
    at games.strategy.triplea.image.DiceImageFactory.getDieIcon(DiceImageFactory.java:168)
    at games.strategy.triplea.ui.DicePanel.create(DicePanel.java:70)
    at games.strategy.triplea.ui.DicePanel.setDiceRollForBombing(DicePanel.java:36)
    at games.strategy.triplea.ui.BattleDisplay.bombingResults(BattleDisplay.java:165)
    at games.strategy.triplea.ui.BattlePanel.lambda$bombingResults$17(BattlePanel.java:408)
    at java.awt.event.InvocationEvent.dispatch(Unknown Source)
    at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
    at java.awt.EventQueue.access$500(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source)

    Nov 22, 2018 8:45:14 PM games.strategy.engine.framework.GameRunner lambda$start$0
    SCHWERWIEGEND: null
    java.lang.NullPointerException
    at javax.swing.ImageIcon.<init>(Unknown Source)
    at games.strategy.triplea.image.DiceImageFactory.getDieIcon(DiceImageFactory.java:168)
    at games.strategy.triplea.ui.DicePanel.create(DicePanel.java:70)
    at games.strategy.triplea.ui.DicePanel.setDiceRollForBombing(DicePanel.java:36)
    at games.strategy.triplea.ui.BattleDisplay.bombingResults(BattleDisplay.java:165)
    at games.strategy.triplea.ui.BattlePanel.lambda$bombingResults$17(BattlePanel.java:408)
    at java.awt.event.InvocationEvent.dispatch(Unknown Source)
    at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
    at java.awt.EventQueue.access$500(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source)



  • and the save game0_1542916649052_3.tsvg


  • Admin

    @LovePlayingAAA Its a known error and has already been fixed in the latest pre-release with this PR: https://github.com/triplea-game/triplea/pull/4140. Thanks for reporting it though.

    The error is caused by the engine not properly finding and displaying the die image icon for '0' (miss for bombing). It doesn't cause any game problems so you can just close the error and ignore it. It'll be fixed in the next TripleA stable release.



  • @redrum Hi, thanks for the response and explanation. Another bug is still present: "US seeking allies (here: turkey), they have success, but result is: Turkey is now at war with US and an ally of the axis." SaveGame is attached.0_1543009079904_USA won turkey as ally but now axix.tsvg



  • I rolled Improved Destroyer for Britain, then attacked an Italian sub and no roll was made against it before it had submerge option. But the tech description says it stops submerge.

    The Improved Subs tech seems lousy if it only gets +1 against destroyer for 1 round.

    AA tech description says it enables rolls at 1/12, but it already has 1.

    Tac bomber seems overpriced compared to fighter. It has net -2 to rolls and -3 in the important area defense, yet costs 1 PU more.


  • Admin

    @BlackFox said in Total World War: December 1941 (BETA) 2.8.0.5:

    I rolled Improved Destroyer for Britain, then attacked an Italian sub and no roll was made against it before it had submerge option. But the tech description says it stops submerge.

    The tech will only get activated after the turn it was discovered.

    The Improved Subs tech seems lousy if it only gets +1 against destroyer for 1 round.

    yeah, imp subs is only useful if you want to build adv subs.

    AA tech description says it enables rolls at 1/12, but it already has 1.

    it enables rolling for ground combats

    Tac bomber seems overpriced compared to fighter. It has net -2 to rolls and -3 in the important area defense, yet costs 1 PU more.

    imp range and support for tanks. While I agree fighters are the plane to go, some tacs in the right spot can really make some difference



  • @wirkey said in Total World War: December 1941 (BETA) 2.8.0.5:

    The tech will only get activated after the turn it was discovered.

    I forgot to mention the attack was with a USA destroyer in the subsequent turn. The tech showed as being activated by then because tech sharing. It worked later.

    @wirkey said in Total World War: December 1941 (BETA) 2.8.0.5:

    it enables rolling for ground combats

    It already has a base of 1 for ground.

    SBR: I built 10 strat bombers for Allies and I have 12 navs and interceptors on the Atlantic for Axis. I tried some tests to see how the air battle math works, but the history text has no discernible relation to the casualties. What are the calculation steps?


  • Admin

    @BlackFox said in Total World War: December 1941 (BETA) 2.8.0.5:

    @wirkey said in Total World War: December 1941 (BETA) 2.8.0.5:

    The tech will only get activated after the turn it was discovered.

    I forgot to mention the attack was with a USA destroyer in the subsequent turn. The tech showed as being activated by then because tech sharing. It worked later.

    Did you get it with UK as shared tech? In that case US will also only get it after their turn.

    @wirkey said in Total World War: December 1941 (BETA) 2.8.0.5:

    it enables rolling for ground combats

    It already has a base of 1 for ground.

    SBR: I built 10 strat bombers for Allies and I have 12 navs and interceptors on the Atlantic for Axis. I tried some tests to see how the air battle math works, but the history text has no discernible relation to the casualties. What are the calculation steps?

    10 Strat bombers against 12 defenders would be a no-go for me. If I'm not sure about the strength of escorts/interceptors I usually just try it in local mode.


  • Admin

    @BlackFox Essentially before a SBR, there is a round of air battles if the defender has any planes in the territory which can defend. The defender chooses if and which defending air units try to intercept then if they do each side rolls using air attack/defense values. The defender can choose not to intercept with any and in that case no air battle occurs. After that then AA is rolled then SBR is rolled.

    For your example of 10 bombers and 12 n.fighters:

    • Defender choose if and how many n.fighters to intercept with (probably would choose all of them)
    • If defender chose at least 1 then air battle occurs for 1 round with attacker rolling dice for the 10 bombers air attack and defender rolling dice for 12 n.fighters air defense
    • Any casualties removed
    • Any AA rolled and casualties removed
    • SBR rolls


  • @redrum said in Total World War: December 1941 (BETA) 2.8.0.5:

    If defender chose at least 1 then air battle occurs for 1 round with attacker rolling dice for the 10 bombers air attack and defender rolling dice for 12 n.fighters air defense

    So the Attackers\Defenders Fire is for the remainder. Given they can hit multiple locations, it seems Axis will be losing most of the Atlantic stuff.



  • The biggest problem with tac bombers is they are only used on the front line where the airfields will gradually disappear from bombing and territory trading. After some time air units will be useless unless lots of PU is spent on mats, which effectively makes maintaining air force too expensive. Ditto for trains. It becomes a liability trying to permanently hold each and every territory to never lose the rails and airfields.


  • Donators Moderators Admin

    @BlackFox The positioning of air is crucial. You may not be capable of saving every airfield.. but generally speaking you can save and maintain critical infrastructure. the idea of a war of attrition is meant to be part of the game. I look on it as an added dimension of strategic planning rather than a detractor.

    Tact Bombers can be a very useful component of your airforce... and while they are certainly not the mainstay of any air component. they have their own distinct role within the game. The fighter definitely remains the work horse of the air.



  • @Hepps said in Total World War: December 1941 (BETA) 2.8.0.5:

    the idea of a war of attrition is meant to be part of the game. I look on it as an added dimension of strategic planning rather than a detractor.

    That's nice, but my point is the cost is too high to replace nearly all of it ever. The strategic plan is mainly prepare for the map turning vanilla by the old method of building barracks closer to the front and spam infantry instead of using trains and planes. Outside Eastern Europe aircraft are too hobbled by terrain penalties and a barracks is the same price as one track piece. (I changed my mind about mechs because they can't be directly bombed.)

    The tac tech bonus to def for tanks will almost never be used because fighters will be using the scarce scramble slots. The +1 move tech is gated by the largely useless strat tech.

    If you want more realistic terrain effect, aircraft would only have penalties in forest and jungle. I fly in the WW2 game War Thunder. Rough topography is more advantage than disadvantage because the forces on it are hobbled while you are unaffected.


  • Admin

    @BlackFox Generally, buying a bunch of strategic bombers is pretty expensive and really a few fighters and AA guns tends to counter them fairly well. Fighters and naval fighters are generally a bit overpowered if anything given their flexibility/range.

    Tacts are good for pressuring bombing materials/trains/etc as well as early game they have better movement and attack especially in open areas than fighters. A few tacts can be very effective on the southern part of the Eastern Front. Their techs are less ideal than fighter techs.

    From a game play perspective, planes need to be weaker on hill/mountain terrain otherwise it would be too easy to displace defenders from mountainous areas.

    I'd recommend reviewing this guide: https://forums.triplea-game.org/topic/661/total-world-war-strategy-guide. Then playing some games vs other human opponents here on the forum or in the lobby to see general strategies for the map and balance.


  • Donators Moderators Admin

    @BlackFox I agree with @redrum . The game has had 6-7 years of play. Most of the game feels pretty balanced with either side having options to counter an opponents moves. Protecting your infrastructure is achievable with good planning. I intentionally made rail lines expensive as trains represent a very powerful tool to rapid deployment. That and creating an entire network of rail within a territory on a map of this scale would be a substantial investment.

    While air has certainly been acknowledged as being pretty strong (fighters in particular)... I am not considering re-vamping the entire air game at this point. That is coming in a new project in development.

    But I think engaging in some PVP action would give you a better feel for how games play out.


Log in to reply