您当前的位置:首页 > 发表论文>论文发表

英雄联盟论文研究

2023-03-14 05:11 来源:学术参考网 作者:未知

英雄联盟论文研究

在一次次召唤师峡谷之战后,蛮王被九尾妖狐打的身受重伤。作为2弟的剑圣毫无疑问要要为大哥报仇。  这一天,乌云密布,电闪雷鸣,那一座座发着红和蓝色的光的塔巍然屹立在天地之间。剑圣迅速环顾四周,除了小兵以外空无一人,心想:大哥,为你报仇的时间到了。一把抽出无尽之刃和红叉,带着仇恨开启了血统。仅有5秒,防御塔被整整切成8段。这是的剑圣法力也已经一无所有,刚想回家。突然,天昏暗了下了,剑圣感到上方有一股气流在压迫自己,一道黑色炫光冲来,“拿命来吧,偷塔的小虫。”梦魇用R火速赶来。“呀~~~~~~~。”头顶上方的气流逐渐形成一个人影,剑圣大叫:“潘森,擦,你干嘛?”说着,急忙用了闪现。潘森大笑着说:“我是德玛西亚人,你也是,你为何拆自己塔?”“那是因为妖狐,他打伤了我大哥。”这时,敌方又来了3位英雄,赏金猎人、炼金术师、瑞兹。“那我替我的头结果了你这厮!”剑圣彻底绝望了。“你~~你~。”他放下他的剑,紧闭双眼。空气似乎凝固了。剑圣也一点法力也不剩了,所以无法冥想。这在他要绝望的时候,突然,空中飘起了雪花,“嗖”的一声,5人全冻结了。寒冰射手慢慢走出来:“老娘早看那狐狸精不爽了!”“是啊。”暮光之眼的一句话吓了剑圣一大跳,他总是神出鬼没的。“让我们并肩战斗吧。”刀锋也传送来了。
  对面突然解冻了。潘森骂道:“啰嗦个屁啊,TM的打不打?我先晕死你。”说着,拿起盾牌砸向对方。又突然,一道光波飞来有划过所有人。潘森技能也被打断。“哈哈哈哈哈哈哈哈哈哈~~~~,我adc登场啦。”ez飞似得跑过来。“哼,我把你adc变成鬼。”赏金猎人毫不犹豫的开了大。“你的大有一个致命缺点哦,看我嘲讽。”慎在关键时刻放了嘲讽,赏金猎人的大被打断了。“杀啊。”两方英雄开始厮杀,剑圣缺却无影无踪。“额,易哪去啦?”ez质疑道。“就是。咱们是兄弟吗?”“易怎么能这样?”慎也开始不爽说。大家都分心了。“让我来个5杀。”炼金术师吞下药剂,开始放气。“额,怎么回事?”慎略感头疼。“doublekill”慎和寒冰撑不住了。“我来啦。”易飞快的传送来。“死去吧!”原来剑圣刚才去打野和补兵了,现在以神装。“看看谁厉害。”面对5个残血,易充满了必胜的信心,“血统,阿尔法突袭。”剑圣带着仇恨又一次开大招。“pentakill,aced”
  剑圣还是没能复仇,因为九尾妖狐没来召唤师峡谷。唉~,剑圣白跑一趟。但他还会开始他的lol旅程的。

游戏心理学——心流的设计

心流 (英语:Mental flow)在心理学中是指一种人们在专注进行某行为时所表现的心理状态。如艺术家在创作时所表现的心理状态。通常在此状态时,不愿被打扰,也称抗拒中断。是一种将个人精神力完全投注在某种活动上的感觉。心流产生的同时会有高度的兴奋及充实感。米哈里·契克森米哈赖认为,使心流发生的活动有多样性。

简单来说,心流就是你在玩游戏,你妈让你吃中午饭,你说马上,然后坚持到你妈打你你都没有马上,这个区间的你的状态。

走向心流会缠身兴奋和充实感,所以 玩家的潜意识都是趋向于走向心流状态的。

通常来讲符合玩家心流的曲线是这样的

兴趣曲线是这样的

游戏的设计尽量满足这样的曲线,被证实更容易让玩家进入心流状态

但是具体到每个游戏上,时间到哪个点才应该出现一个刺激,多难的关卡才会让玩家心流处于心流通道之内是不一样的。

所以我们需要参考各种游戏,来建立游戏的心流设计模型。

先看几个经典游戏的心流

1.moba——lol

上图是一个较为复杂的流程图,

但其实单局游戏里对于每个游戏的个体,它的大体体验是相似的:

发育——打团——发育——打团——发育。。。——游戏结束

每个发育点都是在降低游戏难度,而每次打团都是在提升游戏难度。

lol游戏中共需要推掉的塔有10个(门牙塔算同一个刺激点)最少需要推掉5个塔,大型野怪资源两个(大小龙),根据英雄联盟的最新版本,大型野怪出现的次数最多(到最后一个刺激点出现的最大值)10次(双方各取3条小龙,优势方取得龙魂,优势方取得远古龙,这期间刷新两条大龙),最少(到最后一个刺激点出现的最小值)5次(优势方4条小龙,一条大龙)。

给玩家的刺激点:

0  —— 5分钟——10分钟——15分钟——20分钟  ——25分钟  ——30分钟  ——  35分钟——40分钟——45分钟——50分钟——55分钟——60分钟

0    ——发育 ——  小龙——    小龙——小龙(大龙)——小龙——小龙(大龙)——小龙——小龙(大龙)——小龙——小龙(大龙)——小龙——小龙(大龙)

每个5分钟之间,推塔也可以作为团战理由,作为刺激点



0  —— 5分钟——10分钟——15分钟——20分钟  ——25分钟  ——30分钟 

0    ——发育 —塔—小龙—塔— 小龙—塔—小龙(大龙)—塔—小龙—塔—小龙(大龙)

算上由于玩家多线程游戏导致的节奏加快,可以多推掉1-2座塔,以及由于团战拉扯的耗时,到30分钟,可以推掉了5-7座塔,4-5条小龙,1-2条大龙。

玩家每次获得刺激的时间,前期0-5分钟一个刺激,5分钟以后每2-3分钟就有一个刺激诞生,这还不算购买装备,单杀,偷野怪等其他刺激点。

所以lol告诉我们,如果单局游戏的时长是以30分钟作为基点,那么你的刺激设计,最好在2-3分钟之间。

以2-3分钟为间隔不断刺激玩家,也是最容易让人进入心流状态的时间间隔。(另外,lol对线期不是从0开始的,而是从3分30秒开始,这也说明了,给玩家一定的缓冲时间,让玩家进入游戏后有一个准备进入“心流”状态的时间,玩家更容易进入这个状态。)

2.剑网三

作为一款经典mmmorpg,一般是没有预设的单局游戏时长的,刺激点是根据运营活动和成长玩法来设计的。

玩家在1-100级,总耗时约为2-3小时,玩家在这期间都在了解复杂的游戏背景,并起到新手引导的作用,除了常规的视觉刺激外,没有难度刺激。

这个过程起到的正向作用是:筛选了一部分玩家,让更符合“mmo”属性的玩家留了下来。负向作用也很明显:为什么筛选玩家啊(#`O′)!难道最好不是所有玩家都留下来么!谁tm能嫌玩家数量不够多呢?

但是即便是喜欢剧情,主动接受这一流程的玩家也会感觉升级是很疲惫的,如果不是社交属性的特殊性,大部分玩家会流失于前期的升级过程。

目前来讲,对于mmorpg,我认为最大的矛盾就在于,升级的目的是为了让玩家更快的熟悉游戏复杂的结构,为后面的刺激点做铺垫;但是升级本身对一些玩家来讲已经构不成刺激点,而对于那些还吃这一套的玩家,持续的在这个心流里,一旦跳出心流就会因时间过长而感到疲惫。对于这部分玩家的流失,我认为设计师要清楚的认识到玩家在心流状态也是会疲惫的,让玩家适当的时机跳出心流,才会获得“回流”。

而能维持住玩家的心流的,那就是上文说到的社交属性的特殊性了。社交让玩家心流下降的速度变得缓慢,因为玩家即便觉得无聊了,也会因为想要和同伴一起游戏的心情,而主动调节自己的心情,趋向于心流方向。

“新手阶段”之后,玩家会根据需求自动分流为pvp玩家和pve玩家,分流的主要原因是玩家成长相对很慢,在任何一条途径上,都会消耗掉大量时间,即便前期可能有玩家双修这两种玩法,但是到了中后期也会趋向于只玩一种玩法。

每种玩法的成长方式类似,做日常任务,以及完成活动。

战力验证的方式分别为:pve是打副本(副本分为10人,25人试炼,25人英雄),pvp是上段位打积分。

而且每个赛季都会有新的副本,以及段位的刷新。

那么对于玩家来讲,pve是以“一周”为单位的,pvp是以天为单位的。

平均pve玩家每周至少获得1-2件装备,每周至少可以挑战2-3个副本。攒齐装备后,可以通过获得大量的游戏货币,继续获得刺激。

平均pvp玩家每周至少获得1件装备, 玩家每日需要打5场pvp比赛。攒齐装备后,还可以继续攒积分升段位。

心流时间:

1周——2周——3周——4周——5周——6周——7周——8周(共两个月)

2——    4——    6——    8——  10件装备(pve最少)

1 ——  2  ——  3  —— 4 —— 5 ——  6——  7——    8——  9—— 10

赛季周期:半年

从这个心流看出,核心玩法给玩家带来的刺激是远远不够的。但是最笨的方法解决问题——加多每个赛季的地图,或者加装备位。这都是不合适的。一个需要大量的人力物力,另一个则会改变整个数值系统的底层设计。

那么,剑三本身的解决办法是,让运营活动的比重和刺激性扩大,以外观作为另一刺激点,补充核心玩法上的不足。后续又补充了吃鸡玩法,moba玩法,为玩家添加了其他获得刺激的途径。变相的补充了核心玩法的不足一定程度上,解决了后期玩家心流疲乏的问题。

可以很快发现,我在对比lol和剑网三,他们强调的区间是不同的,一个是单局游戏,而另一个是一个赛季;或者说我把lol中一小节作为完整的游戏,而对于剑网三,一个赛季才是一个完整的游戏。一个是30分钟,一个是两个月,时间长度的不同也造就了两个游戏心流设计上根本的不同。

两个游戏虽然都会吸引玩家“回流”,即我们常说的留存,但是他们留存的方式截然不同,一个是集中在同个时间,密集的给你刺激,就仿佛让你吸了烈性大麻,玩家在之后因为没法割舍这种感受会再次投入到游戏中;而剑三把刺激点铺满整个他们预先设定的,玩家最少的留存时间上,然后在留存本身上面下手,社交,新玩法,新活动,同人,周边,比赛,等等,通过这些方式让玩家与游戏产生关联性,简单来说,我一个拳头打不疼你,我八百个拳头同时砸到你头上,老师傅也挺不住。

这里要补充一点,有一些理论书上,或者视频里是不把留存看做心流的一部分的,只把心理学意义上的“沉浸在游戏中”这段时间看做是心流。我的观点稍有不同,我认为这两部分都是心流,一个可以被称为小心流,一个可以被称为大心流,大小心流都是保持游戏热度,保持游戏商业化必不可少的一部分,他们本质上都是在吸引玩家。

说回剑三的心流模式,当游戏和玩家自身潜意识驱动都不能让玩家稳定在心流之间时,社交就起到了强化潜意识的作用,即社交能让玩家自主驱动心流的能力变强,这一能力如果用核心来表示,那么表达出的图像如下。

也就是说,对设计者来说维持心流的手段不只有改变技能,和控制难度,还有控制核心第三种手段。

3.自走棋

自走棋是在吃鸡模式之后,又一新型的游戏模式。它在时间小心流的刺激频率上,完美的继承了moba游戏的优点,短平快,集中式的养成与战力验证的过程,每两三分钟一次的刺激点,都是这一模式能够成功的理由。

另一方面,自走棋不光有一个强化自身的模式,除了抽卡这一核心强化模式外,还有装备掉落,特殊物品掉落这两个强化模式,让玩家在抽卡之余,要同时兼顾这几个强化模式,或者叫玩法系统。

再联系lol,我们可以总结出一个观点,除了核心的刺激点外,至少还需要1-2个与核心刺激强关联的刺激,而且每个刺激需要单独设计自己的刺激时间。

心流时间:

抽卡心流

每两分钟一次

装备心流

每10分钟一次

4.太空侵略者

这是业内人尽皆知,标杆性质的有时代性质的游戏。它确定了,非线性的体验(螺旋上升式的体验)要远强于线性的体验。

也就是说,每个属性的降低和上升都应该是螺旋上升,或者梯度上升的,而不是线性的。玩家更愿意在这种状态下保持在心流里。

同时,从那个经典的bug机制(即原本这个打飞机游戏,敌人越少,飞机飞行越快的那个机制)可以看出另一个问题,即便是同一个关卡,玩家也喜欢当自己玩的越来越熟练之后,游戏的难度会越来越高,但是也希望当自己获得高属性后,可以“莽”过去之后的关卡。

总结起来是,玩家会不断渴求通过装备等物品,让游戏的技巧性得到降低;同时也渴求在刺激点上,越获得装备和游戏技巧,刺激点的难度反而越高。

大白话解释就是,没获得装备等强化资源的时候,玩家是希望难度越来越难的,当获得装备后,玩家是希望在这之后的下一管关卡是简单的,而后可以再变的越来越难。

国产游戏大师,陈星汉在他的论文里讨论了DDA(动态难度调节),他的出发点就是心流,这也是让很多游戏制作者注意到心流的一个原因。如果你读过这篇论文,会发现其实这个理论虽然是对的,但是却很难根据陈星汉的理论来作出对应的游戏。但是可以确定的是,这个如同玄学一样的理论让设计师们意识到了,游戏设计师需要将玩家引导至心流,起到“桥”的作用,而不是教导玩家该怎么做,也不要牵着或者推着玩家走,这都是不好的体验。

总结:

1.玩家的潜意识里会趋向于走向心流,心流是玩家想要拥有的最终状态

2.玩家在心流状态也是会疲惫的,让玩家适当的时机跳出心流,才会获得“回流”

3.社交能让玩家自主驱动心流的能力变强。

4.对设计者来说维持心流的手段不只有改变技能,和控制难度,还有控制核心第三种手段。

5.玩家会不断渴求通过装备等物品,让游戏的技巧性得到降低;同时也渴求在刺激点上,越获得装备和游戏技巧,刺激点的难度反而越高。

6.每个属性的降低和上升都应该是螺旋上升,或者梯度上升的,而不是线性的。

7.游戏设计师需要将玩家引导至心流,起到“桥”的作用,而不是教导玩家该怎么做,也不要牵着或者推着玩家走,这都是不好的体验。

英雄联盟如何指挥团战?

作者在 Kaggle 中上传了模型的每个部分,以便大家更好地理解数据的处理过程与模型结构:

第一部分:第二部分:第三部分:

目前这个项目还在进行当中,我们希望展示复杂的机器学习方法可以在游戏中做什么。该游戏的分数不只是简单的「计分板」统计结果,如下图所示:

动机和目标

英雄联盟是一款团队竞技电子游戏,每局游戏有两个团队(每队五人),为补兵与杀人展开竞争。获得优势会使玩家变得比对手更强大(获得更好的装备,升级更快),一方优势不断增加的话,获胜的几率也会变大。因此,后续的打法和游戏走向依赖于之前的打法和战况,最后一方将摧毁另一方的基地,从而赢得比赛。

像这种根据前情建模的情况并不新鲜;多年来,研究人员一直在考虑如何将这种方法应用于篮球等运动中(),在这些运动中,传球、运球、犯规等一系列动作会导致一方得分或失分。此类研究旨在提供比简单的得分统计(篮球中运动员得分或游戏里玩家获取人头)更加详细的情况,并考虑建模为时间上连续的一系列事件时,团队应该如何操作。

以这种方式建模对英雄联盟这类游戏来说更为重要,因为在该类游戏中,玩家补兵和杀人后可以获得装备并升级。例如,一个玩家拿到首杀就可以获取额外金币购买更强的装备。而有了这些装备之后,该玩家变得更加强大进而获取更多人头,如此循环,直到带领其队伍获取最后的胜利。这种领先优势被称为「滚雪球」,因为该玩家会不断积累优势,不过很多时候,该玩家在游戏中所在的队伍并不一定是优势方,野怪和团队合作更为重要。

然而,一场游戏中影响玩家决策的因素有很多,没那么容易预测。不论收集多少数据,玩家获得的信息量始终多于任何一台计算机(至少目前如此!)。例如,在一场游戏中,玩家可能超水平发挥或发挥失常,或者偏好某种打法(通常根据他们选择的英雄来界定)。有些玩家自然而然地会变得更加好斗,喜欢杀戮,有些玩家则比较被动一直补兵发育。因此,我们进一步开发模型,允许玩家根据其偏好调整建议的打法。

让模型「人工智能化」

在第一部分中,我们进行了一些介绍性的统计分析。例如,假设队伍在比赛中补到第一个和第二个兵,我们能够计算出获胜的概率,如下图所示。

有两个组成部分,使我们的项目超越简单的统计的人工智能:

首先,在未预先设想游戏概念时,模型会学习哪些行动是最好的。第二,它试图了解玩家对影响模型输出的决策的偏好。

我们定义马尔可夫决策过程及收集玩家喜好的方式会决定模型学习和输出的内容。

根据匹配统计信息对马尔科夫决策过程进行预处理和创建

AI 模型 II:引入打钱效率

我从第一个模型的结果中意识到,我们没有考虑到负面和正面事件对未来都可能产生累积的影响。换句话说,无论在当时时间点之前还是之后,当前的MDP(马尔科夫决策过程)概率都有可能发生。在游戏中,这是不正确的。一旦落后,杀人、拿塔、补兵都会变得更难,我们需要考虑到这一点。所以,我们引入队伍间的打钱效率来重新定义状态。当前目标是建立一个定义状态的 MDP,这个状态可能是事件发生顺序,或者队伍是否落后或领先。我们将金币差值分为以下几类:

相等:0–999 金币差值(平均每个队员 0-200)略落后/领先:1,000–2,499(平均每个队员 200–500)落后/领先:2,500–4,999(平均每个队员 500–1,000)远远落后/遥遥领先:5,000(平均每个队员 1,000+)

我们也需要考虑没有任何事件发生的情况,并把其归为『无』事件中,以保证每分钟都有事件发生。这个『无』事件表示一个队伍决定拖延游戏,以将那些在早期游戏中更善于获得金币的队伍区分出来,而不需要杀死(或通过小兵杀死)他们。然而,这样做也会大大增加数据量。因为我们为匹配可用匹配项已经添加了 7 个类别,但如果我们能访问更常规的匹配项,那数据量就已足够了。如前所述,我们可以通过以下步骤来概述:

预处理

1. 输入杀人数、塔数、野怪和金币差值的数据。

2. 将『地址』转为 ID 特性。

3. 移除所有旧版本的游戏。

4. 从金币差值开始,按照事件的时间、匹配 ID 和与以前一致的团队进行合计。

5. 追加(助攻的)人头数、怪数和塔数到此末尾,为每个事件创建行并按发生的时间对事件进行排序(平均人头数)。

6. 添加「事件序号」特性,显示每次匹配中的事件顺序。

7. 为行上的每个事件创建一个统一的「事件」特性,包括人头、塔、怪或者『无』事件。

8. 每次匹配时将其转化为行,现在是用列来表示每个事件。

9. 只考虑红队的视角,以便合并列,视蓝队增益为负红队增益。同时增加红队的游戏长度和结果。

10. 将所有空白值 (即在前面步骤中结束的游戏) 替换为匹配的游戏结果,以便所有行中的最后一个事件是匹配结果。

11. 转换为 MDP,其中 P(X_t | X_t-1)用于每个事件数和由金币差值定义的状态之间的所有事件类型。

马尔科夫决策过程输出

使用简易英语的模型 V6 伪代码

我们最终版本的模型简单总结如下:

1. 引入参数

2. 初始化启动状态、启动事件、启动操作

3. 根据 MDP 中定义的首次提供或基于其发生可能性的随机选择操作

4. 当行动赢或输时,结束

5. 跟踪事件中所采取的行动和最终结果(赢/输)

6. 根据最终结果所用的更新规则来更新操作

7. 重复 x 次上述步骤

引入奖励偏好

首先,我们调整模型代码,把奖励归入回报计算中。然后,当我们运行模型时,引入了对某些行为的偏置,现而不是简单地使奖励等于零。

在第一个例子中,我们显示了如果对一个动作进行积极的评价,会发生什么;在第二个例子中,显示对一个动作进行消极的评价,会发生什么。

如果我们积极评价动作『+KILLS』的输出

如果我们消极评价动作『+KILLS』的输出

更真实的玩家偏好

现在我们可以尝试近似模拟玩家的真实偏好。在这个案例中,我们随机化一些奖励以允许遵守以下两条规则:

玩家不想错过任何补兵玩家优先补兵而不是杀人

因此,我们对人头和补兵的奖励都是最小值-0.05,而其它行动的奖励都在-0.05 和 0.05 之间随机生成。

随机化玩家奖励后的输出。

随机化玩家所有动作的奖励后所获得的输出。

最终输出,显示给定当前金币差值状态和分钟的每个动作的值

总结及玩家对奖励的反馈

我过分简化了某些特征(如「kills」实际上并不代表人头的数量),数据也不太可能表示正常的匹配。然而,我希望本文能够清晰地展现一个有趣的概念,鼓励更多人讨论这一领域今后的走向。

首先,我将列出在实现之前需要作出的重要改进:

1. 使用更多能够代表整个玩家群体(而不只是竞争性比赛)的数据计算 MDP。

2. 提高模型效率,将其计算时间控制在更合理的范围。蒙特卡洛以耗时著称,因此我们将探索更高效的算法。

3. 采用更高级的参数优化以进一步改进结果。

4. 捕捉、映射原型玩家对更真实的奖励信号的反馈。

我们引入了针对影响模型输出而给予的奖励,但该如何获得奖励?我们可以考虑几种方法,但是根据我之前的研究,我认为最好的方法就是考虑一种既涉及到行动的个体质量又考虑到转变质量的奖励。

这变得越来越复杂,我不会在此文中展开,但简而言之,我们想为玩家匹配决策,其中下一个最佳决策取决于最新情况。比如,如果一队玩家将对方全部歼灭,他们可能会去拿大龙。我们的模型已经将一个序列中事件发生的概率考虑在内,因此,我们也应该用同样的方式思考玩家的决策。这一想法来自一篇论文《DJ-MC: A Reinforcement-Learning Agent for Music Playlist Recommendation》,该论文阐释了如何更加详细地将反馈映射出来。

反馈的收集方式决定了我们的模型能有多成功。依我之见,我们这么做的最终目标是为玩家的下一步决策提供最佳实时建议。如此一来,玩家就能从根据比赛数据算出的几条最佳决策(根据获胜情况排序)中做出选择。可以在多个游戏中跟踪该玩家的选择,以进一步了解和理解该玩家的偏好。这也意味着,我们不仅可以追踪决策的结果,还能预测该玩家的意图(例如,该玩家试图拆塔结果却被杀了),甚至还能为更高级的分析提供信息。

当然,这样的想法可能造成团队成员意见不符,也可能让游戏变得没那么令人兴奋。但我认为这样的想法可能对低水平或者常规水平的玩家有益,因为这种水平的游戏玩家难以清楚的沟通游戏决策。这也可能帮助识别「毒瘤」玩家,因为团队指望通过投票系统来统一意见,然后就能看出「毒瘤」玩家是不是一直不遵循团队计划,忽略队友。

实时游戏环境中的模型推荐投票系统示例

相关文章
学术参考网 · 手机版
https://m.lw881.com/
首页