GDAPI icon indicating copy to clipboard operation
GDAPI copied to clipboard

Difficulty Calculation

Open Rekkonnect opened this issue 5 years ago • 0 comments

Quoted from this

As this is a matter of accuracy in difficulty calculation, a large number of things must be taken into consideration before even initializing the algorithm generation process.

First of all, there are 2 different difficulty ranges in the game; the official level one (ranging in [1, 15]) and the user level one (ranging in [1, 10]). There's different properties for both:

  • Official levels are all non-auto, therefore theoretically an auto official level would have the difficulty of 0*. The hardest level so far (as rated) is Deadlocked, which is a 15* Demon. This, however, as mentioned by the community, does not even approach the difficulty of an Insane Demon, with some even claiming that its difficulty is less than that of a Hard Demon even.
  • User levels' difficulty on the other hand ranges in [1, 10]. The easiest levels, autos, do give 1*, so the bare minimum is 1*, but there is no actual maximum. Despite the star rating being capped at 10*, recently (2 years ago), the ability to rate Demons with custom names such as Easy, Medium, Hard, Insane, Extreme, has given a broader difficulity spectrum. What I have personally had in mind is an extended version of the scale where [10, 11) are Easy Demons, [11, 13) are Medium Demons, [13, 16) are Hard Demons, [16, 20) are Insane Demons and [20, 25) are Extreme Demons. Theoretically there could be a level that beats even the 25* cap that was set for Extreme Demons, however for the time being beating such a level is humanly impossible.

Since the editor is about creating user levels, the option is to use the user level star rating scaling. Although, it would also be great to have the ability to compare that to an official level's star rating.

Difficulty calculation should depend on the easiest way to beat a level (however, not accounting for secret ways). Despite the difficulty of performing any stunts in the level, the easiest (which should be the normal) way to beat it is what actually matters towards difficulty calculation. A great example is that players may have the ability to perform any action in auto levels, however they can be still beaten without requiring the user do anything, thus holding the 1* rating.

Difficulty is not just a matter of technical execution of the gameplay, including timing, spacing, positioning, etc. There is one procedure before the player decides what to do, which is read the level. Any elements that are added in the level, do contribute to difficulty increase, as they demand the player filter them out in order to properly decipher the gameplay. These elements are mostly decorational, and the higher their opacity is, the more they increase the difficulty, although barely at all in reality. The main difficulty buff comes from motion of any element in the level. However, it's not all about how fast the movement of the objects is, it's also about the consistency across movements. All objects moving at the same pace will not increase the difficulty all that much. Similarly, all objects that move at a different rate, which however is analogous to other objects', seemingly isn't all that concerning in terms of difficulty, though being a bit nastier to decipher contributing slightly more in that aspect.

In the technical aspect of the difficulty, which plays the most cardinal role (about 85%), what matters is action timing, frequency, consistency, player movement and the gameplay elements themselves. 50 triple spikes at normal speed at a rate of 1 per second are easier than a level with more gamemodes the player switches between, because of the gameplay diversity, adding to the consistency aspect. Sudden teleportations also do impact the difficulty because the flow is ruined all of a sudden, initializing a new player movement stream. Unpatterned gameplay, involving a broad variety of gameplay elements in short timespan without consistent placement is a great contributor to the overall difficulty, as the player is tested on a great spectrum of skill sets, being more challenging to most, instead of only demanding excellence at one specific aspect.

Overall, there's the following aspects that will be taken into consideration while calculating the difficulty:

  • Gameplay readability (level-oriented): Impacted by all visual elements the player goes through while playing the level, determined by the amount of processing that is required to properly conclude the gameplay. Details:
    • Visual impact (section-specific): The opacity and the color difference (in terms of HSV) are more impactful the more diverse they are from the rest of the near area, creating an impression of an individual element that the player must interpret. In simpler words, a sawblade that is more opaque than the rest of the decoration, with a brighter version of the same color is more important to interpret, than the small dot in its center which serves the purpose of a small decorational detail to appeal visually, without affecting the difficulty almost at all. In fact, such a small dot may only force the player waste a short amount of time from processing other elements, thus narrowing the margin of time that they can use to process elements, or limiting them to processing only more important elemnts.
    • Movement (section-specific): The movement (positional or rotational) of each individual element contributes in processing difficulty, and the player will organize the objects depending on their movement type more easily than a collection of different movements. That means having a rotating sawblade and a moving platform in the same structure will take the player more time to organize and group the objects together, compared to a static structure that's moving.
  • Timing accuracy (section-specific): The stricter the timing accuracy window is, the higher the difficulty of the section is. Pretty straight-forward.
  • Action frequency (section-specific): The more frequent the required actions in the level, the harder the section difficulty.
  • Variety (section-specific and level-oriented): The more the variety of the gameplay elements, the harder the level. It probably has to be split into sections of all gamemodes' individual skill sets, along with potential combinations of dual mode.
  • Consistency (level-oriented): The player will get accustomed to a certain level of difficulty, as may also be expected by the song's auditory attributes, that being the mean average of the difficulty across all sections of the level. Difficulty bursts are valuable enough so much that the player may be caught off guard and lose control. However, consistent inconsistencies are also consistent, meaning that, whilst being more difficult, their value isn't as strong as an inconsistently inconsistent section is.

There are 2 major difficulty components, them being:

  • The section mean average, which collects section-specific difficulty attributes as aforementioned from all sections of the level, and calculates the individual mean averages, resulting in the overall average of the component. The sections are split based on the weightage of the gameplay elements, which must be above a high threshold. For instance, gamemode portals have a higher weightage than gravity portals, meaning the first are more likely to split sections than the second ones.
  • The level mean average, which collects level-oriented difficulty attributes as aforementioned.

Rekkonnect avatar Aug 13 '19 11:08 Rekkonnect