网络游戏经济系统的平衡性测试

  概述:本文将通过对网络游戏的经济系统的分析以及针对特定游戏的经济系统设计测试来给大家展示游戏的平衡性测试思想。

  为什么要选择经济系统作为研究对象:1. 游戏的经济系统可以说是整个游戏中最重要的一个部分,几乎所有的系统都和经济系统有着直接或间接的关系,它的平衡性直接关系到整个游戏的可玩性.2. 网络游戏中的经济系统可以抽象的更为直观,便于我们理解。在测试和分析的过程中,我们可以清晰地观察到测试的结果,便于分析。

  需要特别指出的是,要想从数学上实现完美的平衡性,对于一个大型多人在线角色扮演游戏来说,几乎是不可能的,随着随机因素的增加,可能造成更多的影响。因此在文章的以下部分涉及到数值方面的问题时,我将使用尽量简单的数字,着重阐述关于平衡性测试的思想。接下来让我们看看什么是经济系统。

  网络游戏经济系统原理以及简单模型的平衡:网络游戏中,经济系统有4个基本的概念:生产,积累,交换,和消费。

  1.生产:生产要素主要有两种:劳动和劳动工具。我们可以认为,凡是为了一定的目的而存在的活动(如练级、杀怪、生产、采集等),都是劳动;而劳动工具,则是劳动过程中,玩家所具备劳动的能力(如玩家等级、装备、技能、魔法等)。平均劳动时间(指的是大多数人进行劳动的时间)决定了生产的价值,劳动工具决定了个别生产的效率。

  2.积累:积累主要是劳动工具的积累,可以分为生产力和生产资料。生产力是指玩家不可移动的并且随着时间推移逐渐提高各种属性与能力,例如:等级、技能、魔法、甚至天赋等。生产资料在这里指玩家可移动的各种物品,比如:装备、材料、道具等。在游戏中,生产力的积累将会伴随玩家角色一生,而生产资料的积累则是根据玩家生产力的积累而变化的。

  3.交换:在大型mmorpg中,最大特点就是玩家的互动,所以交换就成为了人文互动的关键因素,而通常只有生产资料才能在游戏中进行正常的交易。而价值又分为使用价值与交换价值,使用价值是指生产资料对生产力的帮助能力,而交换价值是指玩家在交换时等价货币正常表现的价格。使用价值是由生产资料的能力(如物品装备的附加属性)来决定,不会通过交换而改变。交换价值主要是由一类生产资料的产生频率而决定,如果在游戏中有一个很不错的装备,但是玩家可以轻易的得到,且持有率很高,那么这个装备在交换中并没有什么交换价值。货币则在交换中起到等价交换的作用,在对游戏货币数量控制的较好的情况下,玩家拥有货币的多少,一般可以决定玩家拥有多少价值,购买力有多强。

  4.消费:消费是网络游戏经济系统里最重要的部分,决定了生产数量和生产资料的交换频率。消费可以划分为两种,一种是生产消费,包括购买生产资料,和生产力自身的消耗,他是可循环的,最终还是会转化为生产;另一种是自然消费,比如魔兽世界中玩家购买烟花,礼服等等,消费的目的不是为了转化生产,而是只单纯的享受或者是消遣。在游戏中,通常生产消费是主要消费手段,玩家也愿意把大把得金钱砸出来以增强生产的能力,而自然消费则是根据不同阶段的玩家的承受力来决定,设置太高的自然消费水平,会让大多数玩家望而却步。

  其中积累和交换,是玩家自身的行为,没有涉及到与经济系统交互的问题所以我们将不再进行阐述,而生产和消费则对应了经济系统中2个重要的价值流动渠道。

  这是一个最简单的网络游戏经济系统模型,图中箭头方向为货币的流向。玩家是一个整体,我们把经济系统的生产单位和回收单位称为做系统,把基本生产资料交易的场所称为材料市场,把消费品的交易场所称为产品市场,系统和两个独立的市场即资料市场和产品市场构成了整个经济系统。由模型中我们可以看出,系统和玩家之间的经济交互,主要有两条路径:系统的产出,即系统给予玩家的如装备、金钱、战利品等通过生产资料的市场投放给玩家,以及系统的回收,主要是通过玩家在产品市场的消费来进行的。当一个经济系统达到平衡时,我们可以认为,就是这样2个数据流既系统回收和系统产出达到了平衡。

  但是,所平衡就是指两种途径的数值上的简单相等么。我们假设是的,那么玩家在游戏中的所得完全被系统回收,玩家之间将不再会有游戏货币流通。这种貌似平衡的状态,实际上是消灭了玩家对积累的进一步追求,导致游戏失去了可玩性。

  那么,这2个途径到底怎样才算是平衡呢。我们可以在很长的一段时间内,对系统的产出和回收进行一个数值化的比例约束,或者使游戏进行到一定的阶段,系统的产出和回收达到某一个比例并且稳定在一定的范围之内。需要注意的是,这一个阶段系统的产出一定要大于系统的回收,只有这样玩家才能积累金钱和生产资料,才能使玩家之间产生货币的流通,游戏之于玩家才会更有乐趣。

  例如,我们假设系统在一天内的产出的价值是100,回收的价值是60,那么这多出来的40就是玩家所得到的价值。这个价值可以有多种的表现形式如装备,金钱,材料等等,若玩家获得更好的装备,就可以直接使用装备来提高劳动的效率,或者通过交换获得金钱进入流通。

  什么是游戏的平衡性:说了半天经济系统的平衡,我们来看看到底什么叫做平衡性。

  所谓平衡性在广义上来说包括了玩家与玩家间的平衡性(技术水平的差距):主要体现在竞技类游戏和即时战略游戏中,玩家与游戏规则间的平衡性(体现在可玩性)主要体现在如《大富翁》等休闲游戏中,游戏内部的平衡性(包括各个系统的平衡)主要体现在社区型多人在线游戏中。

  我们可以把游戏看作是一个多样化选择的集合。玩家在游戏中每走一步,每个阶段,都可以做出多种多样的选择来进入游戏的下一个阶段,来实现自己在游戏的乐趣。但是如果当游戏进行到某一个阶段,那些多样的选择逐渐减少,甚至出现唯一的选择,而这时游戏仍然在进行中,那么显然这个游戏失去了平衡。

  而对于游戏中一个个单独的系统如经济系统等,平衡就是指系统对玩家的给予和系统从玩家那里回收的平衡。这个平衡就如上面所讲到的并不一定是指数值上的相等,而有可能是指在很长的一个时间段或者阶段,系统对玩家给予和系统从玩家处的回收是按照一定的比例存在的。这个比例就是整个系统平衡的关键。这也是游戏策划需要努力寻找并且在实践中不断调整的一个比例。

  了解了这些原理之后,让我们回到平衡性测试。

  为什么要进行游戏的平衡性测试:平衡性测试一般遵循游戏性测试的原则,因为平衡性测试是游戏性测试的一个重要的组成部分。而游戏性测试通常是作为功能测试的一种弥补而存在的。但是我们绝对不能忽略游戏性测试,因为在进行正常的游戏测试时,即使我们相当相当仔细的分析了策划文档,研究了测试计划,即使我们设计出了一份非常详细的测试用例书,甚至我们为了测试这个项目不惜分析一遍以前的案例,我们依然有可能遗漏某些地方的问题,这些地方大多数就是游戏性的问题。

  游戏性测试和功能测试的最大的区别在于,在我们没有被给予一个明确的目标来重现一个较大的缺陷时,我们需要带着所有的疑问进入游戏,在游戏的探索的过程中来发现这些问题,因为游戏性测试更依赖于我们对游戏的理解和直觉。

  平衡性测试:为了更好的阐述平衡性测试,以下我们用一个具体的游戏《魔兽世界》作为对象来展开测试。

  魔兽世界基本介绍:魔兽世界是建立在著名的魔兽故事基础上的一个大型多人在线角色扮演游戏。玩家在广阔的世界中探索,冒险,完成任务,其目的就是要成为魔兽世界中的英雄。魔兽世界可以让数千名玩家通过互联网在同一世界中进行交互。无论是一起冒险还是在史诗般的战斗中,玩家之间会建立友谊,组成联盟并且一起为了力量和荣耀而与敌人共同战斗。

  魔兽世界的经济系统也符合以上经济系统的构架,但是在玩家群体之中添加了很多更具游戏性和互动性的系统比如拍卖行等等。需要提到的是,魔兽世界的经济系统平衡性做的很好,但是到了游戏的后期仍然存在很多平衡性的问题,比如由于高级战利品的价格较高而系统又缺少新的玩法来有效的回收这些过剩的金钱,导致了玩家金币积累过多而造成平衡的失调,最直接的表现最初的魔兽金币的线下交易每个几乎需要2RMB而现在却只需要几分钱。这就是为什么暴雪到了后期为了避免游戏中通货膨胀而需要进行像安琪拉开门以及明年引进新的种族和开放外域空间的世界性事件,因为需要更多的玩法来回收玩家的金钱。

  在魔兽世界中,玩家从经济系统获得金钱只有2种途径:1.打怪,得到一定数量的金钱或是装备战利品可卖予npc商店换取金钱;2.任务奖励,玩家通过做任务获得金钱,或者装备的奖励。我们把运用生活技能进行采集等获得奖励的途径看作是一种变相打怪行为,因此将其归为一类途径。而系统从玩家处回收包括学习技能,装备修理,购买消耗品以及飞行费用等等。

  以下我们就根据魔兽世界的背景来进行游戏初期的平衡性测试。

  分析文档(由于没有策划文挡,我只能简单的描述一下分析文挡时需要注意的问题):明确魔兽世界的基本构架,理解策划人员对平衡性的要求,也许有的需要保持平衡性的地方有明确的说明,但是有的更细节的方面就没有明确的策划文档依据。尝试理解整个游戏,才能够具有足够敏锐的嗅觉来发现问题,要知道我们实际上并不清楚哪里会出现问题,但是遍历游戏的所有玩法是不可能的,所以我们要通过设计有效的测试用例来完成。

  设计测试用例和执行用例:根据策划文档的分析结果,来设计测试用例。对于平衡性测试来说,寻找一贯占优势的方法或者一贯不被采用的方法来进行游戏测试,并且将这两种情况归结到典型的不平衡当中,作为边界值来使用。比如我们发现大多数玩家热中于farm而不去理会那些很有吸引力且回报颇丰的任务。那么这种方式我们在设计用例的时候一定涉及到,但是我们并不能在这个时候就简单的认为这是不平衡的,因为我们并不知道这些情景下所得到的结果是不是我们所预期的那样,所以一切都要实施测试之后才能得出结论。需要注意的是,在测试的过程中,我们要将系统的回收(如修理装备、购买消耗品)从最后的玩家获得中扣除,最后得到玩家的纯收益,一般都用金钱来衡量。

  在选择测试用例的时候,要明确我们的测试目的,我们是要对经济系统进行测试,所以要尽可能的排除其他事件对测试过程的影响如角色的死亡以及在2块大陆或者多个飞行点之间的来回穿梭的时间等等,也可能需要我们进行反复的测试来得出真实有效的测试结果,最后再来对照策划文档进行测试结果的分析,如在一定的时间或者阶段,系统的产出和回收的关系是怎样,是不是符合策划的要求。

  需要注意的问题:等价类的划分:准确的划分等价类,这样可以节省大量的测试时间。

  这是我针对魔兽世界进行等价类划分的一个例子:1-10级是我们测试开始实施的阶段,需要进行测试。10级以后由于开启了天赋系统,会对角色的劳动效率造成一定的影响,所以11-20级也要进行测试,而31-40级可以被认为是20-30级的一个等价类,因为在其间没有转职或引入新的系统。41-45级则需要进行测试,因为在45级涉及到一次固定资产的投入即购买坐骑,以此类推。同样,不同种族的相同职业,也可以看作是等价类。如果可以实现从任意等级开始实施测试的话,我们也可以覆盖更多的等价类,得到多个不同等级阶段的测试结果,要知道越多的数据将会使测试结果更加趋于精确。

  设计用例:

  1. 建立人族战士角色,从1级开始进行游戏,只通过打同等级怪进行升级,在其到达10级的时候,分析角色获得的金钱,并与策划文档进行比较,看是否达到策划的要求。

  2. 建立人族战士角色,从1级开始进行游戏,只通过做任务进行升级,在其到达10级时,分析角色获得的金钱,并与策划文档进行比较,看是否达到平衡。

  3. 建立人族战士角色,从1级开始进行游戏,通过正常方式升级(即做任务同时有目的的farm怪物),在其到达10级时,分析角色获得的金钱,并与策划进行比较。

  以上都是很多玩家根据自己的兴趣所在而选择的游戏方法,但是我们要考虑到有些玩家会使用的其他的方法来提高劳动效率,比如购买大量的药品来进行辅助杀怪,或者是在有可能的情况下,使用药品来击败高级怪物以及完成某些团队任务(主要是杀死高难度怪物的任务)。

  我们再来看2个例子:

  1. 建立人族战士角色,从1级开始进行游戏一个小时,只通过打同级怪获得经验,一个小时结束后,记录角色获得的经验值及金钱数。

  2. 建立人族战士角色,从1级开始进行游戏一个小时,使用一切能够使用的消耗品如血药、蓝药以及buff药水,只通过打同级怪获得经验,一个小时结束后,记录角色获得的经验值及金钱数

  这2个用例的测试目的是希望从测试结果得到的数据中发现可能存在的平衡问题,假设用例1所得到的结果是玩家获得100经验、100金钱,而用例2所得到的结果是玩家获得200经验、300金钱,要注意我们不能凭借几个数值间简单的数学关系就判断它们是否平衡,而是要返回数据给策划来判断。

这里有几个需要注意问题:

有时策划文档会给出我们明确的可比较的数据来作为对照的依据,但有时却没有,那要怎样确定有没有达到平衡呢?

第一种情况:我们可以通过比较多个用例的测试结果分析所测试的几种游戏方式是否平衡,如果某一种方式如单纯打怪升级,在角色到达10级的时候,所消耗的时间远小于其他两种方式所消耗的时间,或者所获得的金钱数量大大超过了其他的两种方式所获得的金钱,那么我们可以明确的知道对于这样的3种游戏方式是不平衡的,需要提交给策划进调整。

第二种情况:我们所得到的数据从数值上看并没有出现不平衡的现象,多个用例最后达到的效果基本相同,那么我们是不是就可以判定这样就算是平衡呢?答案是否定的,比如通过以上3种方式角色均获得了1000经验以及500金钱,但是有可能策划在这个阶段中只希望玩家获得500的经验和300的金钱,否则可能给整个经济系统的平衡带来麻烦。这就需要我们和策划人员进行良好的沟通,客观的返回测试数据,而不是草率的认为其平衡就将其忽略掉。

第三种情况:在策划文档没有明确的可比较的数据来作为对照的依据是,也无法通过测试的结果来确定是否达到平衡的时候,我们只能将测试的结果数据客观的返回给策划,由他们来分析是否达到了平衡,是否需要调整。

总之,测试所得到的数据一定要返回给策划,对于测试人员来说,这3种情形的根本区别在于需要对不同的数值进行不同程度的分析,并最好对分析进行记录,这是积累平衡性测试的经验好方法。

测试报告:平衡性测试报告的基本流程和功能性测试报告基本相同,只是在细节内容上有部分差异,这些差异又主要来自于测试思想上的区别。

编写目的:描述测试报告的具体编写的目的,包括预期的读者范围。

通常,用户对测试结论部分感兴趣,开发人员希望从缺陷结果以及分析得到产品开发质量的信息,项目管理者对测试执行中成本、资源和时间予与重视,而高层经理希望能够阅读到简单的图表并且能够与其他项目进行同向比较。此部分可以具体描述为什么类型的人可参考本报告XXX页XXX章节,你的报告读者越多,你的工作越容易被人重视,前提是必须让阅读者感到你的报告是有价值而且值得浪费一些时间去关注的。

平衡性测试报告的编写目的当然是为了测试游戏的平衡性,针对不同的游戏系统或者整个游戏都需要给出不同的测试报告。我们的测试报告的主要读者一般为测试人员和策划。

项目背景:简要的介绍所测试的游戏的目标和目的,这部分主要是根据策划文档来完成。

系统简介:从策划文档中获得。

测试用例设计:需要我们认真地编写,简要地介绍测试用例的设计方法。例如等价类的划分和边界值等等。最好能对用例设计进行具体的说明,使策划和其他的读者容易对我们的用例设计有个整体的概念,这也是一种和游戏设计和开发者的沟通方式。

如果在测试中我们使用了一些非常规的方法,或者以前没有使用过的方法,需要特别列出介绍。而重要的测试部分则要保证有两种甚至更多不同的测试用例设计方法。平衡性测试对于现在的游戏测试来说还处在初始阶段,许多经验都需要在不停的设计用例过程中来积累,因此这一点在平衡性测试报告中显得尤为重要。

测试环境与配置:介绍测试的环境和配置,主要以清单的方式呈现,也可以列表呈现。需要包括以下一些内容:

1.数据库服务器配置

CPU:

内存:

硬盘:可用空间

操作系统:

应用软件:

机器网络名:

局域网地址:

2.应用服务器配置

3.客户端配置

测试方法:介绍测试中采用的方法。对于平衡性测试来说,主要介绍测试的重点和测试的模式,这样可以一目了然的知道是否遗漏了重要的测试点。

测试过程:描述测试过程中资源的消耗,并以实际数据来呈现。

测试组织:主要介绍项目测试组的架构,用户参与情况等等。对于平衡性测试来说,主要是告诉读者哪些战友和你并肩测试。

测试时间:列出测试的跨度和工作量,把编写测试文档和实施测试的时间划分开来。对于平衡性测试来说,2种活动都需要较多的时间,而对两块时间的统计也可以为以后的同类项目测试提供参考。

测试版本:给出测试对象的版本,如果是最终报告,可能要报告测试的次数。平衡性测试需要进行大量重复的测试,因为有可能版本的每一次更新在解决旧的问题的时候都会给游戏的平衡性带来新的问题。

缺陷的统计与分析:缺陷的统计主要涉及到测试对象的质量问题,因此,游戏的设计、开发以及其他测试人员将会重点的关注这个部分。对于平衡性测试,我觉得可以把这部分叫做数据的统计与分析,因为这样的一个测试结果反映出来的问题,到底是不是需要调整的,我们作为测试人员只能以策划的要求为准,所以我们需要在这一部分把数据真实客观的返回给策划,然后再分析具体测试活动中的一些情况以及自己的想法。

测试结论和建议:

1. 测试执行是否充分

2. 测试目标是否完成

3. 测试是否通过

4. 是否可以进入下一阶段项目目标

对于平衡性测试,测试的结论很可能是一堆堆的数据,所以在这里我们更多的是提一些建议,记录在游戏中的体验,对游戏中的某些明显的不合理提出修改意见。

以上就是关于如何编写测试报告的一些想法。

总述:

游戏的平衡性测试,以及游戏性测试目前还很不规范。如果想要规范这个流程,就需要更好的与策划进行沟通,在游戏设计之初就对平衡性的方向把握甚至数值规定上有一个比较系统且多样化的设定,并撰写专门针对游戏的平衡性或者可玩性的文档。这样作为测试人员就可以很直观的在测试过程中发现不平衡的地方并直接提交策划修改,不需要只返回数值而由策划的主观意愿来进行修改。任何一个严谨的结构都需要质量和流程的监督。

但就目前来说已经实施的项目很难达到以上所说的要求,而且在网络游戏中复杂的经济系统的诸多不确定因素对整个经济平衡造成影响之前我们很难预见。平衡性测试或者说游戏性测试与功能测试又有很大的差别,它更强调对游戏的感觉,更加的主观。这就决定了作为测试人员,我们需要保持雪亮的眼睛和感知力,用各种方法把这些主观的感觉用客观的数据描述出来,并进行比较和分析,这才是平衡性测试以及游戏性测试的关键。

猜你喜欢

转载自blog.csdn.net/FlyPigYe/article/details/91353544