Perk Experience Gain scales prohibitively large.
Kiithnaras opened this issue ยท 4 comments
The use of an exponent in the generation of the Perk Experience (PXP) requirements creates a situation in which gaining experience past around level 60 or so (expanded from default 30 with config settings) becomes a prohibitive time sink, resulting in functionally impossible lengths of time to reach the hard cap of 100.
Even gaining 262144 (2^18) PXP every second continuously, it would take over 3000 years to accrue the amount necessary to reach 100 perk levels. Gaining this amount every tick would still take 163 years. By comparison, it would take about an hour to reach level 60 gaining 2^18 PXP every tick. This amount of PXP gain is high, but reasonable, given the upper limit of config multipliers (1024), +6400% PXP increase from perks, and abusing various PXP grinding methods.
My points are thus: The default PXP level caps need to be cubic or some other fixed polynomial at the very most as utilizing a level-scaling exponent results in these enormous (over 27,000,000,000,000,000 [27 quintillion, 2.7x10^16] PXP) sums required to attain the hard limit - something no player will ever accomplish during their physical lifetime without the use of console commands.
A simple quadratic sum would suffice quite nicely to this end.
Line 46 of PerkLevelManager.Java:
totalExpLevelRequired.put(i, prev + 150L + (MathHelper.lfloor(Math.pow(2, (i / 2) + 3))));
could be changed to
totalExpLevelRequired.put(i, prev + (150L * (Math.pow(i, 3))));
or 150 * Level^3 per level (plus the previous sum). This would put the level 100 cap at around 4 hours (3,825,375,000) with the previous PXP gain rate, and significantly but attainably-longer using the default XP gain rate.
In addition, allowing the configuration for custom level values, as was apparently attempted in the Enigmatica 2 Expert pack (to no effect), would be a fine addition for server owners looking to customize players' Astral Sorcery experience.
Could you clarify please? Are you saying that enabling very high Perk Levels are intended to be the purview of console commands only with players never being able to legitimately attain Perk Level 100?
Both. The cap was only made modifiable so people would stop endlessly asking for an increased cap. If it is truly needed to be raised over 40ish (which is where the curve really takes off), the ability to award points via achievements or whatever other chosen method of quest reward the pack has is available.