5评论

关于经验曲线

Nata 2018-09-17 2.9k浏览

想免费获取内部独家PPT资料库?观看行业大牛直播?点击加入腾讯游戏学院游戏美术行业精英群167422913

一.经验是什么

我的理解,经验是策划控制玩家游戏节奏的数值体现。但是,当设计游戏节奏时,我们通常不是凭空拍脑袋决定这个经验曲线是二次函数、三次函数或者幂函数,经验曲线应该是游戏节奏设计的“果”,而不是空中楼阁。

 

二.游戏节奏

设计游戏节奏的时候,我们首先要想的是:游戏节奏是如何决定的?很容易想到的是我们需要控制玩家每一级需要的时间,那么我先随手定一个标准:





接来下,我们假设这个游戏是个最最最简单的刷刷刷游戏,升级只能靠打怪,在游戏中,我们往往希望玩家在不同阶段的战斗节奏保持稳定,那么假设每场战斗耗时为30s,我们可以推算出每一级需要多少场战斗:

 

现在我们知道了玩家每升一级需要多少场战斗,那么接下来我们开始引入经验这个维度,我们需要决定每一场战斗可以获得多少经验。

首先我们有一个直观的感受:等级越高,单场战斗经验越多。这样设定的原因主要是可以避免高级玩家可以刷低级怪快速升级。举个例子,如果所有等级战斗经验都是10点的话,那么我一个20级的玩家刷1级怪和刷20级怪需要的场次是一样的,但是时间上肯定刷1级要比20级快的多,升级节奏就崩了。

确定了单场战斗经验随等级递增之后,下一个问题就是每个等级的战斗经验差多少?我的理解是,差距不宜过大。理由和上一个问题类似,如果两级战斗中战斗经验差距巨大的话,意味着一个20级玩家如果越级挑战21级战斗成功的话,会一次性获取极多的经验,同样会让游戏节奏崩掉。

综合以上两点,我认为一个等级的战斗经验应该和这个等级标准怪物的战斗力挂钩,那么在这里我们先随便设定一下并计算出每个等级需要的经验:

接下来我们把最后一列的经验拟合成函数交给程序员就是玩家看到的经验了。可以看到,在经验的设定过程中,我们首先设定的是期望的玩家的游戏新节奏,然后根据战斗节奏将其换算成需要的战斗场次,再设定单场战斗经验,最后计算出每个等级升级所需要的经验。

在上面的计算中,我们假设了这个游戏只有刷刷刷,那么如果他是一个比较正常的游戏,有战斗也有任务(提供经验)的话,那么我们可以先假设只有战斗,计算出升级经验后,把其中的一部分按百分比计算出任务经验,再根据任务时长对比战斗时长具体分配,这里就不细说了。

 

三.单机和网游的差异

仔细观察的话,我们可以发现经验的设计在单机和网游中是有所不同的。在单机游戏中,游戏内容、通关时长基本是固定的,达到设定等级往往意味着游戏结束(即正常游戏节奏下,不考虑喜欢疯狂刷兵的升级流玩家),也就是说在整个游戏过程中,等级和游戏进程、游戏时间紧紧关联,由于整体游戏时间是可控的,升级经验的曲线往往是比较中庸的,不会太陡峭也不会太平缓,保证整个游戏过程中有适宜数量的等级区分。但是在网游中,游戏时常是不固定的,甚至可以说是永无止境的,所以等级实际上也是永无止境的,如果我们把升级经验曲线设置的比较中庸的话,意味着后期每升一级的时间差距并不大,也就是说,游戏里的等级数值会变得很大;此外,当每次更新开放新等级时,如果开放的较少,玩家很容易到达等级天花板,如果开放的较多,意味着需要开发大量的内容去匹配这些等级,所以在网游中,升级经验的曲线往往是更加陡峭的。

补充:上面的网游设定仅仅针对RPG,很多网游并不符合上面的设定,比如dota2中玩家等级其实本质上就是个成就,阴阳师这种收集养成用爱发电的游戏中,整个培养过程其实更类似单机,和RPG有本质区别。

 

下面我们来看两个例子,看看单机和网游的经验曲线的区别到底从何而来。

《魔法门之英雄无敌III》

来看看英雄无敌三中的玩家等级:

在英雄无敌中,经验主要从战斗中获取,我们先看每场战斗的经验:

单位经验=单位生命值

战斗经验=单位经验X单位数量

观察英雄无敌的单位设计,很容易发现不同等级的兵种生命值和其等级基本是线性相关的,而战斗中的单位数量随着游戏节奏的提升会不断增加,也几乎是线性,由此我们可以推断出战斗经验随着等级的提升曲线是二次函数。

接下来,我我们再看看每个等级需要的时间也就是战斗场次如何设计。由于单机游戏的特性,升级往往是玩家能感受到的最直观的提升,等级和游戏中的各个成长维度重度解耦,并且这些维度本身在同一等级下的成长性并不高。如果我们控制前期升级快后期升级慢的话,其实在后期玩家在较长的一段时间里都很难感受到直观的提升,反而会觉得很迷茫。所以在这个游戏里,玩家每级需要的战斗场次是基本稳定的。那么由于:

等级经验=战斗经验*战斗场次

我们可以推断出,英雄无敌三里面,玩家的等级经验接近二次函数,和实际的函数拟合情况相符。那么为什么游戏中在12级后要采用幂函数呢?我的推测是游戏设定中到达12级时,单位经验和单位数量很难在做出大幅度的改变,也就是标准战斗经验在12级基本就稳定了,此时如果依旧维持战斗场次不变的话,玩家升级速度会逐渐提升,导致等级和游戏节奏失控,所以在这里对战斗场次做出了修改,让其以幂函数的方式增长,一方面可以保持游戏节奏仍在控制范围内,另一方面也可以避免玩家快速疯狂升级导致的战斗碾压。

 

《梦幻西游手游》

梦幻西游中,玩家等级如下,由于梦幻现在有一百多级,全部截下来图太长了,我就截取有代表性的一部分:

 

把这个表拉成图片是这样的:

 

和上面的分析类似,首先:

战斗经验=单位经验X单位数量

在梦幻中,整体来看单位数量可以认为是一个定值,所以战斗经验和单位经验线性相关,而单位经验基本是线性的,所以这里我们认为各个等级的战斗经验是线性增长的。同时,由于网游的特性,玩家每级需要的单位时间是会逐渐增长的,也就是说战斗场次是逐渐增长的。此外,游戏中我们希望玩家前期能快速升级,不停地爽,而后期会缓慢升级,避免太大的更新压力,因此,在这里,我们设定玩家在前期的战斗场次提升是线性的,而后期可能是二次函数的,也就是说,玩家前期的经验曲线是二次函数,后期是分段三次函数,和上面的拟合曲线基本相符。

这里其实还有一个细节,就是根据我们前面的分析,前期我们希望快速升级,那么为什么不能保持战斗场次不变,让等级经验线性提升呢?其实我个人认为,在非常前期,比如前30级,直接作成线性的经验曲线也没有什么问题,因为在这个等级区间中,基本上是一场战斗/一个任务就可以升一级,刻意在公式中强调场次的变化没有什么太大的意义,我们拉出梦幻中1到30级的曲线,其实也是接近线性的: