ihhub / fheroes2

fheroes2 is a recreation of Heroes of Might and Magic II game engine.
https://ihhub.github.io/fheroes2/
GNU General Public License v2.0
2.58k stars 359 forks source link

Some issue related to win/loss condidions #7128

Open Arthusppp opened 1 year ago

Arthusppp commented 1 year ago

Preliminary checks

Platform

Windows

Describe the bug

I believe there is some problem with win/loss conditions. This is rather minor thing, as the given situanion is far from a real one.

Starting from:

What happens: Step#1: I can see the Defeat screen - so far, it is ok Step#2: the game continues, I can see that the Red player has been vanquished Step#3: the game continues, I can see that the Yellow player has been vanquished! Step#4: as enemy was beaten (!), my side won!!

In my opinion, the game should end by human defeat. I should not see steps 2-4.

image image image image image

A second question: not directly related to this issue: how precisely count seven days without a town or castle? I should have lost after the "Day: 7", right? As: 1st day: Day: 1 2nd day: Day 2 3rd day: Day 3 4th day: Day 4 5th day: Day 5 6th day: Day 6 7th: day: Day 7 <-- so here I was playing full week without a town/castle Today, game gives me full 8 days to play.

Save file

AUTOSAVE.zip

Additional info

No response

oleg-derevenetz commented 1 year ago

In my opinion, the game should end by human defeat. I should not see steps 2-4.

Formally, all players here are defeated at the next day (because lifetime until vanquish is measured in days, not in turns - the turn may be over, but the day is not over until the next day will come), so it should be in fact a draw, but there is no such thing as a draw in HoMM2. Now this situation is interpreted in favor of the human player (more precisely, in favor of the first human player in the turn queue): all your enemies "lose", so you sort of "win", but that's more a matter of taste, in principle, the opposite logic can be applied.

Arthusppp commented 1 year ago

because lifetime until vanquish is measured in days, not in turns - the turn may be over, but the day is not over until the next day will come

Ohhh. Meaning if I am purple, and the blue player is vanquished, then during my turn on the same day, but after blue's turn, I can still attack blue hero?

oleg-derevenetz commented 1 year ago

Ohhh. Meaning if I am purple, and the blue player is vanquished, then during my turn on the same day, but after blue's turn, I can still attack blue hero?

In current implementation - yes: the day is still not over, so blue player isn't vanquished yet. There is the same logic as with mana replenishment in castles: hero doesn't get the mana replenishment until the next day, even if his kingdom's turn is already over. I think this is a fairly logical mechanics.

oleg-derevenetz commented 1 year ago

A second question: not directly related to this issue: how precisely count seven days without a town or castle? I should have lost after the "Day: 7", right? As: 1st day: Day: 1 2nd day: Day 2 3rd day: Day 3 4th day: Day 4 5th day: Day 5 6th day: Day 6 7th: day: Day 7 <-- so here I was playing full week without a town/castle Today, game gives me full 8 days to play.

That's how it's done in the original game:

111

so "next week" will in fact count starting from 1-1-2.

121-1

and game will let you play your turn at 1-2-1 (i.e. day 8).

121-2

However, there is a difference: OG will remove your kingdom's heroes, mines, etc after the end of your turn (i.e. "in the middle" of day 8), while fheroes2 will do this after the end of the full day (and I personally think this is more correct behavior).

Arthusppp commented 1 year ago

I feel the OG has a problem here as well. If I lost last castle not 1-1-1, but later, I have seven turns to play, not eight. As per below screenshots: I lost a town during 1-1-6 turn. The first turn w/o castle is 1-1-7. I have been vanquished after 1-2-6 (so here I had 7 full days to play, not 8).

image image

oleg-derevenetz commented 1 year ago

I feel the OG has a problem here as well.

Yes, day 1-1-1 is sort of "special" both in OG and in fheroes2.