Bugs in World War I
-
-
After the Americans took Rome from the occupying Central Powers, the Americans did not hand over the factory and port, thus preventing the Italians from using them.
-
The Allies seems never take the Portugal.
-
Hard AI buys nothing in the Balanced, Improved, and Tournament rules variants.
-
-
@Schulz Odd behavior, I don't see anything wrong with the mods at a glance. The Americans using the factory in Rome is probably good for the Entente powers.
I will put this in my list of problems to investigate.
In which specific scenario did the Italians not regain control of Rome?
-
@RogerCooper The Americans were unable to use the Rome factory in the original version, and I don't think they are supposed to use the other factories, either.
-
@Schulz I have confirmed that the Hard & Fast AI do not build on the balanced map but the Easy AI does. The original World War I 1914 works correctly, despite it being almost identical.
I definitely need to investigate further.
-
The only obvious difference between the xml files is the "placeNoAirCheck". But changing that to "place" did not solve the problem. The AI log offered no clues.
-
This beyond my knowledge base to resolve. I have opened an issue at https://github.com/triplea-game/triplea/issues/14843. I hope that someone who knows the inner workings of the AI will take a look at this.
-
After the Americans took Rome from the occupying Central Powers, the Americans did not hand over the factory and port, thus preventing the Italians from using them.
The Americans begin as "Neutral". Even though they are part of the "Allied Powers" alliance, their neutrality mean that they are governed by the "relationship" rules, thus "givesBackOriginalTerritories" will only happen at the end of the Americans politics phase, as stated in the PoS2. Since there are no politics phases, "givesBackOriginalTerritories" never happens.
Factories and ports have a production value of zero (0). So only the original owner of a territory which is an original factory territory and has a factory can produce units there.
Cheers...
-
@wc_sumpton The production value of 0 is probably confusing the AI.
-
The only obvious difference between the xml files is the "placeNoAirCheck". But changing that to "place" did not solve the problem.
This change does work. As long as the step name is "place" the delegate can still be "NoAirCheckPlaceDelegate".
<delegate name="place" javaClass="games.strategy.triplea.delegate.NoAirCheckPlaceDelegate" display="Place Units"/> ... ... ... <step name="austrohungariansPlace" delegate="place" player="AustroHungarians"/>This is because the AI looks for "place" or "endStep" when determining its purchases. "placeNoAirCheck" and even "noAirCheckPlace" do not work.
AustroHungarians and Russians both may, using HardvAI, start the game without making any purchases.
The reason for the non-purchase is more an AI problem. The first step in the AI's purchase routine is to determine how many fodder units it needs to defend high-value targets. Since both Vienna and Moscow are safe from attacks no defensive fodder units are purchased. During gameplay Germans, French and Ottomans can also feel 'safe' and not purchase fodder units.
Once the AI determines its defensive fodder purchases it then tries to purchase factories and high-value units. What PUs that are not spent are carried over. Because the AI does not try to repurchase fodder units with this left over PUs, it ends up purchasing very few or nothing.Because the fighter is a 2 attack/2 defend it is considered very weak when compared to infantry and artillery and is almost never purchased. Also, only the Americans purchase navel units.
If the combat move is switched with the purchase step the non-combat step can be removed.
<step name="austrohungariansUserActions" delegate="userAction" player="AustroHungarians"/> <!-- Combat Move is before Purchase --> <step name="austrohungariansCombatMove" delegate="move" player="AustroHungarians"/> <step name="austrohungariansPurchase" delegate="purchase" player="AustroHungarians"/> <step name="austrohungariansBattle" delegate="battle" player="AustroHungarians"/> <!-- NonCombat Move is removed --> <!-- "place" is "NoAirCheckPlaceDelegate" --> <step name="austrohungariansPlace" delegate="place" player="AustroHungarians"/> <step name="austrohungariansEndTurn" delegate="endTurn" player="AustroHungarians"/>The AI will first preform a normal combat move, this includes moving air units, and because there is not a noncombat move step, the AI will perform a normal noncombat move with the exception of air units in combat, which cannot be moved. Even though the AI can simulate a combat move without the noncombat move it confuses which territories it can do battle in.
Cheers...
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login