51Testing软件测试论坛

标题: 网络游戏的平衡性测试(转) [打印本页]

作者: 跳舞的猫咪    时间: 2007-10-19 15:51
标题: 网络游戏的平衡性测试(转)
概述:本文将通过对网络游戏的经济系统的分析以及针对特定游戏的经济系统设计测试来给大家展示游戏的平衡性测试思想。

        为什么要选择经济系统作为研究对象: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级涉及到一次固定资产的投入即购买坐骑,以此类推。同样,不同种族的相同职业,也可以看作是等价类。如果可以实现从任意等级开始实施测试的话,我们也可以覆盖更多的等价类,得到多个不同等级阶段的测试结果,要知道越多的数据将会使测试结果更加趋于精确。
作者: jjxchong    时间: 2007-10-23 15:14
受教~~
作者: AwL_1124    时间: 2008-10-17 22:52
lz很强  从哲学的角度分析测试
作者: adinQueen    时间: 2008-10-21 12:32
楼主很强,很多时候平衡性测试我们都找不到一个预期结果,都是先进性测试,测试过程中记录相关数据,最终分析所的数据。其实我们知道很多东西有了一个预定可以对照的结果测试起来必然会更加方便些。很多时候我们发现平衡只是相对的平衡,并不能够达到绝对的平衡。
作者: mailtolily    时间: 2010-1-14 15:54
致敬
作者: 倚窗聆雨    时间: 2012-3-17 11:42
写的不错
作者: 18628087606    时间: 2013-5-2 12:43
牛XXXXXXXXXXXX




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2