|
小议MMORPG的物品价值
作者:TOKEAD
写这篇文章的源由:
1. 看了那篇北美WOW论坛上的关于ilvl和itemvalue的精华贴有点感慨(本文在GAMERES上有翻译稿,数值版《关于物品价值的计算》,xiaoBig发的;
2. 看了不是平凡人的《新人通病之解决办法(读饕餮)》,正好我也是一个新人,正好我也打算进入这个圈子搞游戏,所以我写了本文以作敲门之用。
正文:
一. 我们需不需要一个系统来判断物品的价值?
这是一个我们必须回答的问题,我们究竟需不需要这个价值系统。在国内,好像没有发现这个系统的踪迹,BAIDU上找不到,GAMERES上也没有相关的讨论贴。然而在暗黑2里,BLZ就开始有了ilvl的概念,在WOW里面更是已经形成了一个系统,以国内模仿能力和模仿速度来说,我是不相信大家完全没有这种系统的,只是不愿拿出来显摆罢了。
在网游还没有流行的时代,我想可能很多物品都是策划们一个属性一个属性的慢慢的按经验来确定,然后通过不断地测试进行修改并最终成型。对于单机不多的物品和相对受控制的流程来说,这样做很直观,也不会对游戏平衡带来负面的影响。
在网游红火起来之后,为了平衡,策划可能在物品上加上了等级限制,我们只准高等级玩家使用高级物品,以免低等级玩家拥有高级物品而破坏掉游戏的平衡性。那么,高一个等级限制的物品应该在属性上好多少?相同等级限制的物品又怎么保证它们的平衡?同时,网游是一个需要不停地添加新内容来保持住玩家兴趣的东西,那么,新的物品应该怎么设计?赋予它更好的属性和更高的等级限制?属性要提高多少比较合适?等级限制要提高多少比较合适?现在又多了品质的概念,同种物品有上品,中品,下品,极品,红的,黄的,绿的,兰的,紫的……又怎么保证更好的品质有更好的属性?(那些直接在数值上增加的就不说了)
我认为这些可以通过设定物品的价值体系来加以控制解决。
二. 如果我们需要物品价值系统,那么我们要求这个系统能做哪些工作?
假如你认同我的判断,认为我们需要这么一个系统,那么我们来看看这个系统需要能做什么工作。
1. 它要能够通过一个物品的属性判断出它的价值。但我们注意到,同一属性对游戏中不同职业的人来说很可能有不同的价值,比如一把剑,它可能对剑士来说是一个极品,但更可能对法师一点用都没有。这种情况怎么处理呢?见后文。
2. 通过物品价值算出物品等级。这是比较简单的,我们可以通过公式来自动折算。比如ilvl=int(itemvalue/100)(或者用平方,立方公式,这并不重要)这个功能的目的一是让差异极大的物品价值能进行简单的归类二是让策划者交流时不至于总是提到庞大的价值数而是100以内的整数----物品等级。
3. 根据物品等级和物品使用限制等级算出物品品质,这同样是比较容易实现的。比如我们设定:IF A.ilvl>A.itemlimitedlvl+10 then “A是上品” else if A.ilvl> A.itemlimitedlvl+5 then “A 是中品”……(当然,你也可以用乘法,乘方之类)
4. 通过物品品质和物品使用限制等级算出物品等级然后算出物品价值,这其实是以上要求的倒推。
在有了这个系统以后,策划可能会这样设计一个物品,首先确定你要设计的物品的使用限制等级和物品品质,然后通过系统算出它的物品等级,再设计物品的属性,根据你所设计出的属性计算出的的物品价值和物品等级与刚才算出的物品等级进行对比,并进行微调,最后测试,调整,测试,调整…
三. 在知道对系统的要求后,我们先不忙设计自己的系统,先看看别人是怎么做的。
以下这一部分内容均根据WOW北美官网上的一个玩家zifnab对WOW的物品价值的分析贴所写,它不一定是BLZ的真正公式(或者说一定不是),但是他被证明在大部分的WOW里的普通物品上是有效的,我并不在意它是谁做的,只要它有用就行。我尽量把它归纳一下,如下:(翻译稿在GAMERES上数值版的《关于物品价值的计算》,xiaoBig发的,原稿在我的QQ空间里有转贴,236538111.qzone.qq.com,相对译稿来说作者有比较多的更新)
Itemvalue(物品值,你可以理解为一件物品的价值的数值体现)- 一件物品所有属性的总值。显而易见,这个值是基于物品的种类,品质和ilvl。
Statvalue - 某件物品的一个属性的数值。比如一个指环+12智力,那么它的 智力Statvalue就是12。
StatMod - 一个特殊属性的值,是这个属性的量化体现。在我的物品系统里,所有属性对是以 +治疗 属性为参照的,而 +治疗 属性的StatMod被定为100。任何的属性都可以定为参照数。事实上重要的只是那个比例值。只要你使用恰当并且按比例来,那么得出的所有结果应该是一样的。
所有物品,它们都使用同一个“属性池”,它们是:
力量,敏捷,耐力,智力,精神,DPS,攻击强度,远程攻击强度,+命中,+重击,护甲值,防御,伤害盾(DMG Shield,这是什么?-_-),+躲闪,+招架,+格挡,+格挡值(前面那个是+%xx,这个是+数值),+生命恢复,+魔法恢复,+法术重击,+法术命中,+所有法术效果和伤害,+治疗,+火/冰/自然/暗影/神圣/奥术伤害,+火/冰/自然/暗影/神圣/奥术抗性。
Itemvalue = [(StatvalueX*StatModX)^1.5+(StatvalueY*StatModY)^1.5+ …]^(2/3)/100 (X,Y代表属性的数值,^是指数)
以上是作者通过属性算出itemvalue,以下是通过品质和ilvl算出itemvalue.
SlotMod - 不同装备部位的预测值(就是说,同一个ilvl下,不同部位的装备还有一个不同参数,即SlotMod)。
现在我们知道如何计算物品的Itemvalue,也罗列了数百种我们已知的按等级线性增长的物品,我们可以依靠物品的ilvl,类型和品质来估算它们的Itemvalue。
绿色物品 = (ilvl * 1.21 ? 9.8 ) * SlotMod
蓝色物品 = (ilvl * 1.42 ? 4.2) * SlotMod
紫色物品 = (ilvl * 1.64 + 11.2) * SlotMod
我没有转贴上具体的比例系数,因为它们在我们不涉及具体的游戏而只是讨论公式时并没有太大的作用。我们可以看到,这两个公式完全可以满足我们刚才对物品价值系统提出的要求。
同时,我在这里回答一下同一属性对不同职业有不同的价值,在设计系统时这个怎么处理?我的意见是,直接考虑该属性的最大作用效果来设计它的比例系数StatMod,比如力量就直接考虑它对战士的作用,法术伤害就直接考虑它对法师的作用,治疗效果就直接考虑牧师。(我相信BLZ也是这样考虑的,由作者zifnab推导出的五个基本属性:力量,敏捷,耐力,智力,精神的StatMod的比例是1:1:1:1:1.就是因为他们虽然对不同的职业作用不一样,但是各自对某个或某几个职业有最好效果,比如力量对战士,精神对牧师,而这种效果在BLZ的设计里是大致相当的。)
可能有人会说,这样做会导致游戏不平衡,因为一个装备,可能对一个职业特别好,对另一种职业一点用都没有。其实只需要我们为玩家设计出大量的可供选择的相同ilvl的物品,并充分考虑到不同职业的需求,就可以解决这个问题。这样的话,他们会选择对自己来说最好的装备。平衡并不是要绝对的让所有人都是相同的属性,而是给予他们足够多的选择和机会。当然,如果一个策划偏要设计出又加力量又加治疗又加敏捷的高ilvl,却没有什么玩家会选择的东西,我也没话说。(我想起暗黑2里的加后缀前缀来决定属性的物品自动设定系统了,那里的东西才叫乱。当然,BLZ也在那里为普通玩家设定了大致属性固定的暗金装备以免玩家抓狂。)
四. 三所述的系统对我们来说,它的优点和使用时要考虑的问题
优点:
1. 每个属性在公式中的表现都是他本身的1.5次方。这样它不会增长得太快,但又可以更好地平衡超高的单独属性。举个例子,一件物品可以有+29力量或者+18/19 力量/耐力,这两种情况下物品的Itemvalue大致上相等(数值足够相近到同等ilvl的程度)。
2. 把这些属性的1.5次方加起来以后得出的值再化为它本身的2/3次方,这能使Itemvalue不会螺旋型上升。经过这些改变之后,物品的Itemvalue将基于ilvl线性上升。(以上两条是zifnab在他的文章里写出来的。每次看到这里,我都告诉自己,这是一个神的作品,所以你不用感到自卑,即使你是学数学的。)
3. 它没有选择使用Itemvalue = [(StatvalueX*StatModX) +(StatvalueY*StatModY) + …] /100 是为了让不同属性之间的影响更大一些。比如10力量,20精神的装备和20力量,20精神的装备进行比较,原公式两个itemvalue的差值是7.27,一阶线性公式的差值是10(设statMod为1,不除以比例系数100)。可以看出原公式中一属性对另一属性的影响加大了,这样做是因为考虑到不同的属性可能不是都适合某一职业的,越多的属性,它对某一职业的效果差别波动就越大,所以给予的itemvalue理所当然的要减少。(参看我刚才提出的如何决定StatMod的观点)
4.它考虑到了不同的部位的相同ilvl的装备有不同的itemvalue的值。而这一点,我承认我并没有考虑到。比如你的衣服对你的影响肯定比一个戒指的影响大,这使得装备更加真实。
5.不同品质(即绿色,兰色等)的物品的itemvalue不仅仅是一个ilvl的乘法系数的不同,更加上了一个固定常数。这使得不同品质的相同ilvl物品的差距加大了,区别更加明显,同时不同ilvl的物品的差距则没有被过大的乘法系数加大到不能追赶的地步。
问题:
1. StatMod如何决定?不同的属性所带来的效果是不一样的,那么,这些效果间的比例系数该如何决定?
2. SlotMod如何决定?不同的部位和比例应该如何决定。
3. 不同品质的物品的乘法系数和固定常数的确定。
4. 是否能找到更好的公式来表达我们的物品价值系统?
五. 对四最后提出的问题的一些看法。
1. StatMod的决定,对于一款MMORPG来说,战斗是他的中心,所以我认为StatMod的决定首先要由伤害公式来推导,然后是根据策划者的经验了,最后是不停地测试,调整,测试,调整。
2. SlotMod的决定,我觉得这一设计的目的是为了让游戏更加符合现实,所以可以通过现实中的情况大致地设计出来,然后仍是测试,调整……
3. 乘法系数和固定常数的确定主要是看策划者的目的,如果想让不同品质之间不同ilvl的差距进一步加大,比如本来40级绿装和30级兰装的itemvalue差不多,现在我认为要加大兰装的获得难度,同时加大绿装和兰装的差距,让50级的绿装和30级兰装的价值差不多,那么可以加大乘法系数,等等。
4. 我们当然可以,而且应该努力找到最适合我们游戏的公式来表达我们的物品价值系统。请注意:1.上面的公式不是BLZ的公式,2.就算它是BLZ的公式,它也不是上帝的公式。
六.
六. 对征途的普通武器设定的一些猜测
想到最近在国内和业内都闹的很欢的游戏—征途,心想不如看看它的装备是怎么设定的吧,去了17173看了征途的武器资料,比较简单,于是就写了这么一章出来。
开始的时候我是打算直接用回归分析的,可是在把数据往EXCEL里贴的时候,我发现一个问题,那就是:刀的最大攻击和最大攻击之和是和剑的一样的,基本是每级就这样,最多差了1。于是就想是不是征途是根据攻击和来作为关键值进行设定的?在把几乎所有武器的基本数据贴进去后,我发现,是的(至于为什么不是全部,是因为换成你看着已经知道规律的数据,也会烦到死吧)。我们设定以刀的攻击和为基数,剑与它的比例是1,斧子是在1.39的样子,杖的魔攻和的比是1,物攻和的比是0.39-0.4,锤比较特殊,前三个的数据偏差有点大,棍是在魔攻1.1,物攻在0.58的样子。如下图:
刀攻击和 斧 杖魔攻 杖物攻 剑 锤 棍魔攻 棍物攻
35 1.371429 1 0.371429 1 1.142857 1.085714 0.571429
70 1.385714 0.985714 0.4 0.985714 2.042857 1.085714 0.571429
107 1.392523 1 0.392523 1 2.439252 1.102804 0.570093
153 1.392157 1 0.398693 1 2.568627 1.098039 0.588235
203 1.394089 1 0.394089 1 2.635468 1.098522 0.581281
257 1.396887 1 0.400778 1 2.657588 1.101167 0.587549
321 1.398754 1 0.398754 1 2.619938 1.099688 0.588785
387 1.397933 1 0.400517 1 1.100775 0.586563
460 1.397826 0.997826 0.4 0.997826 1.097826 0.586957
540 1.398148 0.998148 0.398148 0.998148 1.098148 0.583333
623 1.398074 1 0.398074 1.099518 0.585875
711 1.398031 1 0.399437 1.099859 0.587904
807 1.399009 1 0.400248 1.100372 0.586121
910 1.398901 0.998901 0.398901 1.098901 0.585714
1013 1.399803 1 0.399803 1.100691 0.587364
1127 1.39929 1 0.39929 1.100266 0.585626
1245 1.399197 1 0.399197 1.100402 0.587149
1367 1.399415 1 0.399415 1.099488 0.585223
1497 1.399466 1 0.400802 1.1002 0.587842
1631 1.399142 1 0.399755 1.100552 0.586143
于是我们可以这样设想,征途的武器的基本攻击是这样设计的,先用设计好一个系列的武器(比如刀),然后用大致的比例算出其它武器种类的攻击和,把攻击和分配到最大攻击和最小攻击去,然后我验证了一下,发现每武器的最大攻击和最小攻击确实是成比例的,刀是在1.5的样子,斧是1.5,杖是在1.33-1.35,剑是在2.1,锤除了第一个都在1.86(锤的第一个数据确实很奇怪,如果不是17173的数据有问题的话,就应该是他们为了不让玩家在初期就觉得锤的攻击力过大带来太多玩家选锤而故意作的改动。)棍也在1.5。
在知道了这些以后,我们只要推出样品武器的攻击力公式就可以算出所有的武器在不同等级的攻击数据了。(很遗憾只能找到白板武器的数据,于是那些附加的有意思的属性的价值没法推导)
对刀的攻击和与它的等级的关系进行推算,很奇怪的,我并没有找到一个足够精确的公式来表达这种关系,也许是我的功力不够,也许是他们本来就是直接估值的,谁知道呢。当然,我也有所发现:设n为等级,A为攻击力和,则大致上有:An+A(n+20)=2*A(n+10),但是,请注意,这只是一个大致的公式,并不能得出他是一个等比或者等差数列。
最后,为了让相当等级(ilvl)的武器有相同的价值,那些低价值的物品就应该加强,比如提高它们的攻击速度,高价值的物品就降低攻击速度,从而让他们的真正的itemvalue大致相等。
后记
本来打算为了引起更多招聘者的兴趣而在第六节写一个我自己设定的物品价值系统的,但是我后来发觉实在办法为一个想像中的游戏设计这个系统,我再次说明,偶没有任何经验。那,既然如此,就这样结束吧。哦,对了,如果有公司对我有兴趣,直接在论坛上或者QQ上发消息给我即可。
另:欢迎拍砖。最好每个看完的人都至少拍个爪子。
最后,真的是最后了,我发觉其实这4000字也没有说明什么东西嘛,离我真正想说的还有一度距离,罢了。
2007-9-22
[em19] [em19] [em19] |
|