How difficulty works

For technical discussions and help
Post Reply
Undershaft
Posts: 96
Joined: Tue Jul 19, 2016 8:18 pm

How difficulty works

Post by Undershaft »

Hey guys, this is my understanding of how difficulty works in the game. I'd appreciate it if someone knowledgable could confirm my theory (or debunk it).

Difficulty is defined by ALERT Level (how many enemies are on the map) and FORCE Level (what kind of enemies will show up).
FORCE level grows linearly (as defined in the DefaultGameData.ini).

ALERT Level is calculated as follows:
Every mission has a basic Alert value based on its description: (Easy=1, Moderate=2, Difficult = 3, Very Difficult =4).
To this basic Alert value, a permanent modifier is added (depending on the game difficulty settings):

(DefaultGameData.ini:)
CampaignDiffModOnMissionDiff[0]=0 ;Easy
CampaignDiffModOnMissionDiff[1]=1 ;Normal
CampaignDiffModOnMissionDiff[2]=1 ;Classic
CampaignDiffModOnMissionDiff[3]=2 ;Impossible


Depending on the month the mission takes place in (and the difficulty setting), a further modifier is added:

(DefaultGameData.ini:)
ImpossibleMonthlyDifficultyAdd[0]=0
ImpossibleMonthlyDifficultyAdd[1]=1
ImpossibleMonthlyDifficultyAdd[2]=1
ImpossibleMonthlyDifficultyAdd[3]=2
ImpossibleMonthlyDifficultyAdd[4]=2
ImpossibleMonthlyDifficultyAdd[5]=3


This would mean that an EASY mission on IMPOSSIBLE in the first month (March) would have an ALERT LEVEL of 3 (1+2+0), which would lead to an encounter with 8 enemies (OPNx2 + OPNx3 +BOSSx3), as defined in DefaultMissions.ini:

MissionSchedules=(ScheduleID="Supply_D3_Standard", \\
MinRequiredAlertLevel=3, MaxRequiredAlertLevel=3, \\
PrePlacedEncounters[0]=(EncounterID="OPNx2_Standard", EncounterZoneOffsetAlongLOP=38.0, EncounterZoneWidth=28.0), \\
PrePlacedEncounters[1]=(EncounterID="OPNx3_Standard", EncounterZoneOffsetAlongLOP=24.0, EncounterZoneWidth=28.0), \\
PrePlacedEncounters[2]=(EncounterID="LIST_BOSSx3_Standard", EncounterZoneOffsetAlongLOP=10.0, EncounterZoneWidth=6.0), \\


A MODERATE Mission on IMPOSSIBLE in the third months (May) would have an ALERT LEVEL of 5 (2+2+1), meaning 11 enemies.

There seems to be a Maximum ALERT-LEVEL, however:

CampaignDiffMaxDiff=5 ;Easy
CampaignDiffMaxDiff=5 ;Normal
CampaignDiffMaxDiff=5 ;Classic
CampaignDiffMaxDiff=6 ;Impossible


This would mean that from June on, there should be no difference between a MODERATE mission (2+2+2) = 6 and a VERY HARD mission (4+2+2)= 6 (because of the CampaignDiffMaxDiff). After July, there should be no difference between EASY and VERY HARD.

The most difficult MiSSION SCHEDULES with 15 enemies ( MinRequiredAlertLevel=7) can only occur on LEGEND when the Dark Event "SHOW OF FORCE" adds another 1 to a maxed-out ALERT-LEVEL of 6.

What do you think? Is this the way it works?
Undershaft
Posts: 96
Joined: Tue Jul 19, 2016 8:18 pm

Re: How difficulty works

Post by Undershaft »

OK, I found at least one mistake in my formula. "MonthlyDifficultyAdd" doesn't increase the Alert Level, at least not in Guerilla missions (maybe for Council missions etc. - still have to test this). Therefore, there doesn't seem to be a way to increase the number of enemies as the game progresses - easy, moderate, difficult missions will always have the same number of aliens, regardless of time. The only thing that changes is the composition of guerilla choices - in later months, you will only get difficult and very difficult missions.

This is disappointing, since I have been working on a mod which would throw more aliens at you as time progesses by adding alert levels 8-10 and corresponding mission schedules.

Does anybody know another way to do this?
Post Reply