Rules issues with the TripleA engine


  • Moderators Admin

    To prevent from duplicates and to always have an up to date overview of currently unresolved (rules-related) bugs/issues of wwII-games, I have collected the respective engine-related Github-issues to list them here.
    I am focussing on Github here, as all related content has been approved, so that the issues qualify.

    So this topic serves as sort of inventory for everybody who is interested in the current status.

    Note: In case an issue is marked as “closed” (on Github) this does not imply that it has been resolved.

    I can’t guarantee that this list is complete, due to the masses of opened and closed issues, but I will try to keep it updated. This list does not contain bugs that have not been documented by a Github issue yet.

    Also this list will be checked against the latest pre-releases. So issues not appearing here might be fixed for pre-releases but not for the latest stable.

    If you discover new issues please report them on Github:
    https://github.com/triplea-game/triplea/issues

    This list has been originally posted on
    https://www.axisandallies.org/forums/topic/32958/triplea-engine-known-rules-related-bugs-issues


    Rules Issues on GitHub (this list does not include issues filed at the map repos):

    1. Unresolved issues

    Sub combat rules wrong:
    (example see https://www.axisandallies.org/forums/post/1249085)
    https://github.com/triplea-game/triplea/issues/1645

    v5-1942 air battles not supported:
    https://github.com/triplea-game/triplea/issues/1867

    Should Be Able To Retreat To SZ With Only Enemy Subs (>=V3):
    https://github.com/triplea-game/triplea/issues/3428

    Display Overbuy Rule to Game Players:
    https://github.com/triplea-game/triplea/issues/3767

    Incorrect handling of AA-fire and/or AA-fire casualty selection:
    https://github.com/triplea-game/triplea/issues/4133

    Kamikazes don't kill marines on board:
    https://github.com/triplea-game/triplea/issues/4634

    Can blitz through a friendly neutral. Should not be possible:
    https://github.com/triplea-game/triplea/issues/4685

    Rule problem: should not offer option to retreat:
    https://github.com/triplea-game/triplea/issues/4688

    Allied Air Units Cannot Be Taken as Casualties Offensively (v1):
    https://github.com/triplea-game/triplea/issues/4794

    Submarine submerge and retreat issues:
    https://github.com/triplea-game/triplea/issues/4821

    V4 [and others] Should [not] give refund for an overbuy:
    https://github.com/triplea-game/triplea/issues/5194

    Anniversary AAA/Paratrooper issue:
    https://github.com/triplea-game/triplea/issues/5834

    Battle calculator in Global 1940 incorrectly distinguishes UK-pacific from British units:
    https://github.com/triplea-game/triplea/issues/5844

    Non Combat Move Unloading From Transports Unloaded During Combat Move (v2):
    https://github.com/triplea-game/triplea/issues/6039

    Placement on friendly carrier is incorrectly allowed:
    https://github.com/triplea-game/triplea/issues/6238

    Aircraft casualties should take those with least move pts:
    https://github.com/triplea-game/triplea/issues/6256

    TripleA allows NCM-landing in territories that have not been friendly at the start of the turn:
    https://github.com/triplea-game/triplea/issues/7350

    2. Partly resolved issues

    Rocket attacks and Scrambling resolved during wrong phases:
    https://github.com/triplea-game/triplea/issues/3846
    (solved for G40; there are remaining aspects (e.g. v1))

    TripleA illegally allows placement of newly built air units on friendly carriers:
    https://github.com/triplea-game/triplea/issues/4480

    3. Resolved issues

    Incorrect transports already unloaded error message:
    https://github.com/triplea-game/triplea/issues/874

    Incorrect handling of Transport's "stalemate":
    https://github.com/triplea-game/triplea/issues/2367

    Transport loading bug (rules):
    https://github.com/triplea-game/triplea/issues/3162

    Can't remove transported units without removing transport:
    https://github.com/triplea-game/triplea/issues/4446



  • Moderators Admin

    @Panther Maybe this would be better in a Wiki in the referenced GitHub repository, leaving a brief explanation and a link only in here?


  • Moderators Admin

    @Cernel On A&A .org this topic was intended primarily for PBF users stumbling over issues during their games. That it could serve as "summarizing tasklist" for developers and contributors, too, has been a nice side effect. So yes - why not add that to the repo.


  • Admin

    @Panther This ticket:
    "Display Overbuy Rule to Game Players:"
    https://github.com/triplea-game/triplea/issues/3767

    Was not to correct any game rules, but instead was simply to show to the player the current game rule. Is it maps that have bad game buy rules, or does the engine have bad handling somewhere?


  • Moderators Admin

    @LaFayette said in TripleA engine - Known rules-related bugs/issues:

    Is it maps that have bad game buy rules, or does the engine have bad handling somewhere?

    Indeed, I mentioned examples here:
    https://github.com/triplea-game/triplea/issues/3767#issuecomment-412295846
    and added how the rules deal with overbuys in every game-version here:
    https://github.com/triplea-game/triplea/issues/2219#issuecomment-326428326


  • Admin

    https://github.com/triplea-game/triplea/issues/2219#issuecomment-326428326 is problematic as it's not clear anymore what needs to be done vs what has been done. For each bullet point, a proper bug report, ideally with game save setting up the scenario, would be beyond excellent.

    I pulled out the problems noted in 3767 into new bug reports:

    Ideally similar would be done for what remains in 2219. I'm encouraging we create many, bite-sized tasks that can be picked up quickly and fixed in a few hours. Each item will need a quarter to full day to fix, perhaps more depending on core game engine complexity.


  • Moderators Admin

    I'll say it here, since it is the same matter for a number of cases.

    All those rules, from v3 onwards (keeping units for v3, refund for v4 onwards), are for cases in which you unintentionally bought too much. You can never intentionally buy more units than you can possibly place. You cannot even choose to buy more than you can place and accept losing the refund. If you intentionally overbuy, you should not just lose the refund or the units, you should lose the game (for cheating).

    How to decide if something is intentional or not is dubious enough for boardgaming, and it only gets worse in the moment you apply it to a program like TripleA (that also gives you a warning for buying too much, and, where that warning is flawless (as I believe it indeed is in v3, v4 and v5), then you can't really unintentionally overbuy, I think).


  • Admin

    @Cernel Okay, what a developer needs is:

    1. What does the game currently do?
    2. What should it actually do?

    Please chime in on the bug report tickets if you believe the 'expected' is incorrect.


  • Admin

    @Cernel It also seems you and @Panther might not be in agreement, unless I misunderstood the comments in: https://github.com/triplea-game/triplea/issues/2219#issuecomment-326428326


  • Moderators Admin

    @LaFayette I understand that @Panther believes that if you skip a warning telling you that you are overbuying that doesn't mean that you are intentionally overbuying. I think the opposite, as long as the warning is always correct.

    I don't think trying to replicate a system by which the overbuy might be sorted as unintentional or not, which would probably entail allowing the other players to visualize and validate your purchase choices, would really make sense, especially in the moment you are not playing live, and especially since live gameplay has no timer.

    I think, for all games, the only solution is having the engine fully and flawlessly limiting what you can buy to what you can possibly place, with no warning (you just cannot overbuy, like now you cannot spend more PUs than you have). Then the engine should also oblige you to place all you can. Once this would be done, then the only situation in which you would be unable to place all you have is when combat move and combat results may influence the amount and type of units that you can place (main example is being unable to place in hostile sea zones in v1, but I vaguely remember there are such cases in Global too, for other reasons). So, it would be still the matter of having, then, the behaviour of losing units you cannot place (v1 and v2), keeping them (v3), or refunding them (v4 and following) (only the third one is not offered by the program, yet), albeit I think that at least for v2, v3, v4, v5 and v6 that would never actually happen, as you would never end up having more units than you can place, if the program restricts you.

    But I believe v1 and v2 are really not clear on the matter if you are actually allowed to intentionally overbuy and, then, losing the units that you cannot place, but I'm almost sure that intentional overbuy is forbidden in those too, if @Panther can confirm (the rules seem to assume that you would just never want to intentionally overbuy, since you totally lose what you cannot place).

    I also wonder if, for example in Classic, if I buy something on the assumption of being able to place it only if I clear a sea zone, am I, then, obliged to at least try to clear that sea zone, in the subsequent combat move phase? This is something I don't know. It is sort of the same deal as the "no kamikaze" rule, but for placing naval units that would be lost, otherwise. If this is true (I'm obliged to make combat moves to have at least a chance to place all I bought), then you would also need a combined purchase and combat move phase, the max you can buy being validated based on your combat moves, and vice versa. I know that there is not such a rule, so I assume that I can buy a battleship that I can only place if I clear a sea zone, but then I don't attack the sea zone, legally losing the battleship for sure, correct?

    All this said, it is also very important that all these features are optional, and you still can, like for example 270BC currently, decide to intentionally overbuy, by disabling all overbuy restrictions. This may support custom games in which overbuying is permitted, but it is mostly necessary in case the system would not fully cover all possible situations, as I anyway assume you already cannot feasibly cover them all (for example, custom maps like Napoleonic Empires, where factories can move and even be loaded on ships would probably be better off allowing unlimited overbuy with units destruction if you cannot place).

    EDIT: Since those bug tickets seem rules specific, I've instead answered in here, as I think this problem really exists in all rulesets, and it is a collection of several different issues (how to see and handle overbuy when you purchase, especially referring to assuring it is not intentional, how to handle situations in which combat moves and results may influence what you can place, the fact that the engine doesn't oblige you maximize the number of units that you can place during placement, the fact that the refund for v4 and following is not currently supported).


  • Moderators Admin

    @LaFayette said in TripleA engine - Known rules-related bugs/issues:

    @Cernel Okay, what a developer needs is:

    1. What does the game currently do?
    2. What should it actually do?

    Please chime in on the bug report tickets if you believe the 'expected' is incorrect.

    Regarding:
    https://github.com/triplea-game/triplea/issues/5194
    https://github.com/triplea-game/triplea/issues/5195
    I don't think I've anything specific to say in those. I agree that at least moving from the v3 system of keeping the units to a refund system would bring those games closer to their intended behaviour. For intentionality, or anything else, the matter is really general, instead, not really related specifically to v4 or Global.


  • Moderators Admin

    @Cernel said in TripleA engine - Known rules-related bugs/issues:

    I understand that @Panther believes that if you skip a warning telling you that you are overbuying that doesn't mean that you are intentionally overbuying. I think the opposite, as long as the warning is always correct.

    I don't know how you come to say that, as I never said so.

    I have always argued in the respective Github issues that an overbuy warning is pointless if not submitted to the opponents at the time it is committed. If the committing player ignores this warning on purpose he is abusing the rules, definitely.
    But when it comes to discuss that after the turn the committing player can always find excuses for that behaviour arguing he did not do it on purpose (maybe because of an incorrect understanding of a rule).

    https://github.com/triplea-game/triplea/issues/3506#issuecomment-405458293
    and
    https://github.com/triplea-game/triplea/issues/3506#issuecomment-410941697
    and
    https://github.com/triplea-game/triplea/issues/3506#issuecomment-410958133
    and
    https://github.com/triplea-game/triplea/issues/3506#issuecomment-410966284

    Possible scenario:
    During purchase units phase the player intentionally buys 2 units more than can be placed.
    The engine issues an overbuy warning, that is ignored.
    After the turn the opponents notice the refund for 2 units.
    After laying out the rules to him the overbuying player argues: "I intended to capture a factory where I could have placed those units but that plan failed. I ignored the warning because during Purchase Unit Phase the engine cannot know about my plan. Sorry, I did not know about the rule that I could not use that factory during the turn it was captured! Man, that was an unintended overpurchase!"

    Happy arguing now - after the turn is over. This might not or at least should not happen with experienced players, I agree. But this rule issue still occurs ...

    I once had a conversation with Krieghund about the "human factor":

    I said:

    I have always wondered about the terms "purposely" and "inadvertent" over-purchasing.
    On whom is it too prove that an over-purchase has been done intentionally oder inadvertently?
    When is this discussion supposed to be initiated by whom? During Purchase Phase or during Placement Phase?
    In a real game an over-purchase most likely would become obvious during Placement Phase, when the player cannot place all of the purchased units. Of course the player would always argue that this happened inadvertently.
    Do the other players have to monitor the buyer's purchases with regards to the number of units being placeable?
    I cannot remember any over-purchase in any of my or others games... so how is this rule supposed to be practiced, in case it is still valid?

    Krieghund answered:

    There's no way to know what's in another person's mind, so there's no way to know whether or not an over-purchase was intentional after the fact. If it's not caught until the mobilization phase, I guess you just have to take your opponent's word for it. If it happens a lot (or if you don't trust your opponent!), the only defense against intentional over-purchasing is to verify that all units may be mobilized during the purchasing phase (as this can't change during the rest of the turn). This is probably good practice anyway, to avoid errors.

    So in case the engine would be enabled to support this verification the fact of overbuying must be issued not only to the player who overbuys but to the opponents, too. Do we want to introduce another phase to validate or discuss what is going on?

    @Cernel said in TripleA engine - Known rules-related bugs/issues:

    I don't think trying to replicate a system by which the overbuy might be sorted as unintentional or not, which would probably entail allowing the other players to visualize and validate your purchase choices, would really make sense, especially in the moment you are not playing live, and especially since live gameplay has no timer.
    I think, for all games, the only solution is having the engine fully and flawlessly limiting what you can buy to what you can possibly place, with no warning (you just cannot overbuy, like now you cannot spend more PUs than you have). Then the engine should also oblige you to place all you can.

    I fully agree with that, in case that needs to be implemented.
    On the other hand I have no idea how relevant this "intentional overbuy-topic" actually is.
    Does it occur that often that the engine needs to handle it - or does it happen only here and there and the players find an agreement (or not)?

    Was that the reason why you just created "Display Overbuy Rule to Game Players" , @LaFayette ?


  • Admin

    Was that the reason why you just created "Display Overbuy Rule to Game Players" , @LaFayette ?

    Some maps enforce it, others refund, some carry over the units, others you lose the units. Knowing which is useful so you don't wrongly rely on the game engine to warn you about purchasing too many units to then lose or not place them.

    In my experience, an overbuy is a game losing move. Losing units to not being able to place is essentially giving the opponent one or two SBR without the benefit of even an AA chance. The tactical disadvantage, usually counting on those units to be there, then to find out post-non-combat can easily mean you'll have fewer units than planned and a key position/battle would then fold as you'll be short.

    Long answer, less long, users should be able to tell how the game will function without 'just knowing'. It's a UX design principle that you should be able to look at something and figure out how it'll work. Having some sort of indicator to tell you, whether text or otherwise (something), what will tell you would help jive with that. I've also had the rude surprise on maps to realize it did not warn/prevent overbuy and then overbought units. It's a particular problem say on WaW when there are many factories that are spread out. It's actually a bit time consuming there to every turn count up factory capacity, just so you can be sure to buy max, but not too much.


  • Moderators Admin

    @Panther said in TripleA engine - Known rules-related bugs/issues:

    @Cernel said in TripleA engine - Known rules-related bugs/issues:

    I understand that @Panther believes that if you skip a warning telling you that you are overbuying that doesn't mean that you are intentionally overbuying. I think the opposite, as long as the warning is always correct.

    I don't know how you come to say that, as I never said so.

    I have always argued in the respective Github issues that an overbuy warning is pointless if not submitted to the opponents at the time it is committed. If the committing player ignores this warning on purpose he is abusing the rules, definitely.
    But when it comes to discuss that after the turn the committing player can always find excuses for that behaviour arguing he did not do it on purpose (maybe because of an incorrect understanding of a rule).

    https://github.com/triplea-game/triplea/issues/3506#issuecomment-405458293
    and
    https://github.com/triplea-game/triplea/issues/3506#issuecomment-410941697
    and
    https://github.com/triplea-game/triplea/issues/3506#issuecomment-410958133
    and
    https://github.com/triplea-game/triplea/issues/3506#issuecomment-410966284

    Possible scenario:
    During purchase units phase the player intentionally buys 2 units more than can be placed.
    The engine issues an overbuy warning, that is ignored.
    After the turn the opponents notice the refund for 2 units.
    After laying out the rules to him the overbuying player argues: "I intended to capture a factory where I could have placed those units but that plan failed. I ignored the warning because during Purchase Unit Phase the engine cannot know about my plan. Sorry, I did not know about the rule that I could not use that factory during the turn it was captured! Man, that was an unintended overpurchase!"

    Happy arguing now - after the turn is over. This might not or at least should not happen with experienced players, I agree. But this rule issue still occurs ...

    That exactly what I meant. In my opinion, that player should lose the game for intentionally overbuying, as he skipped a warning telling that he was overbuying. If you believe that something in the programs is working wrong, you should stop your game and sort the matter out, possibly filing a bug report, then skip the warning if it gets sorted out that the program is bugged. That to me equals someone that edits something without asking permission or even telling anything, because he misunderstood a rule that the engine was implementing correctly. That is an incorrect behaviour, otherwise everyone would be free to make edits without telling all the time. Or it equals at someone going on playing while the opponent is yelling at him that his purchase was illegal, without bothering discussing the matter (as per what krieghund said, this would be pretty much the only case in which you can be sure the overbuy is intentional).


  • Moderators Admin

    @Cernel As I said: "as long as the warning is always correct". That means that if all players have agreed beforehand that they realize in a game the TripleA warning is not always correct (like in Napoleonic Empires), then everyone is free to skip the warning, but they need to say something like "hey, this game gives wrong warning, let's just ignore them", and everyone agrees. This is also the reason why I personally think that the warning should be disabled in all games in which it is known it doesn't always work. For example, I made veqryn disable it in 270BC, and I would have surely done the same for Napoleonic Empires too, or an official mention in notes in which it says that in this game you are free to ignore the overbuy warning (and maybe just saying that you are free to intentionally overbuying, to make sure there can be no issues; it is a custom game after all, so whatever).


  • Moderators Admin

    @Cernel To be clear, in general, I believe that every time you skip a warning (also for aircrafts crashing) or edit you take upon yourself the full responsibility of that action that, if proved wrong, implies that you have intentionally made an illegal move (otherwise nothing at all is illegal, as everyone could always say he didn't intend to). If you are not sure, you should stop and discuss the matter (with a judge, if you are in a tournament or such), before skipping or editing on your own.


  • Moderators Admin

    @Cernel
    I see what you mean and I think we don't have a big dissent here at least regarding the consequences. I am not very happy with that FAQ-aspect that introduced the rule "You may only purchase as many units as you will have the ability to mobilize after making repairs to any damaged industrial complexes. The rules for returning excess units are intended only for inadvertent over-purchasing."
    While the first sentence is a clear "law" the second sentence opens room for discussing the "human factor". Representing the latter in the TripleA engine appears to be pointless, IMHO.


  • Moderators Admin

    The list has been updated to include the NCM-movement regression (issue 7350).


  • Admin

    @Panther the list is the same as what is returned by this link? https://github.com/triplea-game/triplea/labels/Impact%3A Bad Game Rules

    Just want to be sure that we have everything properly labelled.


  • Moderators Admin

    @LaFayette
    Not in every case. I have compared the lists and identified the following differences:

    • The above list contains issus # 1645, 1867 and 5195. Those issues have been closed on Github despite they have not been resolved.

    • Above issue # 6256 is not labelled as "Impact: Bad Game Rules" on Github.

    • Above issues # 3846 and # 4480 have been partly resolved and thus closed on Github, but there are tasks remaining.

    • Issue # 4107 on Github is not part of the above list, as it is not affecting core vx-rules.

    • Issue # 4649 on Github is not part of the above list, because the mentioned error has occurred here and there in the past independently from any ruleset.

    • Issue # 6032 on Github is not part of the above list as it is not an issue of rules gameplay but of a consequence of special editing, incorrectly handled by the engine.


Log in to reply