I set up test air battles over northern France to show some significant bug(s) in the air combat system. The problem is, at its core, that the game seems to treat air battles as being each individual country vs each individual country, rather than being Axis vs. Allies overall. In addition to this primary bug, we will see some other bugs in course of running the test scenarios below.
For example, if you have 2000 identical German planes against 2000 identical British planes, you will get 1:1 losses (Scenario 1 below). But if you have 2000 identical British planes against 1000 identical German planes and also 1000 identical Italian planes, the game calculates the results of the British vs German air battle entirely separately from the British vs Italian air battle (indeed, as though there were not even any Italian planes at all). Then, after the results of the German vs British air battle is calculated (with 2000 British planes against 1000 German planes leading to a lopsided kill ratio in favor of the UK), the game separately calculates the Italian vs British air battle (with all 2000 British planes once again used in the air battle calculation against 1000 German planes, entirely ignoring the separate and simultaneous battle against the 1000 Italian planes). So the game ignores the fact that in reality the Italians would benefit from the British planes also having to deal simultaneously with the German planes, and vice versa. So even though the UK actually has no numerical advantage at all, they benefit in the game from a lopsided numerical advantage bonus which leads to lopsided kill ratios in favor of the UK.
Instead, the game ought to sum up all the planes from both factions and simply calculate one air battle (as an added benefit, maybe this would also help performance on the margin?). In principle, this could also be a problem when two separate wars are being fought simultaneously in the air zone. For example, if late in the war both the Allies and the Soviets both have planes bombing Germany simultaneously, then Germany can benefit from numerical superiority against both the Allies and the Soviets at the same time.
This actually seems to have been in the game since earlier versions, but it wasn't so much of a problem in 1.3.3, because numerical superiority did not make much difference. However, numerical superiority makes a large difference in 1.4.1, so this bug is adversely impacting gameplay.
This bug is particularly problematic in multiplayer, because usually air battles will be concentrated in specific air zones at specific times (e.g. Northern France during the Battle of France), and multiple countries on both sides will usually have planes in those air zones. Essentially it means that in each faction, only a single country can control all of the faction's planes, or else that faction will lose out because of the numerical superiority advantage being calculated on the basis of each country's individual planes rather than on the basis of all of the faction's planes. Either that single country has to also produce all of the planes for the entire faction, in which case they can only do air and can't really produce anything else at all, or else all of the faction's planes have to be lend leased to one country (which is not really viable or fair, since convoys are a limited resource).
Here are the tests. The starting point for all of these tests is the AIR NUMERICAL SUPERIORITY COUNTRY vs FACTION TEST.hoi4 save file. This starts with 2000 UK fighters in Paris and 2000 each of German and Italian fighters in Calais. To run the tests below, I turned off AI with console commands, disbanded the extra air wings from Calais not needed for that particular test, turned on both air superiority and intercept over northern France for the needed air wings for the particular test, and let air combat run for 2 months. Then I looked at the losses.
Scenario 1:
2000 German 1940 fighters against 2000 British 1940 fighters. In this test and all the other tests, these are all wings of 1000 identical fighters flying (on both sides) with 100% mission efficiency, with no special air doctrines, designers, etc. All just plain vanilla 1940 fighters. All air wings have both air superiority and intercept missions turned on.
Result:
785 UK losses (30 of which are air accidents), 790 Italian losses (30 of which are air accidents).
This is basically an even 1:1 loss ratio (except for very slight random variation), which is what we would expect. Since the planes are identical and there are no doctrines or anything, the losses should be basically identical with equal numbers of identical planes fighting each other.
Note that the air interface only displays the UK's air accidents, but does not count the Italian's air accidents, so you have to tag switch to Italy to see that they also have 30 air accidents and have indeed taken a total of 790 losses, not 760 as the UK's interface displays. So this seems like an additional bug - maybe that can be fixed as well? Either the interface should show accident losses for both sides or for neither side, so that players do not think they are doing worse than they actually are because they don't realize the air interface is showing their accidents but not the enemy's air accidents.
However, the game treats situation of equal numbers of identical planes fighting each other VERY differently if instead of all the planes on each side being from a single country, as we can see by re-running the same test situation, but replacing half of the 2000 Italian planes with German fighters. Let's see that in Scenario 2...
Scenario 2:
1000 German 1940 fighters and 1000 Italian 1940 fighters against 2000 British 1940 fighters:
Result:
773 UK losses (30 of which are air accidents), 569 German losses (30 of which are air accidents), and 561 Italian losses (30 of which are air accidents).
By faction, total Allied losses are 773 and total Axis losses are 1130, so you can see that the UK suddenly does much better when half of the Axis planes are German and half are Italian, as compared to when all the Axis planes are Italian.
The other thing to notice is that in Scenario 1, the 2000 Italian planes took exactly the same amount of air accident losses (30) as they did in Scenario 2, when there were only 1000 Italian planes. Likewise, Germany took 30 air accidents. So the effect of splitting the 2000 Axis planes between 2 countries (rather than just 2000 all of which were Italian) is to double the total Axis accidents from 30 to 60.
So this seems to be another bug - air accidents should scale evenly depending simply on the numbers of planes that are flying. But instead, it seems like in practice the game is just assigning air accidents of a certain amount to a certain country, even if that country has more (or less) planes, so that each country takes 30 air accident losses over the course of 2 months of air combat, regardless of whether that country is flying 1000 planes or 2000 planes. This results in the faction that has more separate countries flying taking a greater number of air accidents than a faction in which all the planes come from one country.
Next, to confirm that the cause of the problem is that numerical superiority bonuses air battles are all being calculated separately for each country, I tested 1000 Italian fighters against 2000 UK fighters. This is the same as in Scenario 2, except the German planes do not participate at all this time. If the game is treating the UK vs Italian and UK vs German battles as entirely separate and independent from each other, then in this test Italy should the same losses as in Scenario 2 and UK should take half the losses as in Scenario 2. And this is precisely what we find:
Scenario 3:
1000 Italian 1940 fighters against 2000 British 1940 fighters:
Result:
406 UK losses (30 of which are air accidents), 569 German losses (30 of which are air accidents), and 564 Italian losses (30 of which are air accidents).
The Italian losses, (534) are virtually identical to the (531) losses from Scenario 2, with an additional 30 from air accidents add in to the total losses in both cases.
The British losses from air combat (376) are likewise virtually identical to half of the British losses from Scenario 2 (743),
So this clearly shows that the game is essentially treating Scenario 2 as just 2 separate and independent cases of Scenario 3, rather than treating Scenario 2 like Scenario 1.
ADDITIONAL RELATED BUGS --- Escorting your allies' bombers/CAS doesn't work
(see AIR ESCORT TEST MULTI-COUNTRY.hoi4)
This also raises the question - what happens in other cases where planes from multiple countries are fighting in the same air zone? Does the air combat system work properly in those cases?
For example, what happens if you try to use Italian fighters to escort German CAS? Do the Italian fighters actually effectively stop the German bombers from being disrupted by Allied fighters?
No, they do not. Only German fighters are capable of escorting German CAS/bombers.
In the test shown in the screenshot below, I set up German fighters escorting German CAS over northern France, while Germany attacked the Maginot line. In this case the German 1940 fighters were able to stop the German 1940 CAS from being disrupted by 1000 UK fighters (1936 models in this test). This resulted in 384.3 French troops being bombed in 1 week:
However, if instead of German fighters you switch those to Italian fighters, the identical Italian fighters do not escort the German CAS whatsoever. In this case, a high percentage (not always 100%, because the UK fighters in this test are not that great) of the German CAS gets disrupted. Note, however, another bug - the "our bombers disrupted" on the interface doesn't work. As a guess, this is probably because CAS are not considered to be "bombers" (but rather "support"), since the interface DOES show when strategic bombers are disrupted. You can also see that the air losses are different in the two scenarios. In the first one, when escorted by German fighters, less of the CAS gets shot down (because it is actually being escorted). The Italian losses (not shown on the German interface) also make up a difference in terms of fighter losses:
What happens in other cases, such as a carrier air battle in which there are both UK carrier planes and USA carrier planes against Japanese carrier planes? I haven't bothered to explicitly test this, but l'd guess it does not work quite right for the same reason.
These are things often (read: basically always) done in multiplayer games.
Maybe someone feels like testing that, and then can let us know the results. If this is also bugged, then it is probably bugged for the same reason, and hopefully the bugs can all be fixed together by making the game sum up all the planes in each air zone and calculate air combat results all together. Again, this may also improve performance, since it would seem to require fewer calculations.
For example, if you have 2000 identical German planes against 2000 identical British planes, you will get 1:1 losses (Scenario 1 below). But if you have 2000 identical British planes against 1000 identical German planes and also 1000 identical Italian planes, the game calculates the results of the British vs German air battle entirely separately from the British vs Italian air battle (indeed, as though there were not even any Italian planes at all). Then, after the results of the German vs British air battle is calculated (with 2000 British planes against 1000 German planes leading to a lopsided kill ratio in favor of the UK), the game separately calculates the Italian vs British air battle (with all 2000 British planes once again used in the air battle calculation against 1000 German planes, entirely ignoring the separate and simultaneous battle against the 1000 Italian planes). So the game ignores the fact that in reality the Italians would benefit from the British planes also having to deal simultaneously with the German planes, and vice versa. So even though the UK actually has no numerical advantage at all, they benefit in the game from a lopsided numerical advantage bonus which leads to lopsided kill ratios in favor of the UK.
Instead, the game ought to sum up all the planes from both factions and simply calculate one air battle (as an added benefit, maybe this would also help performance on the margin?). In principle, this could also be a problem when two separate wars are being fought simultaneously in the air zone. For example, if late in the war both the Allies and the Soviets both have planes bombing Germany simultaneously, then Germany can benefit from numerical superiority against both the Allies and the Soviets at the same time.
This actually seems to have been in the game since earlier versions, but it wasn't so much of a problem in 1.3.3, because numerical superiority did not make much difference. However, numerical superiority makes a large difference in 1.4.1, so this bug is adversely impacting gameplay.
This bug is particularly problematic in multiplayer, because usually air battles will be concentrated in specific air zones at specific times (e.g. Northern France during the Battle of France), and multiple countries on both sides will usually have planes in those air zones. Essentially it means that in each faction, only a single country can control all of the faction's planes, or else that faction will lose out because of the numerical superiority advantage being calculated on the basis of each country's individual planes rather than on the basis of all of the faction's planes. Either that single country has to also produce all of the planes for the entire faction, in which case they can only do air and can't really produce anything else at all, or else all of the faction's planes have to be lend leased to one country (which is not really viable or fair, since convoys are a limited resource).
Here are the tests. The starting point for all of these tests is the AIR NUMERICAL SUPERIORITY COUNTRY vs FACTION TEST.hoi4 save file. This starts with 2000 UK fighters in Paris and 2000 each of German and Italian fighters in Calais. To run the tests below, I turned off AI with console commands, disbanded the extra air wings from Calais not needed for that particular test, turned on both air superiority and intercept over northern France for the needed air wings for the particular test, and let air combat run for 2 months. Then I looked at the losses.
Scenario 1:
2000 German 1940 fighters against 2000 British 1940 fighters. In this test and all the other tests, these are all wings of 1000 identical fighters flying (on both sides) with 100% mission efficiency, with no special air doctrines, designers, etc. All just plain vanilla 1940 fighters. All air wings have both air superiority and intercept missions turned on.
Result:
785 UK losses (30 of which are air accidents), 790 Italian losses (30 of which are air accidents).
This is basically an even 1:1 loss ratio (except for very slight random variation), which is what we would expect. Since the planes are identical and there are no doctrines or anything, the losses should be basically identical with equal numbers of identical planes fighting each other.
Note that the air interface only displays the UK's air accidents, but does not count the Italian's air accidents, so you have to tag switch to Italy to see that they also have 30 air accidents and have indeed taken a total of 790 losses, not 760 as the UK's interface displays. So this seems like an additional bug - maybe that can be fixed as well? Either the interface should show accident losses for both sides or for neither side, so that players do not think they are doing worse than they actually are because they don't realize the air interface is showing their accidents but not the enemy's air accidents.
However, the game treats situation of equal numbers of identical planes fighting each other VERY differently if instead of all the planes on each side being from a single country, as we can see by re-running the same test situation, but replacing half of the 2000 Italian planes with German fighters. Let's see that in Scenario 2...
Scenario 2:
1000 German 1940 fighters and 1000 Italian 1940 fighters against 2000 British 1940 fighters:
Result:
773 UK losses (30 of which are air accidents), 569 German losses (30 of which are air accidents), and 561 Italian losses (30 of which are air accidents).
By faction, total Allied losses are 773 and total Axis losses are 1130, so you can see that the UK suddenly does much better when half of the Axis planes are German and half are Italian, as compared to when all the Axis planes are Italian.
The other thing to notice is that in Scenario 1, the 2000 Italian planes took exactly the same amount of air accident losses (30) as they did in Scenario 2, when there were only 1000 Italian planes. Likewise, Germany took 30 air accidents. So the effect of splitting the 2000 Axis planes between 2 countries (rather than just 2000 all of which were Italian) is to double the total Axis accidents from 30 to 60.
So this seems to be another bug - air accidents should scale evenly depending simply on the numbers of planes that are flying. But instead, it seems like in practice the game is just assigning air accidents of a certain amount to a certain country, even if that country has more (or less) planes, so that each country takes 30 air accident losses over the course of 2 months of air combat, regardless of whether that country is flying 1000 planes or 2000 planes. This results in the faction that has more separate countries flying taking a greater number of air accidents than a faction in which all the planes come from one country.
Next, to confirm that the cause of the problem is that numerical superiority bonuses air battles are all being calculated separately for each country, I tested 1000 Italian fighters against 2000 UK fighters. This is the same as in Scenario 2, except the German planes do not participate at all this time. If the game is treating the UK vs Italian and UK vs German battles as entirely separate and independent from each other, then in this test Italy should the same losses as in Scenario 2 and UK should take half the losses as in Scenario 2. And this is precisely what we find:
Scenario 3:
1000 Italian 1940 fighters against 2000 British 1940 fighters:
Result:
406 UK losses (30 of which are air accidents), 569 German losses (30 of which are air accidents), and 564 Italian losses (30 of which are air accidents).
The Italian losses, (534) are virtually identical to the (531) losses from Scenario 2, with an additional 30 from air accidents add in to the total losses in both cases.
The British losses from air combat (376) are likewise virtually identical to half of the British losses from Scenario 2 (743),
So this clearly shows that the game is essentially treating Scenario 2 as just 2 separate and independent cases of Scenario 3, rather than treating Scenario 2 like Scenario 1.
ADDITIONAL RELATED BUGS --- Escorting your allies' bombers/CAS doesn't work
(see AIR ESCORT TEST MULTI-COUNTRY.hoi4)
This also raises the question - what happens in other cases where planes from multiple countries are fighting in the same air zone? Does the air combat system work properly in those cases?
For example, what happens if you try to use Italian fighters to escort German CAS? Do the Italian fighters actually effectively stop the German bombers from being disrupted by Allied fighters?
No, they do not. Only German fighters are capable of escorting German CAS/bombers.
In the test shown in the screenshot below, I set up German fighters escorting German CAS over northern France, while Germany attacked the Maginot line. In this case the German 1940 fighters were able to stop the German 1940 CAS from being disrupted by 1000 UK fighters (1936 models in this test). This resulted in 384.3 French troops being bombed in 1 week:
However, if instead of German fighters you switch those to Italian fighters, the identical Italian fighters do not escort the German CAS whatsoever. In this case, a high percentage (not always 100%, because the UK fighters in this test are not that great) of the German CAS gets disrupted. Note, however, another bug - the "our bombers disrupted" on the interface doesn't work. As a guess, this is probably because CAS are not considered to be "bombers" (but rather "support"), since the interface DOES show when strategic bombers are disrupted. You can also see that the air losses are different in the two scenarios. In the first one, when escorted by German fighters, less of the CAS gets shot down (because it is actually being escorted). The Italian losses (not shown on the German interface) also make up a difference in terms of fighter losses:
What happens in other cases, such as a carrier air battle in which there are both UK carrier planes and USA carrier planes against Japanese carrier planes? I haven't bothered to explicitly test this, but l'd guess it does not work quite right for the same reason.
These are things often (read: basically always) done in multiplayer games.
Maybe someone feels like testing that, and then can let us know the results. If this is also bugged, then it is probably bugged for the same reason, and hopefully the bugs can all be fixed together by making the game sum up all the planes in each air zone and calculate air combat results all together. Again, this may also improve performance, since it would seem to require fewer calculations.
Attachments
Upvote
0