你如何用曲线来衡量游戏难度?
How do you scale game difficulty with a curve?
首先我想说我的微积分很糟糕而且我几乎没有使用它的经验。
我正在尝试寻找一种算法来帮助我的游戏进行缩放。具体来说,它应该缩放每个级别产生的波浪数量。理想情况下,它将采用任何数字作为最大整数值的级别。还会有一个最小值和一个最大值,即最小波浪和最大波浪。所以:
level = 0 到无穷大
最小值 = 3
最大值 = 40
result = 一种算法,该算法将具有最大值的最大曲率并且无论级别是多少都不应超过它。我不确定如何计算这个,但我认为它还需要某种我可以控制的阈值来根据水平来决定曲率。
尝试下一个方法:
mult = Min(1, (level/MaxLevel)**Somepower))
minValue + (maxValue - minValue) * mult
选择适合您任务的Somepower
值。例如,值 2 给出抛物线(注意值可能小于 1)
如果您想要更复杂的曲线,请显示所需形式的图片。
编辑:
对于曲线趋于但没有超过某个水平的情况,可以选择一些带有水平渐近线的函数。例如:
max * x /(x+1)
or
max * arctan(k*x) * 2 / Pi
首先我想说我的微积分很糟糕而且我几乎没有使用它的经验。
我正在尝试寻找一种算法来帮助我的游戏进行缩放。具体来说,它应该缩放每个级别产生的波浪数量。理想情况下,它将采用任何数字作为最大整数值的级别。还会有一个最小值和一个最大值,即最小波浪和最大波浪。所以:
level = 0 到无穷大
最小值 = 3
最大值 = 40
result = 一种算法,该算法将具有最大值的最大曲率并且无论级别是多少都不应超过它。我不确定如何计算这个,但我认为它还需要某种我可以控制的阈值来根据水平来决定曲率。
尝试下一个方法:
mult = Min(1, (level/MaxLevel)**Somepower))
minValue + (maxValue - minValue) * mult
选择适合您任务的Somepower
值。例如,值 2 给出抛物线(注意值可能小于 1)
如果您想要更复杂的曲线,请显示所需形式的图片。
编辑:
对于曲线趋于但没有超过某个水平的情况,可以选择一些带有水平渐近线的函数。例如:
max * x /(x+1)
or
max * arctan(k*x) * 2 / Pi