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.73k stars 377 forks source link

Allied AI perks should be reduced on higher difficulties #8254

Closed Branikolog closed 4 months ago

Branikolog commented 10 months ago

Preliminary checks

Describe the problem requiring a solution

Currently, AI players that are allied to human player have all same perks, the opponent AI has. Playing on higher difficulty means that not only a human has to overcome difficulties, but his allies too.

On the screenshots below we can see that allied AI has extended scouting on impossible difficulty: image

image

Describe the possible solution

All allied AI's should have perks based on reversed difficulty level selected by human. On easy difficulty allies should have maximal perks and on "Impossible" - minimal.

Additional info

No response

kitovyj commented 10 months ago

I would prefer allied AI not have any disabilities in comparison to human player. Not having advantages is ok, but please don't make it dumb. I like to play with allies on imposible and if allied AI is dumb it's not that funny anymore.

ihhub commented 10 months ago

Hi @kitovyj , this issue is not related to perks, not behavior.

ihhub commented 10 months ago

I suggest to gather the opinion of other members.

@oleg-derevenetz , @zenseii , @idshibanov and @Districh-ru , what do you think about this change? Is it going to be game breaking? Or is it fair to make such a change?

oleg-derevenetz commented 10 months ago

Well, I don't know really, but I suspect that in this case on higher difficulties allies can become a burden instead of being helpers, so enemy allies will defeat your allies first and then they will have an overwhelming advantage in terms of castles (i.e. army) and economy, and you just will not be able to do anything with this because you cannot control your AI allies.

Branikolog commented 10 months ago

@oleg-derevenetz It's a reasonable point.

But on the other hand human player get benefits with the extended scouting of allied AI players (watching more revealed territories). After all, expert and impossible modes are not expected to be easy so players shouldn't count on their AI allies. :)

Districh-ru commented 10 months ago

Then we can modify only the scouting range for allied AI to correspond the player scouting range. So there will be no benefit for the player, but allied AI will have all other skills like enemy AI. Also after #8256 AI will rarely attack other AI so allied AI will have less battles with enemy AIs leaving them to the player, if I'm not wrong. :)

zenseii commented 10 months ago

what do you think about this change? Is it going to be game breaking? Or is it fair to make such a change?

What @oleg-derevenetz pointed out is what I would be most afraid of regarding such a change:

but I suspect that in this case on higher difficulties allies can become a burden instead of being helpers

I've played too many games where having a bad AI on your team ruins the experience. The perks that the AI currently has are to compensate for shortcomings, and those shortcomings are present both for enemy and allied AIs.

I do agree with @Districh-ru's solution of reducing the scouting range of the allied AI heroes, if only just to not make it so obvious for human players that the AI has this perk.

oleg-derevenetz commented 10 months ago

We can also try to remove this AI scouting bonus completely, because, IIRC, this is the bonus from OG, and it was introduced for OG AI, which behave differently from our AI. In addition, this will not lead to a skew between the capabilities of the allied AI and the enemy AI.

Branikolog commented 10 months ago

@oleg-derevenetz Doesn't the original AI had the whole map revealed?

@zenseii

I've played too many games where having a bad AI on your team ruins the experience. The perks that the AI currently has are to compensate for shortcomings, and those shortcomings are present both for enemy and allied AIs.

In the original game players were always abusing allies by killing them, so weaker allies will make higher difficulites more challenging, as enemies will make the work original game players are used to do. ;)

oleg-derevenetz commented 10 months ago

Doesn't the original AI had the whole map revealed?

I'm not 100% sure about that. Anyway, this bonus was added to fheroes2 long ago, maybe even by previous team, when AI was nowhere near the current AI.

zenseii commented 10 months ago

I'm not 100% sure about that.

From my experience the OG AI will usually spend the first few days as if it doesn't have the whole map explored and then boom! all of a sudden it will have the whole map revealed. In other words it seems like a scripted event that reveals the map after x days.

I remember in Heroes 4 giving the AI the whole map revealed was a change they didn't have in the 1.0 version of the game, but they added it with a patch, probably due to player feedback about a too weak AI.

Anyway, this bonus was added to fheroes2 long ago, maybe even by previous team, when AI was nowhere near the current AI.

The scouting bonus was indeed added by the previous team in maps.cpp as you can see from the initial commit: https://github.com/ihhub/fheroes2/commit/81da835ba4f0403ae8c41c61cace46f69de8b6d2#

image

It was later fixed by us here: https://github.com/ihhub/fheroes2/pull/2033