HDIAndrew / EFS

12 stars 0 forks source link

Difficulty level is scaling random galaxies in unexpected ways #120

Open floralpond opened 1 year ago

floralpond commented 1 year ago

Description:

This issue report was originally reported by Baron Greystone in the discord chat channel 3 months ago, but didn't seem to get much traction. However, I've recreated what I think was the scenario reported, and I think this is causing wildly unexpected behavior for the average user, and specifically causing Baron much frustration.

My understanding is that 1.5 is designed so that random galaxiess' difficulty is scaled based on the average of all the players' difficulties. On the surface this seems logical, but for unfamiliar end users, this can cause the opposite intended result.

Scenario 1: Player wants to have an easy play through on a random galaxy, they might choose beginner difficulty for themself, but ridiculous difficulty for the AI players, thinking that it means the human player has an easy time and the AI players have a hard time. Actually what happens in the random galaxy is that every single rebel structure is occupied by many high level units (such as 12 to 15 stacks mixed of Warbeasts, Star Legions, Shock legions, rocket artilleries, 5 Meson cannons in 1 stack, 5 Dopplegangers in 1 stack). So in this case, it's actually a difficult galaxy to play in. See attached save file for example. Scenario 1 - 1xbeg4xrid.zip

Scenario 2: Player is very experienced and wants a challenge, and therefore also wants to give the AI the easiest time. Player chooses ridiculous for their own house, and Beginner for the other 4 AI houses. Actually what happens in this random galaxy is that every single rebel structure is occupied by 4-5 units of tracker legions, militia legions, fanatics, Engineers (not that there aren't any higher level units, but they are much less common). So in this case it's actually a very easy galaxy to conquer for the player. See attached save file for example. Scenario 2 - 4xbeg1xrid.zip

Expected behavior: Generally speaking, when a player chooses "beginner" the game should be easier, and when an AI is set to "ridiculous" I would think that the game should be more difficult for the AI.

Actual behavior: In some scenarios, everything is fine (like if all players are on the same level), but when attempting to give out handicaps to specific players, it doesn't work as intended. When the human player is beginner and 4 AIs are ridiculous, the player get unexpected results. Especially in this case, the player is probably expecting the game to be so incredibly easy for the human player that they can get drunk and fall asleep on their keyboard, then wake up and the game is won, but actually it's a very difficult game.

Game version: 1.5 vanilla

Steps to reproduce:

Scenario 1: Start a random galaxy with the human player as beginner, and the 4 AI players set to ridiculous. Then set the HDIVIEW and take a look at the randomly generated planets.

Scenario 2: Start a random galaxy with the human player as ridiculous, and the 4 AI players set to beginner. Then set the HDIVIEW and take a look at the randomly generated planets.

Additional information:

I'm not sure if "bug report" is really the right categorization for this, since I believe the code is working as intended, but I think this is probably more like an unintended consequence of the design of 1.5 random galaxies, and I think this could cause pretty dire consequences for newer players who did fine on historical, then try out a random galaxy and get a very difficult galaxy when they didn't expect it, and then just rage quit EFS. So, I don't think there is really an easy or obvious solution to this one...I could think of a few ideas, like "have a separate difficulty setting for the galaxy itself", or "make the planets near beginner players be easier and the planets near ridiculous players be harder", but I don't have any visibility to how easy the ideas might be to implement.

Matt-Caspermeyer commented 1 year ago

I think I like your idea of proximity, but it may be harder to implement.

There may also be an unintended consequence in multiplayer - if 1 player is Beginner and another is Ridiculous, the Ridiculous player can just go after the planets near the Beginner player, easily capturing them and causing significant issues for that player.

If we look at your scenarios, they do indeed seem to be backwards; however, just for the human player, they are appropriate for the AI players.

So it seems the proximity idea is still the best, with the caveat of multiplayer.

It is probably best to implement this as an option maybe?

Thoughts?

Xenotrenium commented 1 year ago

I think we should split difficulty into two parts:

Faction difficulty This controls the "handicap" or lack thereof and applies to research, production, traits, AI Diplomacy bonuses or penalites, reduction in the probability of being the targeted faction of proscription, perhaps even additional elements like combat bonuses (if any). Anything that strictly invokes a penalty or bonus to that player that is not in the same sphere as other elements below.

Galaxy difficulty A universal setting that applies to ruins, random garrison spawns, AI global Diplomacy bonuses or penalties. Possibly other elements such as plague base chance or inquisitor activity. For random galaxies, this setting would be the primary way to base the generation of the world upon.

In this manner, the galaxy difficulty could intuitively represent how populated the galaxy is with dangerous and hostile elements. The faction difficulty would either help or be a detriment for the things the faction does internally.

I'm probably in the favor of not actually having individual difficulties at all. A global setting that only tells you about the difficulties that apply to all players. If the chosen global difficulty is HARD, then each AI player would pull from that setting, while the player would receive player-specific boons or detriments.

floralpond commented 1 year ago

I think separate faction difficulty and galaxy difficulty makes sense and is consistent with other games such as civ. I feel like it would also be easier to implement faction bonuses compared to my suggestion of lower difficulty of random planets near beginner factions but I'm just guessing on that. If we go this route, then I think it would be good to have the effects of the difficulties clearly spelled out to ensure players know what to expect.

Can easier difficulties also get better rewards from ruins as well?

Jon-Gael commented 1 year ago

I like the above approach, FWIW.