-
-
Notifications
You must be signed in to change notification settings - Fork 368
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
Combat screen, disposition of troops is not maintained when a hero is attacked in a castle and the garrisoned troops are transferred to the hero's army #6740
Comments
IIRC there was a requirement "to automatically reinforce the hero's army by the best available troops" and this requirement is in some contradiction with the requirement "to maintain the order of troops". Suppose that we have 4 Titans in the garrison (each in a separate stack) and one Phoenix, and we want to reinforce the hero with one stack of Peasants. If we want to maintain the order of Titans (one Titan per slot), then we will not get Phoenix, because Titans are stronger, so they have the higher priority and they will occupy all available free slots in the hero's army. |
Hello @oleg-derevenetz,
This was done to bring back the way the original game worked and to improve it a bit: #1312, #1313. :) |
Yes, but how about the situation when there is no slots for all the garrison troops in the hero's army, like I described in my previous message here? Could you please describe an algorithm which would suit all situations, especially ambiguous ones? What would we prefer - break the order of Titans or have an additional Phoenix? |
The player has to organize his troops in such a way that the desired garrisoned troops join the hero's army in case of an attack. It worked fine in a previous version, why was it changed? |
This is not an answer to my question at all. In my question a hero has 4 free slots, how exactly 4 Titans and 1 Phoenix should join him?
It was changed exactly in that PR that closed the #6076 to squeeze as much of most powerful garrison troops in the hero's army as possible. The order of defending hero's own troops is not changed, just as required in #6076, they are not squeezed, and I don't see how exactly that issue answers my question regarding Titans and Phoenix. |
I was writing the answer. :D Here it is: Edit: |
OK, so we should retain the order of Titans from my example and do not join the garrison's Phoenix, even if we could if we squeeze the garrison's Titans into a single stack, right? |
@LeHerosInconnu in your examples the value of troops didn't taken into account. Titans have higher value, so there will be no room for Phoenix in any case, right? Or we should not take into account the strength/value of garrison's troops, but only the order of them? Currently it is taken into account. |
Only the order must be taken into account. |
In #6076 there was a proposal to join the strongest troops from the garrison, literally. There is a contradiction. Hi @Branikolog @ihhub @zenseii @Districh-ru what is your opinion regarding this? Doesn't it look like a micromanagement and won't it cause the whining like "I lost my castle because strongest troops from the garrison were not joined to the hero's army, although they could"? |
Here is my point: Edit: 2023-03-01.15-27-13.mp4In fheroes2: 2023-03-01.15-25-20.mp4 |
Yes, that's right, it's part of that enhancement: #1313. :) |
Hi, @oleg-derevenetz and @LeHerosInconnu ! |
Hello @Branikolog,
Yes, the disposition of the troops in the hero's army is never changed. |
Hi, @LeHerosInconnu
What about the cases (second pair of screenshots from your message above), when you want to save a few titans knowing, that AI would demolish them with strong magic? With your proposed logic, all titans would be stacked in your defending army. |
Hi @Branikolog
While @LeHerosInconnu's proposal differs from the OG behavior just in few details, this proposal differs cardinally, which may be totally unexpected for former OG players. |
Well... Cardinally... Cannot say it is really that much... 😅 But the logic kindly proposed by @LeHerosInconnu has one flaw (in my personal opinion). It has no sense: player woudn't get more movement points on the next turn. So why can't he place all troops (centaurs in my particular example) in the way he want them to appear in battle, since they are already in his army?
I'm not strictly against the @LeHerosInconnu 's proposal, I just think there exists more simple and demonstrative solution. P.S. Sorry for such a huge message. :) |
What you are proposing is literally "only those stacks that occupy the same position in the hero's army and in the garrison can be combined". The problem here is that this mechanic is not present in any of the popular games of the HoMM series. For example, in HoTA the logic is the same: turns into i.e. Griffins reinforce the hero's army anyway, despite the fact that the corresponding (2nd) slot in the hero's army is already occupied. IIRC in HoMM V mechanics is the same. That's what HoMM players expect in general, this is what they are used to and the behavior they are counting on. The introduction of radically different mechanics can be inconvenient and certainly at least raise questions. |
BTW in HoTA value of a unit is taken into account when choosing a priority for reinforcement, i.e. this: is turned into this: Champions are the most powerful units, so they are primarily considered for reinforcement, despite the fact that they are the last in order. Then go the Zealots (level 5) and then there is no space left for Crusaders (level 4), i.e. everything works just like it works now in fheroes2. And that's how most of HoMM ordinary players expect this to work in fheroes2, because that's how it works everywhere. |
@oleg-derevenetz At your last screenshot what's the point of having 2 champions and 3 zealots in different stacks? I can combine and place them above 6th and 7th slots and be sure, I'd have them in battle. Or place Crusaders there leving champions and zealots above the busy slots and leaving them out of battle. Isn't it more convenient? |
So, I consider this as a huge improvement in army arrangement logic. It's demonstrative and allows me 100% control the result army disposition. |
I reconsidering this issue as a request for improvement, because it seems that the logic currently implemented is in fact the "correct" one in the sense that it matches the logic of HoMM series games. |
The last case @oleg-derevenetz showed on screenshots, in my personal point is an example of complex and non-intuitive logic. Why were crusaders placed into the central slot? Why were archers combined in that way? What if we had champions and some comparable troop? Who would be placed higher in those two free slots? No matter what player would be doing, he can't change those troops arrangement, that would be transferred from garrison to hero army up to the next battle (with the prioritization by creature strength). Unless he deletes stronger troops for sure. I was always struggling in H3 with castle defending troops disposition. Even pro players sometimes make mistakes here and prefer deleting everything unwanted, rather than risking of bad disposition made by algorithms or lower morale due to some unwanted troops joined the battle. Here's one more point for not auto combining garrison troops with hero army: Sorry for being so annoying here. :) |
I'm proposing not to merge same type creatures at all. Only move troops directly downwards into free slots in hero army. That's the point. Simple, demonstrative, making the outcome 100% predictable and providing more tactical possibilities. |
And the behavior "not to merge anything" is even further from the original game. |
I understand the reasoning. This exact case requires several things to happen at once:
So, yes this could happen, but the question is how often would it happen. Yes, this is obviously a conscious choice to not have all magi in the battle because if not then they would just be in the hero army and not the garrison before getting attacked. |
Sorry for that. :) Hi, @zenseii !
True, but with my proposal we can do this while with auto-merging - we cannot. And again, it's not really obvious to the majority of players, which stack of the hero army will be reinforced from the garrison with this logic. |
Then we need an opinion from @LeHerosInconnu. |
Hello everyone,
This functionality is certainly also applied to the AI when one of its heroes is attacked in a castle with garrisoned troops? If this is changed, a specific operation will be needed so that the AI is not penalized. The @Branikolog modification proposal (the disposition of the troops in the hero's army is never changed, only free slots are filled), although interesting (I would eventually agree for this mode of operation, but only for the human player), will not be able to cover all cases (including those already exposed by @zenseii). A solution could be to keep the current modified operation for the AI and for the human player, AND to allow the human player to decide for each garrisoned troop if it should join the hero's army in case of an attack. This could be done by adding, for example, a small on/off icon on the graphic of each garrisoned troop that allows or not that troop to join the hero's army in case of an attack. But I can already see an outcry appearing: :D I had already thought about this problem and there will be a solution to this in my mod, the troops to be kept can be transferred to the hero and/or garrison extended inventories: #2995. But you will tell me that these are too radical changes compared to the original game. 👀 👓 :D |
Yes, there is no difference.
And, in addition to all of the above, all these "small on/off icons" are completely inconvenient on smaller touch screens - for example, on Android phones or game consoles. |
Hello @oleg-derevenetz,
Yes, for the touch screens I had thought of another way of working, for example, by "clicking" on the graphic of a troop it opens a window with several different big buttons allowing different actions. |
Not particularly elegant. It looks like clogging up the original rather convenient, intuitive and elegant UI with extra windows. Many games developed by amateurs who do not have a game designer in the team suffer from the overcomplicated UI. Yes, having too much choice can sometimes be bad. |
I'm trying to find a solution for GUIs that are limited by their use. |
Maybe this functionality just doesn't need to be added?
It depends on touchscreen. Some touchscreens allow basic gestures or, say, distinguish the force of pressing, but I wouldn't use it unless absolutely necessary. It may turn out to be non-portable. |
Yes, we can
Okay, I see, there are possibilities but not everything is standard. |
What we can do for now: For the AI: For the human player: |
Hi, @LeHerosInconnu, I'm sure you said this jokingly, but it's probably best if we avoid such strong language. This discussion is starting to derail a bit and all points that can be made, have been made. We should just make a decision on the question: Should the same type of troops be transferred to the hero army right before a siege or should they not. I think they shouldn't. |
Hello @zenseii,
Yes, it was a joke, maybe a little rough it is true, but I didn't find how to write it in a more "correct" but still "pictorial" way in English.
Personally, for the human player, to take into account the majority of cases, I think that garrisoned troops are never transferred could be the default operation (with or without option). For the AI player, I think we should make it better as explained above. |
This will certainly break the "speed up" logic that is commonly used by players. |
The player will have to choose between hero speed and castle defense. Or else, the default could be: |
Hello everybody!
I agree with @zenseii. But for AI player we might help him to reorganize troops for castle defense. The logic initially proposed by @LeHerosInconnu mostly suits for this case. But we will have different logic for human and AI player defense, which will confuse the players. We could also on hero visit reorganize the castle troops by adding them to the same troops of hero's army and place others above the free stacks of hero's army. And use the same logic as for human player. And when leaving the castle the troops might be returned back to the castle (and this is a different part of the logic :) ). |
Hello @Districh-ru,
The @Branikolog proposal has been implemented: #6741. |
I'm also curious, if AI will considers only the army of a defending hero. I hope he doesn't consider those troops, who are in garrison, but won't join the battle in a case of siege. |
No.
For AI, the logic is the same as the default logic in OG and other games of HoMM series - troops will be moved from the garrison (most powerful stacks first), and also stacks will be merged if necessary - both in garrison and in the hero's army. |
Hi, @oleg-derevenetz ! |
@Branikolog No, it doesn't work this way. The estimation of castle garrison strength is performed as-if the castle would be actually attacked, and temporary fake army is created for the guest hero (if any) and then the garrison joins this army using general rules for this hero (and these rules depend on whether this hero is controlled by a human or AI), and then the strength of a resulting combined army is used. |
Glad to hear that everything is ok! |
@Branikolog AI is scared to attack castles because it should have significant advantage over castle troops, and also there are coefficients that increase the castle troops' strength if castle has towers and moat. |
Preliminary checks
Platform
Windows
Describe the bug
In fheroes2, the disposition of troops is not maintained when a hero is attacked in a castle and the garrisoned troops are transferred to the hero's army.
All troops of the same type are combined into one troop.
This worked properly before.
In fheroes2:
Save file
Here is the save file (just end the turn):
Auto troop broken 01.zip
Additional info
No response
The text was updated successfully, but these errors were encountered: