Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

No unit - except air units - should be allowed to move during both CM and NCM during the same turn (6242) #2266

Closed
panther2 opened this issue Aug 24, 2017 · 29 comments
Labels
Problem A problem, bug, defect - something to fix

Comments

@panther2
Copy link
Contributor

panther2 commented Aug 24, 2017

My Operating System:

Win 7/64

TripleA version:

1.9.0.0.6242 and 6263

Map:

WWII-Global

Can you describe how to trigger the error? (eg: what sequence of actions will recreate it?)

Move a tank one space to invade an empty enemy territory during CM. You will be able to move it back during NCM.

Any additional information that may help:

This is a follow up to #2259

In the attached savegame, the German tank combat-moves into East-Poland.
During NCM it is able to return to Poland.

This is clearly against the rules, as (at least in A&A) no unit -except air units- should be allowed to move as well during CM as NCM.

I would be happy if this could be fixed - adding @Cernelius demand for a property for not having the fix as stated in #2259 (comment).

test.zip

@panther2 panther2 changed the title No unit - other than air units - should be allowed to move as well in CM as in NCM (6242) No unit - except air units - should be allowed to move as well in CM as in NCM (6242) Aug 24, 2017
@ron-murhammer
Copy link
Member

@panther2 @Cernelius This is technically a bug when compared to strict A&A rules. I think we need to open a forum thread to get some input from folks on if there is a sizable majority that want this fixed or if there are a lot of people that don't like this rule: https://forums.triplea-game.org/topic/301/no-unit-except-air-units-should-be-allowed-to-move-as-well-in-cm-as-in-ncm

@panther2 If you know of previous threads or conversations that show lots of people wanting this fixed that would help as well.

@ron-murhammer ron-murhammer self-assigned this Aug 24, 2017
@ron-murhammer ron-murhammer added Discussion team communication thread, meant for coordination and decision making category: game engine > game rules labels Aug 24, 2017
@prastle
Copy link
Contributor

prastle commented Aug 24, 2017

It is kinda a minor point. BUT it is completely ilegal to blitz a country (1 move only) and then retreat in non combat. The real ? is how much work is it to fix this?

@Cernelius
Copy link
Contributor

I strongly hope this bug won't be fixed or, if fixed, a property be made for still having it.

@Cernelius
Copy link
Contributor

Cernelius commented Aug 25, 2017

I want to point out that at least 2 games (made by me), currently in the repository, make use of this bug of not-air units to split movement between CM and NCM, and have this special allowance notified in "Notes":

https://github.com/triplea-maps/270bc_variants/blob/master/map/games/270BC_40%25.xml
https://github.com/triplea-maps/270bc_variants/blob/master/map/games/270BC_Cernel.xml

This is what you can see in Notes:

  • It is allowed to split a unit's blitz movement between Combat Move and Non Combat Move, but Non Combat Move is still restricted to friendly (also newly conquered) territories only
  • It is allowed to load units onto an owned ship, during Combat Move, if at least one of the units in the ship (or the ship itself) is doing a combat movement, keeping the other ones as cargo, and eventually unloading them (totally, partially, or not at all) during Non Combat Move (if the ship unloaded during Combat Move, the other units can unload nowhere else but in that same territory only, during the subsequent Non Combat Move)

Both the above behaviours are against the "no-split" rule and others, but currently allowed by the engine. If they would be enforced, then those games won't work anymore as described in notes.

Of course, I realise that I can't demand bugs be kept on the ground that games made by me use them, and I'm rather asking it on the ground that the related unsupported rules are bad / nonsensical.

Also, by rules, you would not be allowed to load 2 legionaries on a quinquereme and unload only 1 of them during CM, even if you don't do anything during NCM, but that makes no sense whatsoever, as well (another nonsensical rule, not currently enforced).

My suggestion is either not to enfonce all this kind of silly stuff, let the players know the rules and follow them, if they really (!) want to, or have properties for opting out from clearly undefensibly nonsensical rules (there are absolutely no reasons at all why you are be able to load 3 legionaries on a quinquereme and unload all of them in a hostile territory but you can't, instead, load the same 3 legionaries on the same quinquereme, but unload only 1 of them on the same hostile territory, while keeping the other 2 on board; this limit is just absurd).

So, generally speaking, I believe TripleA should go more in the direction of having good rules, rather than blindly following bad rules (all problematic / silly / dumb rules should have opt-out properties, if enforced).

@prastle
Copy link
Contributor

prastle commented Aug 25, 2017

The memory of an elephant :) Agree Cer

@Cernelius
Copy link
Contributor

This is another example of why this rule is silly, by @veqryn

http://tripleadev.1671093.n2.nabble.com/Movement-during-CM-and-NCM-tp6989743p6995284.html

I still don't get it....

So it is legal to move your transport out of a hostile sea zone,
Then load units,
Then move back in,
Then unload units, BUT only for an amphibious assault, NOT for a non-amphibious assault
Then conduct combat

And that it is illegal to move your transport out of a hostile sea zone,
Then load units,
Then wait til noncombat move
Then move back into the now-cleared sea zone,
Then unload units

The consequences of this rule are the following:
If there is a sea combat required, you can not reinforce friendly territories. Instead you may only attack with an amphibious assault.

Is my understanding correct?

Seems kind of silly to be honest. If my guys can storm the beach with bullets in their face, I'm pretty sure they can storm the beach without bullets in their face....
But if it is true, I'm willing to at least try to fix it.

thx,
veqryn

I don't see much of a point in fixing silly rules just because they exist, but I guess it has a value for people being really into the traditional games; just I strongly suggest this having an opt-out property, if anyone really wants to fix it. Thanks.

Also, I'm guessing many people may prefer also playing the traditional games without using the rules that make no sense. For example, also making NCM moves during CM is illegal, but many like being able to, because it makes things easier to manage (probably many would be happy if you allow them to move the AA-Guns too, during CM).

@panther2
Copy link
Contributor Author

panther2 commented Aug 25, 2017

@ron-murhammer
Wow, this is the first time (ever) that I feel I have to justify for opening an issue and ask for a bugfix.
You and other developers have always asked and encouraged me in the past to point out as much bugs and rules inconsistencies as possible. As this issue was about to get lost in the other thread (#2259) I opened this one.

The issue discussed here is one of the most obvious rules violations possible. As it is against a major principle of unit's movement. Very little and sneaky things have been fixed in the past (what is good!).
So why the noise about this one?

I can only speak for A&A-players, and on our forum the desire for TripleA being as rules compliant as possible has always been high. Of course, maybe we are too few in numbers and thus not representative.
If others prefer other games over A&A and thus don't care or want to prevent issues from being fixed, than I am of course lost in my argumentation.

I can't estimate how much work it is to fix this or other issues, as I am no programmer. Or how much work it might be to find a solution respecting everyone's needs. And in case it's too much work, I would understand that perfectly, as I always did in the past.

And if we really want to start a discussion about "silly rules" we can put games with their rules in question generally. This leads to nothing, IMHO.

So what is going on here?

@veqryn
Copy link
Member

veqryn commented Aug 25, 2017

Please keep posting bugs panther.

It may be a silly rule (i said so myself), but our goal as always is to create a fully rules-complaint engine for all A&A versions.

The main considerations when prioritizing any bugs or work will be:

  1. How important is it? (ie: is it a game breaking bug?)
  2. How easy is it to workaround, and how much does the workaround impact the game?
  3. How difficult is it to implement a fix?

I can't remember if I ever fixed this and it has since regressed, or if it was found to be too difficult to implement 7 years ago and then prioritized lower than other more immediate things.

This bug may or may not get prioritized soon by Ron and Dan and everyone, but we should definitely track it.

At least we have a decent workaround until then (just don't do illegal moves that the engine doesn't prohibit).

@panther2
Copy link
Contributor Author

panther2 commented Aug 25, 2017

Thank you for your encouraging words, @veqryn !
Much appreciated.

...but our goal as always is to create a fully rules-complaint engine for all A&A versions.

That has always been my understanding, too.

@Cernelius
Copy link
Contributor

This bug report doesn't need to be justified. It is a correct bug report, because the rules (that I personally consider being silly to the extreme here) are clear here, and we all agreed on them, so far.

So, I also believe this should be tagged as "bug".

I don't believe anybody said this is not a bug or that it should not have been reported. If someone did, I disagree.

I know the "silly" argument is rather weak, because it is very subjective and the whole game is pretty much silly anyways, and there are several other things that I believe are silly and don't have any opt-out properties (and maybe someone else will believe they are perfectly reasonable).

However, while of course fully enforcing the "set-in-stone" rules, no matter what, is your target (and this is what it is, your decision since ever, which is fine, as here you are primarily copying stuff, before inventing new games), I still surely suggest having opt-out properties or options when the added rules are clearly going in the direction of making the game less sensible. I think, in this case, it is pretty objective that nobody can explain or justify why this rule exists, besides only for making the game moves easier to track.

I mean like a property "can you split land or sea moves between different movement phases" Y/N (while always Y for air only).

This is one of the two major matters never enforced in TripleA that, if enforced, will create all of a series of weird (I definitely believe silly) situations; the other one being that you can't do NCM during CM (that would create a bunch of strange restrictions, as well).

I want also to point out that, from past discussions mainly with ice, I'm almost sure nobody or almost nobody follows these (so far) unsupported rules, while playing custom maps. So, by supporting them, you will change the way people have always played NWO, WAW, etc. all these years.

@Cernelius
Copy link
Contributor

To be clear, my preference is this bug being fixed and a property being added for still having the split-everything behaviour (default to false, of course).

I admit it doesn't make sense to say that you prefer a bug not being fixed, and it is kind of silly discussing if to fix or not to fix bugs that everyone agrees they are bugs, but (like it or not) this would be my personal preference, if no way to not have the enforced limit. Also this is a bug that has no impact on people that know the rules, as they would just not do illegal moves that the engine doesn't prohibit.

@Cernelius
Copy link
Contributor

I can't remember if I ever fixed this and it has since regressed

You never did.

@RoiEXLab
Copy link
Member

I actually like being able to split moves between Phases (as long as all moves in CM-Phase are for combat, and all movesbin NCM-Phase are strictly non-combat, of course), but I think this should be a game specific setting like 2-hit battleship or kamikaze.

@DanVanAtta
Copy link
Member

It can be a preference for players, and in some ways the 'combat move' before 'purchase' optimizes for this. Let's say there are only 2 or 3 moves you have to do during non-combat (AA-gun). There are advantages to moving everything you can if a combat is before purchase:

  1. The board looks as much as possible like the 'placement' phase minus the moves dependent on combat. This can make reasoning about purchases much easier (and this is pretty much why phase re-ordering was introduced, maps with large purchases typically have combat first then purchase)
  2. Less likely to forget moves, if you move everything possible during combat, then all moves that depend on combat will almost always be required during non-combat. If you forget any planes then you'll get crash warnings. Sometimes you do hold back say transports to see how battles go, it is not uncommon to forget about this and end a turn early (in general players try to avoid forgetting moves as much as possible, you start losing quickly when you miss available moves).

But, it's actually bad gameplay to do this. If you make a move during combat that you could have during non-combat, you are making it without knowing how the combats turn out and so it locks you in to a scenario where you may have a sub-optimal move if the combats are not as expected. Usually players though will fight battles with known outcomes and have moves that do not depend on combats, so most of the time it's plenty okay to make non-combat moves during combat....

So, given that, what we are talking about is removing the ability to make partial moves during combat phase. I suspect it may turn out that this specific use case is perhaps rare. So we very well may be able to update the behavior, and would get some benefits:

  • would simplify the code, the current logic is pretty twisty, the 'has moved and is not air' condition is more straight forward to keep track of
  • adhere better to rules
  • simpler rules, could be slightly easier to explain than the nuances of mixed movement
  • simplify human tracking, while the computer does track which moves are valid, you only know if you actually attempt that move. If you are observing a game and it is not your turn, there is nothing to help you know what can be moved.

Since play is about equivalent either way, and one is more convenient for others, I suggest we update this and put it behind an option and preferably default it to be rule compliant. The alternatives I do not think are very feasible, if we update this it may impact players negatively if we do not then we are stuck with non-compliant and more complex rules for new players. On the other hand the option actually is the most complicated case for the code, but I think that consideration takes backseat to being rule compliant and allowing existing players to use the rules they had been.

@Cernelius
Copy link
Contributor

I've made a clear example. I'll clarify it further.

I have 1 "quinquereme" and 3 "legionaries".

In CM, I load the 3 legionaries on the quinquereme, unload 1 legionary to take an undefended Caralis, and keep the other ones on board.
In NCM, after seeing how dice went, I decide if to keep the remaining 2 legionaries on board, or unload 1 or both of them in Caralis.

The above is, in my opinion, a totally reasonable behaviour, that it is currently allowed by the engine, but it is twice against the rules because:

  1. I've made NCM movement during CM.
  2. I've (potentially) split moves between CM and NCM.

There are no reasons why the above should not be something doable, aside from obliging to rules.

And the matter is worsened, from my perspective, by the fact that if the 3 legionaries were already in the quinquereme, then you could have done all of the above, and, instead, you can't do it if you have to load them. This really makes no sense to me.

With this said, I surely agree that the rules must be followed because they are rules, no matter the personal opinion about how much intelligently devised they are, thus this bug should be corrected (sadly).

I also agree that commenting the sensibility of a rule of something that has to be cloned has no sense, as rules are rules and can only be accepted.

What I'm saying is that I personally dislike these rules (my opinion only), thus, while agreeing that sadly we have to accept the rules as they are, for the clones at least, I'm personally suggesting to have options for not having them, forcibly, for all maps. This is just my personal position, and it is practically a "feature request", but I guess I'll say it in here, since this "feature request" is nothing else but allowing keeping the current (bugged) behaviour.

I hope to have made my position clear, and I surely advice everyone reading also the forum discussion I linked, in which this same bug report was already made (tho I think nothing came out of it), with reference to a couple other cases (sub stalling and options for fleets starting in hostile sea zones):
http://tripleadev.1671093.n2.nabble.com/Movement-during-CM-and-NCM-tp6989743.html

So, let's say I agree that this bug must be corrected (sadly) and my position is to request the feature of having an option for keeping the current behaviour (of being able to split moves between CM and NCM also for not air units).

@wirkey
Copy link

wirkey commented Aug 25, 2017

just my 2 cents:
in all A&A games it is the rule that only air units can move during CM AND NCM! While I agree that this is a silly rule (at least in most cases) I think it should be fixed if it is easy to do so. But there should be an option if you want to use that rule or not.

@Cernelius
Copy link
Contributor

But, it's actually bad gameplay to do this. If you make a move during combat that you could have during non-combat, you are making it without knowing how the combats turn out and so it locks you in to a scenario where you may have a sub-optimal move if the combats are not as expected.

Not necessarily, if you are playing a game with NCM obligations. For example:

http://tripleadev.1671093.n2.nabble.com/Seig-trio-default-rules-discussion-tp7590530p7595713.html

@prastle
Copy link
Contributor

prastle commented Aug 25, 2017

SIDE NOTE i hope @RoiEXLab ideas can save all the sourceforge and warclub :) because once again we talking about same things as discussed before. pokes @ roi ex one forum and github :) either way yes it would be nice to have both as an option

@Cernelius
Copy link
Contributor

Also, I want to point out, while I'm talking about carriers, that you may have a game in which you have a carrier you want to use to take a convoy zone, during CM, and, then, use it to move to land air, during NCM, and, maybe, if the carrier moves 3 spaces or more, it can't reach the final destination, maybe needed to land, during CM, because of having to go through a blocked sea zone, that has to be cleared in combat. Thus, in this case, you may need to be able to split movement, if you want to use the carrier both for taking the convoy zone and for reaching where you want to land planes.

@DanVanAtta
Copy link
Member

Taking the convoy zone does not count as an attack? Which map are you referring to for that example?

I don't quite buy this example:

(in any case, as per normal rules, you are allowed to move a carrier during combat movement only if starting or ending movement in a hostile sea zone (to escape combat or to do combat or both); otherwise, you must wait non combat movement, to move the carrier at all)

In that case, I would say that moving carrier02 during combat to avoid it being forced to pick up figs is valid even under no-kamikaze. The figs combat move was valid because carrier01 moved, carrier02 is from then on immaterial unless it is able and needed to pick up figs during NCM.

@DanVanAtta
Copy link
Member

I'm still curious why convoy zone attacks during CM benefit vs NCM, but perhaps immaterial. It may be useful to know the cases where a partial move during CM is really needed/desired. We very well could have maps and features that rely on this rule not being enforced.

@prastle
Copy link
Contributor

prastle commented Aug 26, 2017

@DanVanAtta this will be a hard fix! but to simply answer it affects many maps. Also it is completely against the rules. It has existed for years. the simple real ? is it worth fixing or adding a button or ignoring.

Gamers that know the rules dont cheat. Sadly the only answer i can give you.

@Cernelius
Copy link
Contributor

For the convoy zone, I was just talking in theory; I've never actually played a map having both convoy zones and carriers, but it is possible. Another example is that you may want to use the ship to take a convoy zone, and then use it to transport something, during NCM. Also a question would be if a ship starting in a hostile convoy zone, because of politics, that takes it without moving, should then be able to still move during NCM or not (currently, of course, it can). The same thing can be said of a unit that starts in a hostile land territory, because of politics, and take it without moving; would that count as having moved or not? Is the unit then blocked during NCM, if it didn't move during CM, but conquered a territory without moving, even if it is maybe able to blitz?

As I said, this rule that forbids splitting CM and NCM is unnecessary (we never used it so far!) and causes all of a series of strange (imo silly) and disputable situations, thus my suggestion is to have it for the traditional games, just because they have to, because somebody invented this rule, but leave an option for not having it, so not-cloned maps can ignore that rule and all its subtle implications, plus being more friendly for gameplay.

I believe that if the carrier supposed to pick up the fighter is destroyed and you have another unmoved carrier, that it is the only unit able to pick up the surviving fighter, then you are obliged to move it to save the fighter, during NCM, but I would need someone to confirm this (but I'm sure about it). Thus, in this case, moving that carrier during CM may not be anticipating moves that you would have been able to do in the subsequent NCM phase. If this is not true, then we may have to change the WAW Notes.

@ron-murhammer
Copy link
Member

@panther2 Sorry if my original post didn't come off well. I do appreciate the bug reports and the general direction is to be as compliant as possible with the engine enforcing A&A rules. I strongly dislike "player enforced rules" from both a player and AI standpoint.

That being said the issue of moving units during both combat and noncombat has been known for a long time (way before I started even contributing to TripleA). I want to make sure I get all the history and input on what discussions have taken place over the years to understand why this hasn't ever been fixed (as its definitely been on the global 40 issues list for a long time and probably was in Sourceforge as well).

While I personally agree with fixing this as I think it makes the rules not only match A&A but also easier to understand with minimal flexibility loss, the last thing I want to do is make this change and a large majority of the community be up in arms because they had good reasons that this wasn't ever fixed. My plan is to give folks a few days to comment (preferably in the forum) on preferences and reasons for those: https://forums.triplea-game.org/topic/301/no-unit-except-air-units-should-be-allowed-to-move-as-well-in-cm-as-in-ncm. This will allow me to determine the most appropriate change to make then it will just be a matter of effort and prioritization.

@Cernelius
Copy link
Contributor

As I said, I think the two major rules that have never been enforced in TA are the limits that you can't do non combat movements during CM and the limit that you can't split movements between CM and NCM (aside from air).
For all a series of reasons, most of which I've detailed, I think both these so far unsupported limits should have opt-out properties, if implemented, because I just can't see how anybody may want to have these rules, but for the traditional games, for which they are to be followed.
Of course, having it enforced will make following these rules easier for the traditional games, but being able not having these rules at all would be even easier for other games.
Aside from this, I disagree that it is easier to understand. In the moment in which a transport with 2 infantries already on board can do more things than a transport loading 2 infantries as its first move, that is confusing, and the other main example is adding all that series of exceptions for transports starting in hostile sea zones, and there even @veqryn was confused, and took a while, talking about understanding.
The current engine behaviour is much simpler and much more intuitive and sensible but, again, I agree that this is a bug that should be fixed, but for absolutely no other reasons than these rules exist (sadly), from my perspective.

Also, and this is only a notice, don't forget about the fact that, at least currently, you have to wait NCM to unload from hostile sea zones to friendly land territories units that you may have loaded during CM.

@panther2
Copy link
Contributor Author

panther2 commented Aug 26, 2017

That's fine, @ron-murhammer.

It had been explained to me via online-chat some hours ago, that I - unintentionally - stirred up a hornets' nest with what I thought was just a simple issue concerning an obvious rules violation.
I never expected that much of reaction and certainly did not want to hurt anyone myself - I simply did what I always do here - explain rules (if needed), report bugs and ask for a fix according to what I thought was - and obviously still is - commitment (being rules compliant). 😄

@prastle
Copy link
Contributor

prastle commented Aug 26, 2017

Which is great! @panther2 🥇

@ron-murhammer ron-murhammer added Problem A problem, bug, defect - something to fix and removed Discussion team communication thread, meant for coordination and decision making labels Sep 7, 2017
@ron-murhammer ron-murhammer changed the title No unit - except air units - should be allowed to move as well in CM as in NCM (6242) No unit - except air units - should be allowed to move during both CM and NCM during the same turn (6242) Sep 10, 2017
@ron-murhammer
Copy link
Member

@panther2 The fix for this should now be in the pre-release. Please test and let me know if it resolves the problem.

@panther2
Copy link
Contributor Author

panther2 commented Sep 10, 2017

@ron-murhammer

Looks good (6555), thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Problem A problem, bug, defect - something to fix
Projects
None yet
Development

No branches or pull requests

8 participants