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.6k stars 365 forks source link

Adventure map, Multiplayer mode, add an option for instant combat when a combat involves human players #4637

Open LeHerosInconnu opened 2 years ago

LeHerosInconnu commented 2 years ago

Preliminary checks

Platform

Windows

Describe the bug

In fheroes2, instant combat should not be activated when a hero attacks another hero in multiplayer mode.

In fheroes2:

https://user-images.githubusercontent.com/43583994/141685719-dac48d29-418d-4b1f-a544-fe12805660c0.mp4

Here is the test scenario file: 0 9951.zip

Also, if the green player attacks first, the message of the instant battle is intended for the blue player (the winner).

Edit 2021/11/15.

In fheroes2, to preserve the way Heroes 2 works (and the susceptibility of some players), all combats that involve two human players (heroes, castles, resource generators with guards, etc.) should not trigger the instant combat.

It should be an option that is disabled by default: "multiplayer: enable instant combat for combats between human players"

Save file

Here is the save file (multiplayer): Before attack multiplayer 01.zip

Additional info

No response

a1exsh commented 2 years ago

In fheroes2, instant combat should not be activated when a hero attacks another hero in multiplayer mode.

Why not? Do you think the defeated player will always insist on replaying the battle?

LeHerosInconnu commented 2 years ago

Hello @a1exsh,

In fheroes2, instant combat should not be activated when a hero attacks another hero in multiplayer mode.

Why not? Do you think the defeated player will always insist on replaying the battle?

We can see that you are not familiar with the behavior of some players in multiplayer. :D

In the presented case, the player controlling the attacked hero might have the Blind spell or other spells, and the combat might have another outcome. The player controlling the attacked hero may also want to cast a damage spell before retreating his hero. And so on. What if you were the one controlling the attacked hero? :D

oleg-derevenetz commented 2 years ago

Let's treat this as an suggestion for improvement so far, because OG doesn't have the instant combat at all. I think that (at least in hotseat mode) this is acceptable, because the losing side may agree to the outcome of the auto combat, if this hero is expendable for him.

a1exsh commented 2 years ago

@LeHerosInconnu

We can see that you are not familiar with the behavior of some players in multiplayer. :D

That's exactly my point: why should we change the game behavior for all players just because some like it differently?.. :)

It shouldn't be an issue to just click the Restart button after the auto-resolved battle (unless that provokes a fight for the keyboard/mouse ;).

I can also imagine playing a game where the parties agree beforehand to auto-resolve every battle, including the ones between the human players, as a form of additional challenge. This actually makes me think of an extra option for the auto-resolve mode: auto-resolve always, no restart offered. :D

LeHerosInconnu commented 2 years ago

Hello @oleg-derevenetz and @a1exsh,

Let's treat this as an suggestion for improvement so far, because OG doesn't have the instant combat at all. I think that (at least in hotseat mode) this is acceptable, because the losing side may agree to the outcome of the auto combat, if this hero is expendable for him.

@LeHerosInconnu

We can see that you are not familiar with the behavior of some players in multiplayer. :D

That's exactly my point: why should we change the game behavior for all players just because some like it differently?.. :)

It shouldn't be an issue to just click the Restart button after the auto-resolved battle (unless that provokes a fight for the keyboard/mouse ;).

I can also imagine playing a game where the parties agree beforehand to auto-resolve every battle, including the ones between the human players, as a form of additional challenge. This actually makes me think of an extra option for the auto-resolve mode: auto-resolve always, no restart offered. :D

Precisely, to preserve the way Heroes 2 works (and the susceptibility of some players), all combats that involve two human players (heroes, castles, resource generators with guards, etc.) should not trigger the instant combat.

It should be a setting that is disabled by default: "multiplayer: enable instant combat for combats between human players"

I changed the title of this issue to: "Adventure map, Multiplayer mode, add an option for instant combat when a combat involves human players". This issue can be moved to "Discussions" if necessary.

Branikolog commented 2 years ago

Hello all! I agree with @LeHerosInconnu, instant battles shouldn't be triggered on default. There's a point for exploit this feature: Instant battles could reveal hero's special abilities or spells in auto mode, so another hero can predict the threat and flee from a battle... I think instant battles between two humans could be proceeded in really rare cases... When they're both lazy enough to check what happens during battles. There'd always be one side, which is not satisfied with an outcome. So these battles will be replayed 99.9% cases. So my opinion is to not allow human players fight in instant mode.

a1exsh commented 2 years ago

Instant battles could reveal hero's special abilities or spells in auto mode, so another hero can predict the threat and flee from a battle...

Are we talking about hot seat multiplayer or network? In hot seat there's no surprise, as both players can see everything, and network mode can not offer instant battle between human players — that should be clear.

Branikolog commented 2 years ago

Are we talking about hot seat multiplayer or network? In hot seat there's no surprise, as both players can see everything, and network mode can not offer instant battle between human players — that should be clear.

People often forbid watching games of each other during Hot Seat mode. ;)

a1exsh commented 2 years ago

People often forbid watching games of each other during Hot Seat mode. ;)

No way. How much fun is that — not being able to laugh when your opponent builds mage guild level 2 and gets no lightning spell again? 😂