游戏设计中的数学:基于等级的成长感

作者:Davide Aversa 喷气小可乐 2021-01-12
基于等级的成长感是一种非常棒的方式能够使玩家有一种“变得更强大”的感觉。“这个系统是伴随着角色扮演游戏(RPG)而诞生的,但现在它几乎嵌入了每一款游戏;有些多,有些少。即使完全有可能在没有等级和经验值的情况下提供成长感,基于等级的成长感也是自然、直接和线性的,它非常适合许多游戏类型。

然而,并不是每个经验等级的成长感都是相同的,所以设计一个有趣的系统是非常重要的。许多游戏并没有对此思考过多:它们只是随意拍一个经验值和等级而已。一般的想法是,你的等级越高,你就需要更多的经验才能升级到下一个关卡。这是事实,但这只是设计的一小部分。事实上,你必须关注任何玩法元素对玩家产生的影响,并且必须确保你所做的能够传达你想要的情感。

我无法完整分析等级系统,但我可以使用简单的数学方法去探索它的效果,局限性和设计空间。

为什么使用等级系统?

从拥有等级系统的游戏数量来看,真正的问题是“为什么不呢?”然而,每当我们看到一些非常成功的游戏时,我们都应该问问自己为什么它会如此受欢迎。原因在于,这是给予玩家成长感的最直接、最明确的方式。玩家希望看到自己变得更强大,而最好的方法便是呈现给他们许多“不断变大的数字”:等级、伤害、HPs。玩家花了数小时玩游戏来变得更强大,这些大数字就是证明! 在许多游戏中,我们的技巧不能被直接衡量。当然,当我们不断游玩《超级马里奥兄弟》后,回到第一个关卡,并比第一个关卡更快过关时,我们能感受到这种温暖的成长感。这并不影响玩家回到游戏起始位置并对1级怪物(即使它们在游戏开始时给我们带来了许多麻烦)造成100万伤害。


但设计师喜欢在游戏中引入等级还有另一个原因。它们是设计师控制游戏心流的有效方法。它们也为玩家提供了明确的指示。在游戏中,没有什么方式比通过等级限制玩家速通游戏的做法更好了。这种人为难度可能会做得非常糟糕,当你这么做时,游戏可能会因此而失败。但如果调得好,它真的很有效。

另一个问题是:如果我们喜欢大数字,为什么首先要使用等级?为什么我们不使用经验值并提供一个“平稳”的成长感? 因为它并不令人满意 ! 我们想看到数字变大,但我们更想感知到变化。因为这是“工作”之后的奖励。

就像吃披萨一样。我们可以在严格节食一周后的周末吃披萨,或者我们可以每天只吃几口批萨。最后,我们可能会吃同样数量的披萨,但我认为前者的解决方案绝对比另一种更令人满意。

理解成长感产生的机制

现在我们知道为什么要使用基于等级的成长感,是时候玩一些数字游戏了。请注意,这并不是必须的,虽然理解游戏玩法元素背后的数学原理是我的一大烦恼,但是我认为这有助于更好地理解如何改变某些内容以实现特定目标。同时,如果你不进行计算,你的玩家就会替你计算。在等级系统的基础是每个等级需要的经验值。从数学角度来看。打造等级成长感就是在将一定经验值映射到特定等级的一个过程。


在设计等级成长感时,我们就是在设计这一功能。玩家需要在游戏中产出多少经验值(也可以是时间)才能升级? 实际上,当设计基于等级的成长感时,我们通常使用它的反函数 :即给定等级,让函数告诉我们需要多少经验值。这通常被称为经验曲线。


我们应该察觉到了。如果我们的经验曲线是线性的,那么每个关卡都需要相同的额外经验:第2级需要10点经验,第3级需要20点经验,第4级需要30点经验,以此类推。如果我们的经验曲线是指数型的,那么为了升级,我们总是需要比之前的关卡更多的经验,因此我们在游戏最后升级的速度会变慢。相反地,如果我们的经验曲线是对数曲线,那么在每个关卡中,我们需要更少的经验才能升级,因此,我们玩得越多,升级的速度就越快。它们都是有效的体验曲线,一切都取决于你想要的游戏类型。

在这里,我们将探索最著名的经验曲线,指数曲线。从单一概念出发,构造指数曲线。假设你在第1个等级便拥有一定的经验值:a。为了到达第2个等级,你希望玩家获取原有经验的2倍、3倍等等。所以


如上所示,第2级所需的经验应该是初始经验加上b倍的初始经验。对于第3级,我们做同样的事情,我们习惯于乘上第2级的增量。


在等级 L,它应该是:


最终他可以用如下公式表示:


看到了吗?一个很棒的指数经验曲线。但这次你知道它为什么是这样的。您知道参数的含义以及如何调整它们以获得您想要的结果。

根据经验曲线,我们可以推断出的一个重要属性便是等级成长随时间的变化。玩家在关卡成长中从底部到顶部的速度有多快 ? 玩家需要投入多少时间才能从10级升级到11级?从79到80呢? 我该如何调整特定等级的体验?

这些都是有趣的问题。我们可以通过观察经验曲线找到答案。第一步是反转函数,得到等级成长函数,也就是等级如何根据经验值提升


这看上去是难以理解,因为有一些参数干扰。为了便于讨论,我们假设(这不合理) a=1。


好多了。现在,我们需要考虑体验是时间的函数。显然,我们不知道它的真正功能,但我们可以大致可以知道“我们希望玩家每次能收集多少经验”。我们是否希望玩家在一段时间内获得相同的经验 ? 我们是否希望玩家每次获得更多经验? 这是一种非常普遍的做法,通常是在高级怪物或高级任务中给予玩家更多经验值。

然后,我们可以推导出一个表示升级速度的函数。


我喜欢推导这些东西,但是,点到为止。重要的是,你要通过反转经验曲线并插入一些“经验函数”,以时间的函数来模拟你的成长。这将帮助你粗略估算升级游戏所需的时间和精力。

具体案例

在实际案例中,经验曲线是怎样的? 我以《RuneScape》为例。


这显然是一个更复杂的公式。为什么要这样做? 我也不知道。然而,我们可以确定它是一个指数函数,与上面讨论过的函数精神相同。

《魔兽世界》的公式反而不是分析性的。相反地,我们拥有当前等级升级所需的经验公式。


这里的区别是一个难度因素,MXP是L级怪物给予的基本经验,RF是一个通用比例因素。这个公式从二次曲线开始,然后爆炸成指数曲线(多亏了Diff公式)。给了我们这个奇怪的形状(注意这是经验曲线的导数)。

《暗黑破坏神3》中这个公式是个噩梦 (这是一个分段函数)


公式中的X指代的是等级,Y是当前等级升级所需的经验。至于公式内的常数变量为什么是这样的,我也不知道,可能是微调吧。

总结

最后,我希望你能享受经验曲线带来的乐趣。有成千上万种不同的方法来做它们。记住,它不总是指数曲线。时间和体验是联系在一起的,建模体验曲线能够帮助你更好地避免游戏中的“折磨”环节,并让玩家保持在流状态中。

作者:Davide Aversa
译者:喷气小可乐
原文地址:
https://www.davideaversa.it/blog/gamedesign-math-rpg-level-based-progression/
来源:喷气小可乐
地址:https://mp.weixin.qq.com/s/5zsd1Y4WQy-Vxqz5QkTuAg

最新评论
暂无评论
参与评论

商务合作 查看更多

编辑推荐 查看更多