How possible simultaneous rounds in TripleA?



  • How? Actions by one nation would affect the following nation.


  • Admin

    Also the board game diplomacy (which also has a "pseudo-clone" map) works this way too.
    It would definitely have a lot of potential.


  • Moderators

    @schulz said in How possible simultaneous rounds in TripleA?:

    @simon33 said in How possible simultaneous rounds in TripleA?:

    that would break every game

    No, you are wrong. Thousands of person have been playing Castle Vox online and even they pay for every maps. the game is much more inferior and simpler version of Triplea.

    I agree %90 Triplea maps won't work in this way but in big maps it would work perfectly well.

    Yep. People love fog of war or such. Just see how card games with revealed cards in hand are unpopular (almost nobody likes them). People like the suspense.



  • Advantages of simultane round system;

    1. More strategy; In this way you will have to predict your opponent's movements as much as possible.

    2. Joint operations; Separate allies nations will be able to attack anywhere together.

    3. Less stacks: More dynamic game.

    4. Faster game: You won't need to wait your opponent's movements.

    5. Reversibilty: In the current engine you can simply lose the game easily if you are even slighly behind your opponent in terms of TUV or production, but i this way you can reverse the game in every rounds.


  • Moderators

    @schulz
    6. No canopeners: They don't really make sense, in the moment you need another player to open you the way, but cannot do it yourself (also for opening canals before another player can react).

    1. No air reinforce: It doesn't really make sense, as the game forbids you to land in newly conquered, but you can do it with another player (example, in WWII Revised using Japanese air to bolster the defence of what Germans conquer, before Russians go).

    2. No need of disputable special rules about putting allied air on carriers and moving it as cargo.

    3. Closer to realism: Especially for FFA, as there are no reasons why everyone must always go by the same turn order (Feudal Japan Warlords addresses this with alternating turn orders, but that is still gamey and creates substantial alternating partial double turns, that add a lot of complexity and feel strange).

    4. Less time breaks, as you don't have multiple turns per round (mostly relevant for PBEM).



  • Besides from Java, which computer programs should I learn for implementing this feature?What kind of path should I follow?



  • @Hepps

    Probably there was a misunderstood I though it could be possible in the current engine.

    So what would happen If I could implement your way properly?


  • Donators Moderators Admin

    @Schulz It is currently possible. You just need to set up all the nations in an Alliance into 1 nation with minor nations as part of that nation....

    EG...

    Game is set up as...

    Player 1 Allies (Major Belligerent)

    Russia (minor)
    Britain (minor)
    America (minor)
    China (minor)

    Player 2 Axis (Major Belligerent)

    Germany (minor)
    Italy (minor)
    Japan (minor)

    Then there are only 2 player phases within a game turn...

    Allies go... the.. Axis go. (Or visa versa)

    All the nations of either side will move simultaneously. Attack togehter... Defend together.



  • I didn't really understand well how do I do it but for simplification I made all allies nations minor of Britain and all axis nations minor of Germany.

    Every country has its overlords without overlord no idea how could it work. Also should I also arrange unit stuffs?

    It would be really awesome if this method could provide simultane rounds.

    <!-- In turn order -->
    <player name="Germany" optional="false"/>
    <player name="VichyFrance" optional="false"/>
    <player name="DanubeAxis" optional="false"/>
    <player name="Finland" optional="false"/>
    <player name="Russia" optional="false"/>
    <player name="Brazil" optional="false"/>
    <player name="Japan" optional="false"/>
    <player name="Manchuria" optional="false"/>
    <player name="Thailand" optional="false"/>
    <player name="China" optional="false"/>
    <player name="Spain" optional="false"/>
    <player name="Britain" optional="false"/>
    <player name="Canada" optional="false"/>
    <player name="ExiledAllies" optional="false"/>
    <player name="Egypt" optional="false"/>
    <player name="SouthAfrica" optional="false"/>
    <player name="India" optional="false"/>
    <player name="Australia" optional="false"/>
    <player name="Sweden" optional="false"/>
    <player name="Italy" optional="false"/>
    <player name="Usa" optional="false"/>
    <player name="Turkey" optional="false"/>
    <alliance player="Germany" alliance="Axis"/>
    <alliance player="VichyFrance" alliance="Axis"/>
    <alliance player="DanubeAxis" alliance="Axis"/>
    <alliance player="Finland" alliance="Axis"/>
    <alliance player="Russia" alliance="Allies"/>
    <alliance player="Japan" alliance="Axis"/>
    <alliance player="Manchuria" alliance="Axis"/>
    <alliance player="Thailand" alliance="Axis"/>
    <alliance player="China" alliance="Allies"/>
    <alliance player="Britain" alliance="Allies"/>
    <alliance player="Canada" alliance="Allies"/>
    <alliance player="ExiledAllies" alliance="Allies"/>
    <alliance player="SouthAfrica" alliance="Allies"/>
    <alliance player="India" alliance="Allies"/>
    <alliance player="Australia" alliance="Allies"/>
    <alliance player="Egypt" alliance="Allies"/>
    <alliance player="Italy" alliance="Axis"/>
    <alliance player="Usa" alliance="Allies"/>
    <alliance player="Spain" alliance="Neutral"/>
    <alliance player="Sweden" alliance="Neutral"/>
    <alliance player="Turkey" alliance="Neutral"/>
    <alliance player="Brazil" alliance="Neutral"/>

    <!-- Bidding Phase -->
    <step name="gameInitDelegate" delegate="initDelegate" maxRunCount="1"/>
    <step name="germanyBid" delegate="bid" player="Germany" maxRunCount="1"/>
    <step name="germanyBidPlace" delegate="placeBid" player="Germany" maxRunCount="1"/>
    <step name="germanycEndTurn" delegate="endTurn" player="Germany" maxRunCount="1" display="Digging Trenches">
    <stepProperty name="skipPosting" value="true"/>
    </step>
    <!-- Normal Game Sequence -->
    <step name="finlandcEndTurn" delegate="endTurnNoPU" player="Finland" display="Reconnaissance Missions">
    <stepProperty name="skipPosting" value="true"/>
    </step>
    <step name="danubeaxiscEndTurn" delegate="endTurnNoPU" player="DanubeAxis" display="Reinforcing">
    <stepProperty name="skipPosting" value="true"/>
    </step>
    <step name="vichyfrancecEndTurn" delegate="endTurnNoPU" player="VichyFrance" display="Counter Intelligence Operations">
    <stepProperty name="skipPosting" value="true"/>
    </step>
    <step name="germanyTech" delegate="tech" player="Germany"/>
    <step name="germanyPolitics" delegate="politics" player="Germany"/>
    <step name="germanyCombatMove" delegate="move" player="Germany"/>
    <step name="germanyBattle" delegate="battle" player="Germany"/>
    <step name="germanyNonCombatMove" delegate="move" player="Germany" display="Non Combat Move"/>
    <step name="germanyPurchase" delegate="Purchase" player="Germany"/>
    <step name="germanyPlace" delegate="place" player="Germany"/>
    <step name="germanyTechActivation" delegate="tech_Activation" player="Germany"/>
    <step name="germanyEndTurn" delegate="endTurn" player="Germany">
    <stepProperty name="skipPosting" value="true"/>
    </step>
    <step name="vichyfrancePurchase" delegate="Purchase" player="VichyFrance"/>
    <step name="vichyfrancePlace" delegate="place" player="VichyFrance"/>
    <step name="vichyfranceEndTurn" delegate="endTurn" player="VichyFrance">
    <stepProperty name="skipPosting" value="true"/>
    </step>
    <step name="danubeaxisPurchase" delegate="Purchase" player="DanubeAxis"/>
    <step name="danubeaxisPlace" delegate="place" player="DanubeAxis"/>
    <step name="danubeaxisEndTurn" delegate="endTurn" player="DanubeAxis">
    <stepProperty name="skipPosting" value="true"/>
    </step>
    <step name="italyPurchase" delegate="Purchase" player="Italy"/>
    <step name="italyPlace" delegate="place" player="Italy"/>
    <step name="italyEndTurn" delegate="endTurn" player="Italy">
    <stepProperty name="skipPosting" value="true"/>
    </step>
    <step name="japanPurchase" delegate="Purchase" player="Japan"/>
    <step name="japanPlace" delegate="place" player="Japan"/>
    <step name="japanEndTurn" delegate="endTurn" player="Japan">
    <stepProperty name="skipPosting" value="true"/>
    </step>
    <step name="manchuriaPurchase" delegate="Purchase" player="Manchuria"/>
    <step name="manchuriaPlace" delegate="place" player="Manchuria"/>
    <step name="manchuriaEndTurn" delegate="endTurn" player="Manchuria">
    <stepProperty name="skipPosting" value="true"/>
    </step>
    <step name="thailandPurchase" delegate="Purchase" player="Thailand"/>
    <step name="thailandPlace" delegate="place" player="Thailand"/>
    <step name="thailanEndTurn" delegate="endTurn" player="Thailand">
    <stepProperty name="skipPosting" value="true"/>
    </step>
    <step name="finlandPurchase" delegate="Purchase" player="Finland"/>
    <step name="finlandPlace" delegate="place" player="Finland"/>
    <step name="finlandEndTurn" delegate="endTurn" player="Finland">
    <stepProperty name="turnSummaryPlayers" value="Germany:VichyFrance:DanubeAxis:Italy:Japan:Manchuria:Thailand:Finland"/>
    </step>

      <step name="brazilCombatMove" delegate="move" player="Brazil"/>
      <step name="brazilBattle" delegate="battle" player="Brazil"/>
      <step name="brazilNonCombatMove" delegate="move" player="Brazil" display="Non Combat Move"/>
      <step name="brazilPurchase" delegate="Purchase" player="Brazil"/>
      <step name="brazilPlace" delegate="place" player="Brazil"/>
      <step name="brazilEndTurn" delegate="endTurn" player="Brazil"/>
      <step name="manchuriacEndTurn" delegate="endTurnNoPU" player="Manchuria" display="Training Troops">
        <stepProperty name="skipPosting" value="true"/>
      </step>
      <step name="thailandcEndTurn" delegate="endTurnNoPU" player="Thailand" display="Consolidating">
        <stepProperty name="skipPosting" value="true"/>
      </step>
      
      
      
      <step name="canadacEndTurn" delegate="endTurnNoPU" player="Canada" display="Supporting Britain">
        <stepProperty name="skipPosting" value="true"/>
      </step>
      <step name="exiledalliescEndTurn" delegate="endTurnNoPU" player="ExiledAllies" display="Organizing Partisan Operations">
        <stepProperty name="skipPosting" value="true"/>
      </step>
      <step name="egyptcEndTurn" delegate="endTurnNoPU" player="Egypt" display="Preparing Defense">
        <stepProperty name="skipPosting" value="true"/>
      </step>
      <step name="southafricacEndTurn" delegate="endTurnNoPU" player="SouthAfrica" display="Marching Orders">
        <stepProperty name="skipPosting" value="true"/>
      </step>
      <step name="indiacEndTurn" delegate="endTurnNoPU" player="India" display="Preparing Ambushes">
        <stepProperty name="skipPosting" value="true"/>
      </step>
      <step name="australiacEndTurn" delegate="endTurnNoPU" player="Australia" display="Preparing Naval Operations">
        <stepProperty name="skipPosting" value="true"/>
      </step>
      <step name="britainTech" delegate="tech" player="Britain"/>
      <step name="britainPolitics" delegate="politics" player="Britain"/>
      <step name="britainCombatMove" delegate="move" player="Britain"/>
      <step name="britainBattle" delegate="battle" player="Britain"/>
      <step name="britainNonCombatMove" delegate="move" player="Britain" display="Non Combat Move"/>
      <step name="britainPurchase" delegate="Purchase" player="Britain"/>
      <step name="britainPlace" delegate="place" player="Britain"/>
      <step name="britainTechActivation" delegate="tech_Activation" player="Britain"/>
      <step name="britainEndTurn" delegate="endTurn" player="Britain">
        <stepProperty name="skipPosting" value="true"/>
      </step>
      <step name="canadaPurchase" delegate="Purchase" player="Canada"/>
      <step name="canadaPlace" delegate="place" player="Canada"/>
      <step name="canadaEndTurn" delegate="endTurn" player="Canada">
        <stepProperty name="skipPosting" value="true"/>
      </step>
      <step name="exiledalliesPurchase" delegate="Purchase" player="ExiledAllies"/>
      <step name="exiledalliesPlace" delegate="place" player="ExiledAllies"/>
      <step name="exiledalliesEndTurn" delegate="endTurn" player="ExiledAllies">
        <stepProperty name="skipPosting" value="true"/>
      </step>
      <step name="egyptPurchase" delegate="Purchase" player="Egypt"/>
      <step name="egyptPlace" delegate="place" player="Egypt"/>
      <step name="egyptEndTurn" delegate="endTurn" player="Egypt">
        <stepProperty name="skipPosting" value="true"/>
      </step>
      <step name="southafricaPurchase" delegate="Purchase" player="SouthAfrica"/>
      <step name="southafricaPlace" delegate="place" player="SouthAfrica"/>
      <step name="southafricaEndTurn" delegate="endTurn" player="SouthAfrica">
        <stepProperty name="skipPosting" value="true"/>
      </step>
      <step name="indiaPurchase" delegate="Purchase" player="India"/>
      <step name="indiaPlace" delegate="place" player="India"/>
      <step name="indiaEndTurn" delegate="endTurn" player="India">
        <stepProperty name="skipPosting" value="true"/>
      </step>
      <step name="usaPurchase" delegate="Purchase" player="Usa"/>
      <step name="usaPlace" delegate="place" player="Usa"/>
      <step name="usaEndTurn" delegate="endTurn" player="Usa">
        <stepProperty name="skipPosting" value="true"/>
      </step>
      <step name="russiaPurchase" delegate="Purchase" player="Russia"/>
      <step name="russiaPlace" delegate="place" player="Russia"/>
      <step name="russiaEndTurn" delegate="endTurn" player="Russia">
        <stepProperty name="skipPosting" value="true"/>
      </step>
      <step name="chinaPurchase" delegate="Purchase" player="China"/>
      <step name="chinaPlace" delegate="place" player="China"/>
      <step name="chinaEndTurn" delegate="endTurn" player="China">
        <stepProperty name="skipPosting" value="true"/>
      </step>
      <step name="australiaPurchase" delegate="Purchase" player="Australia"/>
      <step name="australiaPlace" delegate="place" player="Australia"/>
      <step name="australiaEndTurn" delegate="endTurn" player="Australia">
        <stepProperty name="turnSummaryPlayers" value="Britain:Canada:ExiledAllies:Egypt:SouthAfrica:India:Usa:Russia:China:Australia"/>
      </step>
      
    
    
    
    
      <step name="spainCombatMove" delegate="move" player="Spain"/>
      <step name="spainBattle" delegate="battle" player="Spain"/>
      <step name="spainNonCombatMove" delegate="move" player="Spain" display="Non Combat Move"/>
      <step name="spainPurchase" delegate="Purchase" player="Spain"/>
      <step name="spainPlace" delegate="place" player="Spain"/>
      <step name="spainEndTurn" delegate="endTurn" player="Spain"/>
    
    
      <step name="swedenCombatMove" delegate="move" player="Sweden"/>
      <step name="swedenBattle" delegate="battle" player="Sweden"/>
      <step name="swedenNonCombatMove" delegate="move" player="Sweden" display="Non Combat Move"/>
      <step name="swedenPurchase" delegate="Purchase" player="Sweden"/>
      <step name="swedenPlace" delegate="place" player="Sweden"/>
      <step name="swedenEndTurn" delegate="endTurn" player="Sweden"/>
      
      
      <step name="turkeyCombatMove" delegate="move" player="Turkey"/>
      <step name="turkeyBattle" delegate="battle" player="Turkey"/>
      <step name="turkeyNonCombatMove" delegate="move" player="Turkey" display="Non Combat Move"/>
      <step name="turkeyPurchase" delegate="Purchase" player="Turkey"/>
      <step name="turkeyPlace" delegate="place" player="Turkey"/>
      <step name="turkeyEndTurn" delegate="endTurn" player="Turkey"/>
      <step name="endRoundStep" delegate="endRound"/>
    

    </productionFrontier>
    <playerProduction player="Germany" frontier="germanBidProduction"/>
    <playerProduction player="Italy" frontier="germanMinorProduction"/>
    <playerProduction player="Japan" frontier="germanMinorProduction"/>
    <playerProduction player="VichyFrance" frontier="germanMinorProduction"/>
    <playerProduction player="Manchuria" frontier="germanMinorProduction"/>
    <playerProduction player="Thailand" frontier="germanMinorProduction"/>
    <playerProduction player="DanubeAxis" frontier="germanMinorProduction"/>
    <playerProduction player="Finland" frontier="germanMinorProduction"/>
    <playerProduction player="Britain" frontier="britishProduction"/>
    <playerProduction player="China" frontier="britishMinorProduction"/>
    <playerProduction player="Usa" frontier="britishMinorProduction"/>
    <playerProduction player="Russia" frontier="britishMinorProduction"/>
    <playerProduction player="SouthAfrica" frontier="britishMinorProduction"/>
    <playerProduction player="India" frontier="britishMinorProduction"/>
    <playerProduction player="Egypt" frontier="britishMinorProduction"/>
    <playerProduction player="Australia" frontier="britishMinorProduction"/>
    <playerProduction player="Canada" frontier="britishMinorProduction"/>
    <playerProduction player="ExiledAllies" frontier="britishMinorProduction"/>
    <playerProduction player="Spain" frontier="spanishProduction"/>
    <playerProduction player="Sweden" frontier="swedishProduction"/>
    <playerProduction player="Turkey" frontier="turkishProduction"/>
    <playerProduction player="Brazil" frontier="brazilianProduction"/>
    <playerRepair player="Germany" frontier="repair"/>
    <playerRepair player="Italy" frontier="repair"/>
    <playerRepair player="Japan" frontier="repair"/>
    <playerRepair player="VichyFrance" frontier="repair"/>
    <playerRepair player="Manchuria" frontier="repair"/>
    <playerRepair player="Thailand" frontier="repair"/>
    <playerRepair player="DanubeAxis" frontier="repair"/>
    <playerRepair player="Finland" frontier="repair"/>
    <playerRepair player="Britain" frontier="repair"/>
    <playerRepair player="China" frontier="repair"/>
    <playerRepair player="Usa" frontier="repair"/>
    <playerRepair player="Russia" frontier="repair"/>
    <playerRepair player="SouthAfrica" frontier="repair"/>
    <playerRepair player="India" frontier="repair"/>
    <playerRepair player="Egypt" frontier="repair"/>
    <playerRepair player="Australia" frontier="repair"/>
    <playerRepair player="Canada" frontier="repair"/>
    <playerRepair player="ExiledAllies" frontier="repair"/>
    <playerRepair player="Spain" frontier="repair"/>
    <playerRepair player="Sweden" frontier="repair"/>
    <playerRepair player="Turkey" frontier="repair"/>
    <playerRepair player="Brazil" frontier="repair"/>
    </production>

    <!-- Player attachments -->

    <attachment name="playerAttachment" attachTo="Britain" javaClass="games.strategy.triplea.attachments.PlayerAttachment" type="player">
      <option name="retainCapitalNumber" value="1"/>
      <option name="giveUnitControl" value="Australia"/>
      <option name="giveUnitControl" value="Canada"/>
      <option name="giveUnitControl" value="Egypt"/>
      <option name="giveUnitControl" value="India"/>
      <option name="giveUnitControl" value="SouthAfrica"/>
      <option name="giveUnitControl" value="ExiledAllies"/>
      <option name="giveUnitControl" value="Russia"/>
      <option name="giveUnitControl" value="Usa"/>
      <option name="giveUnitControl" value="China"/>
      <option name="destroysPUs" value="true"/>
    </attachment>
    <attachment name="playerAttachment" attachTo="Finland" javaClass="games.strategy.triplea.attachments.PlayerAttachment" type="player">
      <option name="giveUnitControl" value="Germany"/>
      <option name="destroysPUs" value="true"/>
    </attachment>
    <attachment name="playerAttachment" attachTo="Germany" javaClass="games.strategy.triplea.attachments.PlayerAttachment" type="player">
      <option name="giveUnitControl" value="Finland"/>
      <option name="giveUnitControl" value="DanubeAxis"/>
      <option name="giveUnitControl" value="VichyFrance"/>
      <option name="giveUnitControl" value="Italy"/>
      <option name="giveUnitControl" value="Japan"/>
      <option name="giveUnitControl" value="Manchuria"/>
      <option name="giveUnitControl" value="Thailand"/>
      <option name="destroysPUs" value="true"/>
    </attachment>
    <attachment name="playerAttachment" attachTo="Italy" javaClass="games.strategy.triplea.attachments.PlayerAttachment" type="player">
      <option name="giveUnitControl" value="Germany"/>
      <option name="destroysPUs" value="true"/>
    </attachment>
    <attachment name="playerAttachment" attachTo="VichyFrance" javaClass="games.strategy.triplea.attachments.PlayerAttachment" type="player">
      <option name="giveUnitControl" value="Germany"/>
      <option name="destroysPUs" value="true"/>
    </attachment>
    <attachment name="playerAttachment" attachTo="DanubeAxis" javaClass="games.strategy.triplea.attachments.PlayerAttachment" type="player">
      <option name="giveUnitControl" value="Germany"/>
      <option name="retainCapitalNumber" value="1"/>
      <option name="destroysPUs" value="true"/>
    </attachment>
    <attachment name="playerAttachment" attachTo="Manchuria" javaClass="games.strategy.triplea.attachments.PlayerAttachment" type="player">
      <option name="giveUnitControl" value="Germany"/>
      <option name="destroysPUs" value="true"/>
    </attachment>
    <attachment name="playerAttachment" attachTo="Thailand" javaClass="games.strategy.triplea.attachments.PlayerAttachment" type="player">
      <option name="giveUnitControl" value="Germany"/>
      <option name="destroysPUs" value="true"/>
    </attachment>
    <attachment name="playerAttachment" attachTo="Japan" javaClass="games.strategy.triplea.attachments.PlayerAttachment" type="player">
      <option name="giveUnitControl" value="Germany"/>
      <option name="destroysPUs" value="true"/>
    </attachment>
    <attachment name="playerAttachment" attachTo="Australia" javaClass="games.strategy.triplea.attachments.PlayerAttachment" type="player">
      <option name="giveUnitControl" value="Britain"/>
      <option name="retainCapitalNumber" value="1"/>
      <option name="destroysPUs" value="true"/>
    </attachment>
    <attachment name="playerAttachment" attachTo="Canada" javaClass="games.strategy.triplea.attachments.PlayerAttachment" type="player">
      <option name="giveUnitControl" value="Britain"/>
      <option name="retainCapitalNumber" value="1"/>
      <option name="destroysPUs" value="true"/>
    </attachment>
    <attachment name="playerAttachment" attachTo="Egypt" javaClass="games.strategy.triplea.attachments.PlayerAttachment" type="player">
      <option name="giveUnitControl" value="Britain"/>
      <option name="destroysPUs" value="true"/>
    </attachment>
    <attachment name="playerAttachment" attachTo="ExiledAllies" javaClass="games.strategy.triplea.attachments.PlayerAttachment" type="player">
      <option name="giveUnitControl" value="Britain"/>
      <option name="destroysPUs" value="true"/>
    </attachment>
    <attachment name="playerAttachment" attachTo="India" javaClass="games.strategy.triplea.attachments.PlayerAttachment" type="player">
      <option name="giveUnitControl" value="Britain"/>
      <option name="destroysPUs" value="true"/>
    </attachment>
    
    <attachment name="playerAttachment" attachTo="Russia" javaClass="games.strategy.triplea.attachments.PlayerAttachment" type="player">
      <option name="giveUnitControl" value="Britain"/>
      <option name="destroysPUs" value="true"/>
    </attachment>
    <attachment name="playerAttachment" attachTo="Usa" javaClass="games.strategy.triplea.attachments.PlayerAttachment" type="player">
      <option name="giveUnitControl" value="Britain"/>
      <option name="destroysPUs" value="true"/>
    </attachment>
    <attachment name="playerAttachment" attachTo="China" javaClass="games.strategy.triplea.attachments.PlayerAttachment" type="player">
      <option name="giveUnitControl" value="Britain"/>
      <option name="destroysPUs" value="true"/>
    </attachment>
    
    <attachment name="playerAttachment" attachTo="SouthAfrica" javaClass="games.strategy.triplea.attachments.PlayerAttachment" type="player">
      <option name="giveUnitControl" value="Britain"/>
      <option name="destroysPUs" value="true"/>
    </attachment>

 

20022
1144
1243
Who's Online
Visitors Today