TripleA Logo TripleA Forum
    • TripleA Website
    • Recent
    • Popular
    • Register
    • Login

    Poll on how Defender Retreat should work

    Scheduled Pinned Locked Moved Development
    40 Posts 7 Posters 9.5k Views 7 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • C
      Cernel Moderators Lobby Moderators @iratoric
      last edited by

      @iratoric I know that I've been a bit negative in my previous post because I liked your original idea (making it similar to submarine reatreat) better than doing it as per North Africa rules as you eventually decided to (which are also adding complexity like the needed supplies or what they are called, been a while since I read the rules), but at the end I think that either is interesting.

      Just posting here because I'm wondering if you are still onto this and what are your plans to get this done (sorry, not a developer).

      I 1 Reply Last reply
      Reply Quote 3
      • I
        iratoric @Cernel
        last edited by

        @Cernel Yes I am working on this still, life events got in the way for a bit. Currently I am working on moving everything over to unit attachments for maximum customizability. So you can have units which are able to retreat mixed with others that can't, some that can retreat on round 1 and others that can retreat on round 2. The 2 unit attachments I have right now are boolean "canDefensiveRetreat" and integer "defensiveRetreatRound".

        Currently it's following the North Africa rules, where you decide at the start of the battle if you want to retreat, but it doesn't take effect until after the attackers shoot at you with impunity. However, I am thinking I will add a unit attachment like boolean "defenderFightOrRetreat" which controls this behavior. If set to true it acts like North Africa, but if set to false, then you would just retreat immediately.

        I think I will just have the retreat query right at the start of a round so as to support both retreating before battle and after X rounds of combat. Because asking before round 2 starts is equivalent to asking after round 1 finishes anyway. That way I don't have to deal with the problem of reordering combat steps which seems like it would be difficult/problematic.

        C 1 Reply Last reply
        Reply Quote 2
        • C
          Cernel Moderators Lobby Moderators @iratoric
          last edited by Cernel

          @iratoric Cool. The idea of having units able and units unable to retreat is neat.

          This is not really a request (because I believe you or the developers who will have to decide to accept this new feature probably don't want to go that complex at least initially), but in reality that would be mostly determined by the tactical speed of the units.

          So, I'm throwing this idea as a possible future feature request (once a basic retreat system already exists).

          One could have a "speed" unit option (defaulting to "movement" if absent) which determines if a unit can or cannot retreat based on what units are attacking, under the rule that all units with a speed equal or greater than the slowest attacking unit can retreat.

          For example, if I have "transports", "battleships" and "destroyers", I could assign value of tactical speed of 1, 2 and 3 respectively. In this case, if I attack with only battleships a force of only transports and destroyers, the destroyers would be able defensively to retreat but not the transports (which would be left fighting alone if the destroyers retreat). In case of multiple forces, one could have (as written) the rule that for the attacker counts only the tactical speed of the unit with the lowest value, and that for the defender only the units with a value equal or greater than that can defensively retreat. For example, if I attack with battleships and destroyers a force of transports, battleships and destroyers, only battleships and destroyers can defensively retreat, but, if I attack with only destroyers (or after only destroyers are left in attack if I decide to remove all my battleships as casualties), then only the destroyers can defensively retreat (and, if they do so, the combat would proceed between the attacking destroyers and the defending transports and battleships).

          Obviously, such a feature would also assure that movement 0 units cannot retreat unless there are movement 0 units in attack (normally impossible) which did not receive a "speed" greater than 0 in their attachments.

          (Obviously, instead of transports, battleships and destroyers, they can be respectively corbitae, lembi and triremes or whatever.)

          1 Reply Last reply
          Reply Quote 0
          • VictoryFirstV
            VictoryFirst
            last edited by

            @iratoric Awesome! If you are planning to make the retreat rules match those of North Africa, I suggest you also create an option mustDefensiveRetreat, alongside canDefensiveRetreat. This forces the unit to retreat after X number of rounds (I am alluding to the scout cars right now).

            I also suggest renaming the boolean defenderFightOrRetreat to defenderRetreatInsteadOfRolling. This is more clear and can be used both in Africa as well as Europe (1999) with the submarines. For the latter, the code must probably extended for submarine submerge retreats as well.

            I am going to check out your PR and test. I'd love to assist you in this.

            1 Reply Last reply
            Reply Quote 1
            • VictoryFirstV
              VictoryFirst
              last edited by VictoryFirst

              @iratoric

              I just did a combat with infantry having the ability to defensively retreat in North Africa and it is looking really neat! It is working almost exactly as intended.

              I discovered a minor bug though and that is that units are able to retreat to territories they are not allowed to enter because of relationships. All the territories in capital letters are controlled by the player Mines, which is neutral towards the British. I am able to select such a territory and retreat to it. This should not be possible:
              533aa204-9bb1-4847-af7c-8473a96db448-image.jpeg8fb26259-5e7b-41eb-9068-890236660ca3-image.jpeg

              For the attackers, this is working correctly.

              1 Reply Last reply
              Reply Quote 2
              • VictoryFirstV
                VictoryFirst
                last edited by

                Also, minor request but it would be nice if the decision for the defender to retreat is displayed here if it's made at the start of the combat round, so that it says "British decide to retreat units" as the first entry in this battle history.

                81e6b426-6981-4e64-92f5-7d33ebe188ea-image.jpeg

                1 Reply Last reply
                Reply Quote 0
                • VictoryFirstV
                  VictoryFirst
                  last edited by

                  Another bug, air units don't retreat along with the other units. They just stay in the territory. I think it is copying the logic for attacking air units. But retreating defending air units requires the same logic as retreating land units.

                  08920d0f-5a47-4e6f-bac9-396232a1655a-image.jpeg

                  1 Reply Last reply
                  Reply Quote 1
                  • VictoryFirstV
                    VictoryFirst
                    last edited by VictoryFirst

                    Also, you get a NoSuchElementException when doing a battle with the UK-aaGun unit:
                    c80a9ad1-4141-4dac-a091-41bd276796e3-image.jpeg
                    In this battle, I gave the British infantry, tank and aaGun the ability to retreat on the first round of combat.

                    When choosing to retreat and selecting a territory, it immediately throws NoSuchElementException and the game crashes. I think that is caused because there is a phase where the aaGun shoots at the air units and that comes after the phase where the British decide to retreat. This results in a phase where the aaGun cannot shoot at the air units. I think it's better to move the decision to retreat for the defender after AA fire, according to the North Africa rules.

                    4d5afbaa-b922-4031-9a53-9961e87b81b3-image.jpeg

                    In other words, "British withdraw?" should come below "Germans notify AA casualties".

                    1 Reply Last reply
                    Reply Quote 2
                    • V
                      Vendetta
                      last edited by

                      My house rule on defender retreats is that the defender can call a retreat, but only after fighting at least one full round of combat.

                      Once a retreat is called, one final round of combat will take place in which the attackers fire again, but the defenders do not return fire. After that, the surviving defenders escape.

                      This keeps defensive retreats from being abused to stall the game indefinitely.

                      Other caveats:

                      Defenders must all retreat together to the same territory (except for any planes that were scrambled into the battle, they go back where they came from) - no splitting them up and dispersing to different territories, no withdrawing some of them and keeping others behind.

                      The destination must be adjacent to the battle zone, it must be under the control of the defender or their allies (if it's a land territory), and it must be free of enemy units (no retreating into a contested zone to reinforce another battle that's going to happen in the same turn).

                      Retreat cannot be called if there's no eligible territory to escape to.

                      The only exception to the splitting rule is if two or more allies have units defending the same territory - they each make their own decisions on whether to fight or retreat. So let's say we're in Tobruk, the British attack, the Germans and Italians are defending. Germany decides to retreat to Libya, but Italy wants to stay and fight. On the next round, only the British and Italians will fire, any hits scored by the British can be taken by either the retreating or the remaining force (whichever the Axis player(s) decide), then the Germans are gone and fighting resumes as normal between the British and Italians on the following round.

                      Or if that's too complicated, simply rule that retreat must be mutually agreed upon by all allies taking part in the battle before it's allowed so they all stay or withdraw as one.

                      VictoryFirstV 1 Reply Last reply
                      Reply Quote 1
                      • VictoryFirstV
                        VictoryFirst @Vendetta
                        last edited by

                        @Vendetta Currently using the XML, you can configure this to work exactly in the way you described, except for "Allies retreating to different territories". Currently all units go to one territory.

                        The Pull Request is almost merge-ready, it just needs a bit of improvements outlined at the GitHub page.

                        @iratoric How are things looking right now? Are you planning to work on the last bits of the PR?

                        1 Reply Last reply
                        Reply Quote 0

                        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
                        • 1
                        • 2
                        • 1 / 2
                        • First post
                          Last post
                        Powered by NodeBB Forums