Difficulty modes: Difference between revisions

From OniGalore
m (oops)
(overall rewrite for clarity)
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
Oni's difficulty setting appears simple: a menu that lets you choose Easy, Normal or Hard. But the effects of each mode on the game are complex. As a general rule, increasing the difficulty means that enemies will be upgraded to tougher classes (e.g. green to blue, blue to red), will have more health and will fight harder. Konoko's health will also change on Easy. Read on for the exact changes at each difficulty level. Advice for modders who want to work with difficulty levels is found at the end.
Oni's difficulty setting appears simple a menu that lets you choose Easy, Normal or Hard – but the effects of each mode on the game are complex. Broadly speaking, increasing the difficulty means that enemies will be upgraded to tougher classes (e.g. green to blue, blue to red), will have more health and will fight harder. Konoko's health will also increase on Easy. Read on for the exact changes at each difficulty level. Advice for modders who want to work with difficulty levels is found at the end.


==Easy==
==Specific changes==
Note that these factors apply to enemies, not Konoko, except for the player health factor. Also note that these changes are applied on top of the enemy class upgrades mentioned previously. Higher-level enemies have melee profiles which grant them better combat skills all around, including blocking and dodging attacks.
===Character class upgrades===
Upgrades to enemies are determined globally by their character variant resource (discussed under {{SectionLink||Modding information}}). Each character class has an upgraded version which is called upon in Hard mode with the exception of key characters such as the bosses, e.g. ONCCBlackOps_Lite upgrades to ONCCBlackOps_Swat on Hard mode. You can expect that these upgraded classes will have better fighting skills (melee profiles) and higher health.


*Notice factor: 70% ("notice" refers to how often the AI notices an incoming attack and can consider blocking/dodging it)
===AI behavior and health changes===
*Block factor: 60%
Besides the above upgrade in character class which is likely to give each enemy a better melee profile and higher HP (assuming that their character variant does have a Hard mode upgrade), the following buffs are applied across the board to all characters.
*Dodge factor: 80%
*Weapon inaccuracy factor: 120%
*Enemy health factor: 100%
*Player health factor: 130%


==Normal==
{| class="wikitable"
*Notice factor: 100%
!Factor
*Block factor: 100%
!Easy
*Dodge factor: 100%
!Normal
*Weapon inaccuracy factor: 100%
!Hard
*Enemy health factor: 100%
!Explanation
*Player health factor: 100%
|-
|AI melee notice
|0.70
|1.00
|1.40
|Chance that AI will notice incoming attack. If it notices it, it may be able to block or dodge it.
|-
|AI melee block
|0.60
|1.00
|1.30
|Chance that AI will attempt to block attack that it noticed.
|-
|AI melee dodge
|0.80
|1.00
|1.50
|Chance that AI will attempt to dodge attack that it noticed.
|-
|AI weapon inaccuracy
|1.20
|1.00
|0.60
|Multiplier for size of the cone of fire when AI is using a weapon.
|-
|Enemy health
|1.00
|1.00
|1.25
|If an AI is hostile to Konoko, their starting health and max health will be multiplied by this factor.
|-
|Konoko health
|1.30
|1.00
|1.00
|Upon starting in a level, Konoko's health and max health will be multiplied by this factor. Thus on Easy her starting and max health will be 260 HP instead of 200 HP.
|}


==Hard==
==Modding information==
*Notice factor: 140%
The current difficulty level is stored in [[persist.dat]]. It's ''read'' with the BSL function <tt>[[difficulty|difficulty()]]</tt> but can only be ''changed'' through the UI of the Options screen. (It's interesting to note that Oni's vanilla level scripting never reads the difficulty level and uses it to change anything; only the engine looks at the difficulty mode for the above purposes.)
*Block factor: 130%
*Dodge factor: 150%
*Weapon inaccuracy factor: 60%
*Enemy health factor: 125%
*Player health factor: 100%


==Engine information==
See [[XML:ONCV]] for setting up enemy variants based on difficulty, [[XML:BINA/OBJC/MELE]] to see how separate melee profiles were created for Hard mode, and [[XML:ONGS]] for the source of the difficulty level constants in the table above.
The current difficulty level is stored in [[persist.dat]]. It's ''read'' with the BSL function <tt>[[difficulty|difficulty()]]</tt> but can only be ''changed'' through the UI of the Options screen. (It's interesting to note that Oni's vanilla scripting never reads the difficulty level and uses it to change anything.)


See [[XML:ONCV]] for setting up enemy variants based on difficulty, [[XML:BINA/OBJC/MELE]] for melee profiles, and [[XML:ONGS]] for the factors listed above.
[[Category:Engine docs]][[Category:Oni Support]]
 
[[Category:Engine docs]][[Category: Oni Support]]

Latest revision as of 16:53, 24 March 2026

Oni's difficulty setting appears simple – a menu that lets you choose Easy, Normal or Hard – but the effects of each mode on the game are complex. Broadly speaking, increasing the difficulty means that enemies will be upgraded to tougher classes (e.g. green to blue, blue to red), will have more health and will fight harder. Konoko's health will also increase on Easy. Read on for the exact changes at each difficulty level. Advice for modders who want to work with difficulty levels is found at the end.

Specific changes

Character class upgrades

Upgrades to enemies are determined globally by their character variant resource (discussed under § Modding information). Each character class has an upgraded version which is called upon in Hard mode with the exception of key characters such as the bosses, e.g. ONCCBlackOps_Lite upgrades to ONCCBlackOps_Swat on Hard mode. You can expect that these upgraded classes will have better fighting skills (melee profiles) and higher health.

AI behavior and health changes

Besides the above upgrade in character class which is likely to give each enemy a better melee profile and higher HP (assuming that their character variant does have a Hard mode upgrade), the following buffs are applied across the board to all characters.

Factor Easy Normal Hard Explanation
AI melee notice 0.70 1.00 1.40 Chance that AI will notice incoming attack. If it notices it, it may be able to block or dodge it.
AI melee block 0.60 1.00 1.30 Chance that AI will attempt to block attack that it noticed.
AI melee dodge 0.80 1.00 1.50 Chance that AI will attempt to dodge attack that it noticed.
AI weapon inaccuracy 1.20 1.00 0.60 Multiplier for size of the cone of fire when AI is using a weapon.
Enemy health 1.00 1.00 1.25 If an AI is hostile to Konoko, their starting health and max health will be multiplied by this factor.
Konoko health 1.30 1.00 1.00 Upon starting in a level, Konoko's health and max health will be multiplied by this factor. Thus on Easy her starting and max health will be 260 HP instead of 200 HP.

Modding information

The current difficulty level is stored in persist.dat. It's read with the BSL function difficulty() but can only be changed through the UI of the Options screen. (It's interesting to note that Oni's vanilla level scripting never reads the difficulty level and uses it to change anything; only the engine looks at the difficulty mode for the above purposes.)

See XML:ONCV for setting up enemy variants based on difficulty, XML:BINA/OBJC/MELE to see how separate melee profiles were created for Hard mode, and XML:ONGS for the source of the difficulty level constants in the table above.