-
-
Notifications
You must be signed in to change notification settings - Fork 391
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
Don't let heroes reuse the Stone Liths and Whirlpools while standing on them #9661
base: master
Are you sure you want to change the base?
Don't let heroes reuse the Stone Liths and Whirlpools while standing on them #9661
Conversation
Hi @oleg-derevenetz , could you please create a separate pull request with your fixes for Code Checker since we have other PRs that have similar issues? |
@oleg-derevenetz , alternatively I can disable a mandatory check for PR gates using Code Checker for now. |
Hi @ihhub
These are experimental approaches I tried to fix the CodeChecker issue. I'll open a separate PR as soon as I settle this. |
1648dca
to
43e88e5
Compare
43e88e5
to
0bababb
Compare
I've added other reviewers to gather their opinion about this change. |
Hello everyone! The ability to use the space bar does not break the map logic (instead of pressing the space bar you can do save and many "load and use portal" - that how it works in the original game). So technically this change will not drastically change the gameplay but sometimes this can make using many portals more annoying for a player who really wants to move their hero to a specific location. If the community votes for this change then so be it, but I vote for keeping the master branch logic. ... and as a compromise the space bar reuse option can be disabled for Expert and Impossible difficulties and not only for portals (if you visit a dwelling at the 7th day and buy some troops and wants to stay for the next day on these difficulties you'll need to re-enter the dwelling without using the space bar, like in the original game). |
Greetings fellow collaborators. I agree and approve of this PR. However, the main issue I see with this is that currently players have started to make maps in the new It is therefore obvious that we need, and players/map makers want, a portal which allows for selection of an exit, and both this and the original portals can exist together. |
That's what I'm talking about :) It's not so easy to make such a change now, when everyone is already used to this HoMM3-style mechanics. Technically, it's nothing especially complicated, but from a psychological point of view, there is a lot of resistance to preserving the mechanics of the original HoMM2. |
It's not entirely clear to me exactly how this will work. What if some of the exits of this portal are in the fog of war, how are they supposed to be chosen? Or is it assumed that they highlight themselves (and perhaps some small area around them) for all players immediately from the beginning of the game? As far as I know, there are no similar mechanics in any (at least popular) game from the HoMM series. |
If we want to position this PR as a restoration of the original HoMM2 game mechanics then we should consider fully removing the reuse ability for heroes. @oleg-derevenetz, @zenseii, @ihhub what do you think? |
In fact, this PR is just a implementation of this proposal from @modo-lv. I decided to implement it and thereby initiate the discussion, because once again there were those who were dissatisfied with the current consensus between human player's UX improvements and following the logic of the original game. |
Hello everyone, I support the @Districh-ru's point that the way the stone liths work in the original game brings frustration to the user. In general, I'm of the opinion that if the user can bypass certain restrictions due to the game's operating design in any way (in this case saving/reloading the game before/after an action), because this allows him to remove a frustration generated by the game, one might as well directly remove the frustration generated by adjusting the game's operating design. The way stone liths work in the original game can only be considered interesting from a player experience point of view when stone liths are not yet discovered on the adventure map (still under the fog of war). The problem that arises at this point (when the stone liths are revealed) is that their use continues to be an RPG type action when it should be a strategy game type action. It's also true that some of the game's original scenarios also make use of the random operation of stone liths, and the fact that having to leave the stone liths' position and then return to use it again consumes movement points to bring a strategic dimension to the moves while retaining an RPG feel; but in the end this only increases the time needed to complete the scenario. For the rest, the fact that the hero has to leave a location and then return to enter it again, all the while expending movement points, is frustrating and, by the same token, poor game design. Concerning the possible new types of stone liths with different functions proposed by @zenseii, I'm not in favor. Now that players are used to this enhancement to revisit a site, it's going to seem like a step backwards, bringing frustration, without a real addition to the game even if it is to function as the orinal game, as @oleg-derevenetz also points out. For the operation of stone liths, here's how it could work: With two stone liths. With three or more stone liths. Several stone liths revealed, at least one hidden by the fog of war. When all stone liths are revealed, it is no longer necessary to display the entry offering a stone lith not yet revealed. With all this in mind, moving with stone liths shouldn't consume any movement points. |
In my opinion, people came here to play HoMM2 - as they remember it. I don't think there's a real need to introduce any mechanics that have fundamental differences from the original game, especially those that will be available on original maps one way or another. If the original game has a certain balance between the strategic component and the RPG component that was developed by its creators, then we need to keep it as is as much as possible, and not arbitrarily shift it to one side "just because we can". |
Getting a bad result in combat also leads players to save/load and try again to get a better result. That's player choice -- accept the result you got or savescum to get a better one. Players using save files to avoid risks is not a reason to remove those risks from the game.
I don't agree that it's the same, as I explained in my original comment.
It also increases the risk that the enemy (AI or human player) will gain advantage. While your hero is wasting movement points trying to get to the right portal exit, their heroes can spend theirs on exploring the map, acquiring resources etc. I believe that the randomness, combined with having to move away and return, is/was a way to limit stone lith use, similar to how spell points limit teleportation spells like Dimension Door. Being able to just teleport across the map to any lith you want can be a very powerful feature in a game where movement is limited, so having some cost associated with it makes sense. I feel this was intentional by the original developers (as evidenced by maps specifically designed with this limitation in mind) and should function as in the original. Especially if it also makes human and AI gameplay rules more consistent. As for the PR itself, I think that it is crucial to have an informative message pop up when a player tries to use spacebar on a portal, letting them know that the exception is intentional. I'm not seeing that in the PR, which could make this change come across as a bug or at the very least confusing for players unaware of these discussions. P.S. Spacebar activation also didn't exist in the original HoMM 3, it was added with Armageddon's Blade expansion. I wonder if NWC developers had as much discussion as fheroes2 about portal balancing. :D |
Regarding this: the game UI already has an indication of whether you can reuse the object you are standing on or not - the image on the "continue movement" button (with the horse) serves for this purpose (because this button is used to re-visit the object on platforms that may not have the hardware keyboard - e.g. Android). Therefore, if the question concerns whether the fact that the spacebar does not work on this object is intentional or not, then the state of this button should resolve all questions of this kind. Another question is why this is intentional (i.e. the rationale). In this regard, I doubt that one or the other explanation of "why" in this case will be enough, because it will exceed the size of this discussion :) And even so, there will still be dissatisfied people, so I consider the explanation of "why" in a dialog window superfluous. As well as a dialog window that simply says "you cannot do this", which will simply duplicate the already existing information from an already existing button in the UI. |
Oh, and I'm still not opposed to making this a setting -- as a last resort, if that's what it takes. @oleg-derevenetz explained why he's against it, and I completely agree that having a bunch of game mechanic variations is a bad idea, but maybe a rare exception could be justified for this, if a consensus can't be reached. As long as it is made very clear in the code and everywhere else that it is not done casually just because someone asked, but only for a controversial, long-debated issue where the original mechanics and those who prefer them directly and irreconcilably conflict with those who prefer the modernization. |
In general you're right, I'm just thinking about the fact that players are used to the spacebar teleportation. If this PR goes through and the portal "spacing" stops working, it might lead to a bunch of superfluous bug reports, Discord questions, etc. A popup saying something like "you must step away from the liths and gather your scattered mind to be able to use them again" would leave zero doubt about the intentionality of the change. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If Mozart wrote that a part of a composition had to be repeated/played twice then that was his intention, if someone doesn't like that then they can simply find something else to listen to.
In a similar vein, you have the map Alteris 2, which puts a bunch of portals with the intent to slow you and the enemy down. I don't like this design choice so I always delete this map from my maps folder and move on.
I have an impression that there will be a lot of "Discord questions, etc" in any case - "but why???". And to explain this "why" is not an easy task at all, there always will be dissatisfied people. |
The "why"s will need links to discussions, yeah, there's no way to explain something that meta in-game. It just seems like a flavor text popup could help with transitioning to a new behavior process for players (and also for new players, who know/discover the spacebar first, and then think they've encountered a bug when they get to a portal). But of course it's not functionally necessary. |
We need to solve 2 problems:
In any case some players is going to be dissatisfied so we need to make a weighted decision based on the above factors. |
Or we can just keep the current consensus as is: AI is not allowed to re-use the Stone Liths and Whirlpools (allowing the AI to re-use them in fact means that AI will be able to teleport directly to a desired position, which will break the random nature of teleports itself as well as maps that are designed based on it), but human players are allowed to re-use them. In other words, we don't have to make any changes and just ignore the relevant complaints as well as suggestions for improvements that violate this consensus. |
The reuse ability is not present in HoMM2 gameplay, it is a fact. All other action objects differs from the portals and there might be also two situations: So not only the portal interaction currently differs with the original game. And if we want to retain the original logic we should do it for all action objects not to have a mess: these objects act like in original game ant these are not. But currently in fheroes2 a player can use on not use the "reuse" ability. The engine does not force him to reuse portal or any other action object and does not restricts him to move out from the action object and revisit it again. So it all depends on the player - what type of the gameplay he will use. But when we will start implementing the multiplayer we should discuss it once more or even make some multiplayer rules because players would like to play a multiplayer game using the original game rules and the will want all the players in this game to follow the rules. I don't like this PR because it does not make fheroes2 to fully follow the classic interaction with the map objects and for non-scouting portal use it will bring almost no change to the gameplay, but make it a little annoying. This is only mine point of view and I respect the point of view of other people posted here. Also I'd like to mention that #9638 will not be closed by this PR. The AI will still stuck in the case described in the issue. |
#9638 assumes that AI hero can re-use the portal to teleport to other portals, but in fact it's not really the case. This is certainly not a "bug" and I'm not sure that it's even an "issue". At best, this can be classified as a "request for improvement", effectively suggesting that the AI should attack the guards, even if the AI hero's defeat is inevitable. In any case, this has nothing to do with the mechanics of the game as such. |
I was thinking the same that the only way to solve this AI stuck and portal block is to force AI to attack the monsters. And if we keep the reuse ability then we could allow AI to use it once only in that case. |
@Districh-ru @zenseii BTW we can perform "whitelisting" instead of "blacklisting" - only allow re-use of certain objects that cannot be abused one way or another. If done this way, then what kind of objects could it be? |
Hello @ihhub,
I think users who don't use a keyboard can use the dedicated GUI button, yes? Taking these constraints into account, I think it's preferable to allow the use of the dedicated button and the space bar to revisit a site, and to allow the AI to directly select the stone liths and whirlpool destination (which the human player can also do, albeit in a less than optimal way (re-use of the dedicated button or space bar instead of direct selection from a list)). |
If the developers of the original HoMM2 had wanted just such a mechanic, they would have implemented it, and would not have made moving through Stone Liths and Whirlpools random, somewhat dangerous and consuming movement points. Anyway, it's part of the design of the original game, whether someone likes it or not, and it just so happens that there are maps that rely on just such mechanics. |
Personally, I think whirlpools should not be possible to traverse with the spacebar trick for neither human nor AI. Losing troops is a important aspect of them. From the original NWC designers' point of view, this requirement of having to go out and into it again, or move within it for Heroes 2, for the whirlpools was kept for both the third and the fourth game, so the intent is very clear. I should also mention that the community suggested that we make the portals work by not making you arrive at the same portal before every other portal in the network has been visited. I guess the portals in this sense would be like a set where the order of which you cycle through them isn't fixed, but you won't be stuck in a loop going back and forth between the same portals. IIrc, the community said that this change was introduced in some update to hota. This would obviously be yet another deviation from the original behavior of the portals. |
I'm not sure which objects this would be. I'm fine with re-visiting all other objects than liths and whirlpools. For castles I use the re-visit key on Android quite often because it's more convenient than trying to click twice on the castle if the castle list is long. The way I see it, the removal of the movement point penalty aspect for re-visiting is valid for all adventure map objects (windmills, trading posts, dwellings etc.), but the additional loss of randomness aspect upon re-visit is unique to liths and portals. |
OK, we have at least one case which I suppose even @Districh-ru won't argue about :) |
Hello everyone, The choice adopted should take into account the satisfaction of as many types of player as possible. The random operation of stone liths and whirlpools in the original game can be circumvented with a save/reload action before/after the action to be taken. From my point of view, this action of saving before an in-game action stems from a less-than-optimal design, since certain types of player feel the need to perform it. And the fact that the player or the AI can thus improve its movements during the game won't make it win the game at the same time. Edit; As I wrote above, the randomness of stone liths is interesting at the start of the game, during the adventure map discovery phase. |
Not knowing enemy hero skills, magic and exact unit counts (big difference between 20 and 49 "lots of" Cyclops) before combat can also be circumvented with a save/reload action (and many players feel the need to save before battles). Does that mean it is less-than-optimal design, and full exact information about the enemy hero should be visible before deciding to battle?
Yes, paying for things you need is a constraint, it's part of the game balance. Troops cost resources, spells cost MP and liths cost movement points. Teleportation can be a huge advantage that saves days or even weeks of travel time (that's why every Door and Portal spell is level 4+, costs 10 MP and also needs movements points), and static locations + randomness + movement loss is the price. (Personally, I feel like the cost should be more -- MP, units or severely reduced movement next day, but this is primarily a recreation of a game, not an expansion, so we should keep to the original.) |
Hello @modo-lv,
There are “tools” provided in the game to solve what you describe, spells, artifacts, etc., etc., etc., and this is a good design, while the constraint of the randomness of the stone liths' operation remains present throughout the game. |
@oleg-derevenetz, many action objects can be whitelisted: Castles/Towns, Oracle, Hill Fort, luck/morale power-ups, Arena, ... IMHO in the blacklist there should be:
It is a quick list and it can be discussed. :) |
Hello @Districh-ru,
What will this bring to the game? |
By the way, what if, when hero visits a dwelling, there is no room in his army or not enough money to hire the desired number of troops? IIRC in the original game he will need to re-visit the dwelling (and spend the movement points) after dismissing some troops or trading at the marketplace. |
I disagree with blacklisting anything other than portals. Their randomness is what makes the movement cost matter. It's essentially gambling -- spend some movement points to try and win a lot more (by avoiding long travel times). Without such unpredictability, having an activation cost serves no mechanical/strategic purpose. |
Hello @LeHerosInconnu, I just gave a list of objects that from mine point of view might have different interaction results (spending the move points) between the original game and fheroes2. I typed dwellings because one-two times I had a case: to get creatures from the dwelling in the first day and to run away from a strong enemy to a castle. Without the reuse ability the enemy would overtake me. So first of all we should decide do we want to strictly follow the rules of the original game?
@modo-lv, you are right that it is applicable to any other action and after loosing a battle a player can always reload the game and try as many as he wants. But the battle is a more complicated action then entering a portal and a portal relies only on a random generator. Randomizing is a part of the game and it makes the game replayable. But (maybe sadly) this the only action while the battle is a sequence of random actions. If a player wants a challenge then the original portal mechanic will give him this challenge, I agree. These players will not play on easy skill. But other players may want to reuse the portals. So as a compromise we can also consider not to blacklist portals for easy and maybe normal skills. |
I understand your point of view, but the rules have to be simple to understand and to use in the game. |
I don't want to create additional noise, so I'll try to be concise. This PR certainly solves the problem of the equality. Meanwhile the logic of the game and the AI behavior are gigantic topics and should probably be splitted and debated separately. I don’t think mixing different, albeit related, topics helps to move forward. So let’s temporarily drop it. |
close #7139
close #9638 (sort of)
Related to #5625 and #9578
Technically this PR seems to work just fine, but I suppose there will be some dissatisfied people who are used to the HoMM3-style mechanics of portals.
fheroes2.engine.version_.1.1.6.2025-03-20.21-11-47.mp4