游戏开发论坛

 找回密码
 立即注册
搜索
查看: 25087|回复: 14

[原创] 论MMORPG中的游戏成长模型

[复制链接]

19

主题

197

帖子

1171

积分

金牌会员

实干兴邦,空谈误国

Rank: 6Rank: 6

积分
1171
发表于 2013-10-27 16:55:15 | 显示全部楼层 |阅读模式
本帖最后由 smallcorpse 于 2013-10-27 16:57 编辑

玩家成长模型.png
上图是一个MMORPG中一个玩家的成长模型,当然这个模型不是通用的,有些游戏使用的是倒数曲线,有的是双曲线,各有利弊,我这个主要是因为画起来方便(笑)。

玩家有效投入时间,指的是玩家在游戏进行过程中完成设计者设定的关卡所投入的时间。

玩家获得成长,指的是玩家在游戏进行过程中完成设计者设定的关卡后所获得的成长,包括但不限于等级经验的提示、属性的增强。

其中,设计者设定的关卡包括但不限于任务、副本、竞技场。具体释义请参照百度百科“关卡”词条中游戏关卡的释义。

倒数曲线的成长指的是随着玩家有效投入时间t的增加,在单位时间内玩家获得的成长l逐步减少,利在成长上限可控,弊在游戏后期老板说要加点明显的成长,比如加点资料片啥的你就得打补丁了。

双曲线的成长指的是随着玩家有效投入时间t的增加,在单位时间内玩家获得的成长l逐步增加,利在快感丛生,数字越来越大,而且不怕老板说要加成长,弊在后期数字真的太大了,有种控制不住的感觉。

直线的成长最简单,随着玩家有效有效投入时间t的增加,在单位时间内玩家获得的成长l不变,利在画起来简单,而且用起来也简单,弊在成长上限不可控,对玩家来说也没有大数字快感的刺激(集以上两个曲线的缺点大成)。

选择好了成长模型,还没完,到了引入关卡难度概念了,没有关卡难度,数字再大也体现不出成长。

关卡的难度,理论上来说是要略比玩家获得的成长大一点点的。

为什么呢,因为玩家除了系统里获得的数值上的成长,还有一个成长是在游戏中体现不出来了:对游戏的熟悉度。也就是说成长曲线l(t)只描述了玩家获得的数值上的成长,实际上玩家获得的成长包括游戏熟悉度,如果转化为游戏中等效的数值,是大于l(t)的。这也解释了为什么游戏设计者按照系统内玩家成长相应设计关卡难度时,越到游戏后期会让玩家觉得越简单的原因。

根据以上缘由,关卡设计难度与玩家成长曲线的差值r(t)-l(t)需要与t相关,不能是一个常数。

那我就再加一条斜率大点的直线(笑),另外两个曲线也可以同理加一条,在此就不赘述了。
关卡难度模型.png


写到这,这个模型就算完事儿了么,这个只能算是战略上的模型,我们还得细化一下战术层面上的模型。

现在开始引入策略的概念,也就是博弈中的策略概念,大家放心,不会涉及到什么纳什平衡、帕累托最优这种让人毁三观的理论,仅仅把策略的定义引用进来。

策略(strategies):一局博弈中,每个局中人都有选择实际可行的完整的行动方案,即方案不是某阶段的行动方案,而是指导整个行动的一个方案,一个局中人的一个可行的自始至终全局筹划的一个行动方案,称为这个局中人的一个策略。如果在一个博弈中局中人都总共有有限个策略,则称为“有限博弈”,否则称为“无限博弈”。(摘自维基百科“博弈论”词条)

运用到游戏中,我们定义玩家在面临一次选择时,叫做一局博弈,也就是说,技能1,技能2,技能3,我选哪一个去糊对面boss的脸,这就叫一局博弈(好像有点分太细了,不要紧,就这么着)。
假设玩家在进行一次关卡流程时需要面临n次选择,举例来说就是打个boss要释放n个技能,也就是说进行n局博弈。
在此又引入零和博弈的概念。

零和博弈(英语:Zero-Sum Game),又称零和游戏或零和赛局,与非零和博弈相对,是博弈论的一个概念,属非合作博弈。指参与博弈的各方,在严格竞争下,一方的收益必然意味着另一方的损失,博弈各方的收益和损失相加总和永远为“零”,双方不存在合作的可能。(摘自维基百科“零和博弈”词条)

假设这类博弈是零和博弈(其实不用假设,打个boss还有双赢的可能么),那么在这n局博弈中,玩家有m局胜利了获得了收益。那么我们定义m/n为玩家对游戏的熟悉度a(t)。(acquaince)

玩家的熟悉度被数值化出来后,我们就可以对关卡设计难度与玩家成长曲线的差值r(t)-l(t)进行规范了。

因为玩家对游戏的熟悉度a(t)是一个比率,所以我们定义在n局博弈中平均每次胜利所获得收益为b。(benefit)

那么玩家由于对游戏的熟悉度等效转化为游戏中的成长即为a(t)*b。大家注意,b可能是一个与时间相关的变量,也可能是一个常量,这就靠游戏设计者怎么拍脑袋了。

一般而言,玩家对游戏的熟悉度因人而异,所以在游戏设计者考虑玩家对游戏的熟悉度通常是按档次来的。比如特别不熟悉,有点熟悉,比较精通,精通等
好不容易把熟悉度数值化了当然不可能回到老路上去(笑)。我们设定,在一个关卡中,玩家熟悉度达到了A,那么就表明他通过了此关卡,这个A可能是一个与时间相关的变量,也可能是一个常量。看游戏设计者怎么拍脑袋了。

我是这样拍脑袋的。
阶梯模型.png
其中实线线段是表明关卡难度,OA的值表示的是上文所说的A。也就是说,每过一段时间内之后,玩家都需要对游戏熟悉度成长一个定值。

这个模型有个天大的问题,a(t)*b是有上限的,因为a∈[0,1],那么就是说,如果按这个模型来看,一般玩家进行到一定时间段,就无法通过增加游戏熟悉度而通过关卡了。

如果把这个一般玩家变成免费玩家……(偷笑),老板这时候是不是该给我加工资了。

其实,游戏关卡难度和玩家有效投入时间并不是处以同一个时间轴上的。也就是说游戏关卡难度不会随着玩家投入时间的增长而增长,他们是不相干的,我只是画着方便而已,各位看官就不要扇我脸了。

其实一般玩家进行到一定时间段如果被游戏关卡难度所卡住的话,也可以将整个坐标轴平移,也就是通过投入更多的有效时间获得更多成长后通过关卡。

结语:有人会说以上这个东西大家都懂,你这写的毫无意义,对此我不置可否。撰写本文的目的只是为了剖析实际真谛,虽然说可能目的并没有达到。但是如果没有人开这个头,游戏业永远只会停留于“经验论”,“资历论”上。我的目的是希望更多的游戏从业者站出来以学者的角度剖析事件寻求真理。

另,给自己打个小广告,http://bbs.gameres.com/thread_227081.html
《如何让一个游戏程序变成一个游戏产品,论用户体验》这个帖子比另外写的两个骂战贴个人感觉有用多了,希望多关注交流一下。

谢谢收看,我们再见。

16

主题

364

帖子

1223

积分

金牌会员

我的QQ:521117903

Rank: 6Rank: 6

积分
1223
QQ
发表于 2013-10-27 19:58:58 | 显示全部楼层
文章最后一段倒是蛮有意思的。我要提醒你的是,前面两个帖子不是骂战帖,是经过讨论后,发现你说的都是错的,然后你硬是要将其理解为是别人不懂,不愿意接受你的看法,不愿意与你讨论,底线在哪里?

21

主题

3926

帖子

5142

积分

论坛元老

索尼已经断气了.jpg

Rank: 8Rank: 8

积分
5142
发表于 2013-10-27 21:57:43 | 显示全部楼层
楼主有没有在自己的产品里验证理论?????

36

主题

1378

帖子

4955

积分

论坛元老

Rank: 8Rank: 8

积分
4955
发表于 2013-10-28 09:33:52 | 显示全部楼层
博弈论  呵呵
简直被你糟蹋了

在不够深入的理解某个理论之前,千万不要牵强附会的将它强加到自己的帖子里

1

主题

9

帖子

97

积分

注册会员

Rank: 2

积分
97
发表于 2013-10-28 17:10:35 | 显示全部楼层
现在的喷子好多啊,能喷出点干货吗

看不上别人就甩点有用的出来呗

总是打击别人发帖的积极性

13

主题

832

帖子

1875

积分

金牌会员

空想家

Rank: 6Rank: 6

积分
1875
发表于 2013-10-28 17:50:36 | 显示全部楼层
熟练度的要求,不是为了提供难度,而是为了满足大脑的学习需求。
认知成本太低会提不起兴趣,觉得这就是个山寨。
认知成本高到一定程度,超过一般人能力了,流失就一下上去了。

玩家强度也是一段段提升的,比如获得新装备、获得新的修炼体系等。
可能从想要安排的养成体系出发,反推关卡难度比较好。

19

主题

197

帖子

1171

积分

金牌会员

实干兴邦,空谈误国

Rank: 6Rank: 6

积分
1171
 楼主| 发表于 2013-10-28 17:58:34 | 显示全部楼层
Mr_I 发表于 2013-10-28 17:50
熟练度的要求,不是为了提供难度,而是为了满足大脑的学习需求。
认知成本太低会提不起兴趣,觉得这就是个 ...

多谢提点。

在本文中对于熟练度的定义,本是为了规范r(t)-l(t)这个难度差值的。

我尚未考虑到熟练度是为了满足大脑的学习需求这一点,是我的考虑不周。不过大脑的学习需求也需要一个有挑战的关卡难度才能体现出来不是么?

19

主题

197

帖子

1171

积分

金牌会员

实干兴邦,空谈误国

Rank: 6Rank: 6

积分
1171
 楼主| 发表于 2013-10-31 09:28:00 | 显示全部楼层
Mr_I 发表于 2013-10-28 17:50
熟练度的要求,不是为了提供难度,而是为了满足大脑的学习需求。
认知成本太低会提不起兴趣,觉得这就是个 ...

可能从想要安排的养成体系出发,反推关卡难度比较好。

其实本文中的a(t)值是一个广义的熟悉度,我举例子虽然是战斗方面的,但是实际上

走迷宫到分岔路选左边还是右边,这也是一个选择,也是属于a(t)范畴的……

这么一来m/n 是个很广义的概念。

那么按层主的意思是,把m/n按照各个系统细化为m1/n1,m2/n2……然后按照权值去计算a(t)值。

我会考虑层主的建议的。

很惭愧现在才看懂层主的意思,我也发现我这篇论文有很多地方有纰漏。

0

主题

185

帖子

728

积分

高级会员

Rank: 4

积分
728
发表于 2013-10-31 15:42:14 | 显示全部楼层

先声明下,以下所提问题与楼主所要论述的主题无关,只是针对其中两个环节:
一、建模时可能存在一点错误;
二、对零和博弈的应用错误。


因为零和博弈套进了建模的过程,所以先来看看零和博弈:

在打boss这个行为中,我们想要关注的是“奖励是否能获得”,而非“奖励该如何分配”的问题。即是“要么玩家打赢,获得奖励;要么玩家打输,无法获得奖励”,而不是“要么玩家打赢,获得奖励;要么boss打赢,boss获得奖励”。此时,用零和博弈去思考问题就有点“杀鸡用牛刀”之嫌疑。
毕竟零和博弈多是对应非零和博弈的,假设这种打boss行为可以视为一场博弈,那关注点也不是零和或非零和之争,而仅仅是策略的可行性的选择。


建模过程中的一些存在错误的地方:

一)我对于楼主所提到的“双曲线的成长模型”不是很明白。
所谓倒数曲线,其实也是双曲线的一种,即渐进线为x轴和y轴的双曲线的其中一条曲线。
那为什么对于倒数是“倒数曲线的成长指的是随着玩家有效投入时间t的增加,在单位时间内玩家获得的成长l逐步减少”,而对于双曲线则成了“双曲线的成长指的是随着玩家有效投入时间t的增加,在单位时间内玩家获得的成长l逐步增加”呢?
即这个问题的关键在于,楼主所指的双曲线成长模型中的双曲线的渐进线是哪两条。

二)熟悉度a(t)的定义不合理:
在这n局博弈中,玩家有m局胜利了获得了收益。那么我们定义m/n为玩家对游戏的熟悉度a(t)。
其中,“这n局博弈”的“博弈”并非一个可行的参照对象。“博弈”在此泛指所有的战斗,但是这些战斗是有难易之分的,且也有重复与否之分的。针对这两点,可以举出两种例子来说明定义的不合理:
①        面对数值很高、高到所有策略都不奏效的boss时,根据定义,m/n一定等于0;面对数值很低、低到所有策略都奏效的boss时,根据定义,m/n=1。这两种情况都不能有效区分出不同玩家对于策略可行性的理解,即玩家对游戏的熟悉度。
②        如果玩家不停刷一个 “很熟悉”的boss时,其熟练度a1(t)=m/n≈1;而如果同一玩家刷一个“不熟悉”的boss时,其熟练度a2(t)=m/n≈0。但显然的是,对于同一时刻的同一玩家而言,熟练度是相同的,即a1(t)= a2(t),而这与例子中的推导不符。即反证得“熟练度a(t)=m/n”这个定义是不合理的。

三)“玩家由于对游戏的熟悉度等效转化为游戏中的成长”对应为a(t)*b也不合理。
先假设“玩家对游戏的熟悉度a(t)是一个比率”是成立的。那么,根据定义“在n局博弈中平均每次胜利所获得收益为b”,可以得知b即为n局博弈收益的期望值。
那么,a(t)*b就是“某个事件的概率乘以其期望值”,即a(t)*b可以看做是对熟练度a(t)进行的一个修正,使其不再是一个概率而是一个收益,这个收益的上限是平均收益。然而这个值并没有特殊的意义,更不可能用来表征“玩家由于对游戏的熟悉度等效转化为游戏中的成长”。
反过来思考:如果假设“玩家由于对游戏的熟悉度等效转化为游戏中的成长”对应为a(t)*b,且定义“在n局博弈中平均每次胜利所获得收益为b”,那么,a(t)的数学意义就应该是“玩家由于对游戏的熟悉度等效转化为游戏中的成长占在博弈中所获得的总收益的比重”。

四)关卡难度:
首先,“其中实线线段是表明关卡难度”这句话明显是错误的。
图的横坐标是时间,纵坐标是玩家的成长。那么该实线段所代表的只能是l(t)函数。OA所代表的可以是玩家需要通过关卡的难度差,而此时对应的关卡难度为图中t=5时的l(t)的值。
而且,从这个图来看,这个值也不一定就是熟悉度的值,还可能是玩家数值的跃变造成的。如果想要表达出这个效果,应该是两条直线为实线,代表两种不同熟悉度下的玩家成长曲线,而两者的差值,即OA段所代表的就是熟悉度。同样的,这个值也不一定就是关卡的难度差,更不可能是关卡的难度。


以上。

19

主题

197

帖子

1171

积分

金牌会员

实干兴邦,空谈误国

Rank: 6Rank: 6

积分
1171
 楼主| 发表于 2013-10-31 17:17:42 | 显示全部楼层
bineye 发表于 2013-10-31 15:42
先声明下,以下所提问题与楼主所要论述的主题无关,只是针对其中两个环节:
一、建模时可能存在一点错误; ...

十分感谢层主提点!!!

针对层主提的改进意见我会修正本文内容!!!

1,a(t)与m/n 的确不能算是一个等价的公式,而且m/n也需要给出更合理的定义。

2,a(t)* b 转化为游戏内的等效成长的确是一个很牵强的事情,当时一拍脑袋就这么写上去了,的确有待考量。

3,层主说的有理,不过当初对于“通过关卡难度差”是以玩家实际数值成长+玩家对游戏的熟悉度等效转换的数值成长作为标准的。所以OA线段表示的是“玩家对游戏的熟悉度等效转换的数值成长”。也就是说,玩家可以用数值越变去代替熟悉度的增长从而通过关卡。

最后,十分感谢层主对于本文的指正!!!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-6-26 10:37

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表