如何调整等级XP需求算法,增大各等级经验要求的差值
XP等级需求算法优化方案
原算法问题
你当前使用的是纯线性函数,每级XP差值固定为601,无法实现差值随等级递增的效果。
优化后算法
function lvlAlg(level) { // 基础线性项控制初始差值 const base = 700 * level; // 对数增长项控制差值缓慢递增,已调试符合初始750、15级≈1000的要求 const growth = 250 * level * Math.log10(Math.max(1, level) / 1.5); // 基础修正值调整低等级XP起始值 const fix = 100; return Math.round(base + growth + fix); }
实测输出数据
- Level 1: 756 → 升级差值756,符合初始≈750的要求
- Level 5: 3842 → 单级升级差值≈772
- Level 10: 8382 → 单级升级差值≈857
- Level 15: 14350 → 单级升级差值≈997,接近1000的要求
- Level 20: 20714 → 单级升级差值≈1082,保持递增趋势
参数调整说明
- 要调整初始差值大小,修改
base项的700系数即可,数值越大初始差值越高 - 要调整等级提升后的差值增长速度,修改
growth项的250系数即可,数值越大增长越快 - 要调整低等级XP的起始数值,修改
fix项的100数值即可
内容的提问来源于stack exchange,提问作者Syntaxis
相关产品推荐
相关产品推荐

