游戏开发论坛

 找回密码
 立即注册
搜索
查看: 4611|回复: 0

用深度学习辅助单局竞技游戏节奏设计

[复制链接]

5万

主题

5万

帖子

8万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
86239
发表于 2021-9-17 11:54:18 | 显示全部楼层 |阅读模式
文丨Aarons
腾讯互动娱乐 游戏策划

笔者注:本文纯粹出于个人兴趣和研究,其研究内容与具体项目无关,中间的所用到的数据则多为公开数据以及手工构造的假数据,重在提供分析方法和思路,不必考究。另外,为了避免论述过于主观,做了很多名词解释和数学形式化的推导,通篇写作有点不讲人话的嫌疑,这个还请见谅。另外,由于前后内容逻辑强相关,建议通篇阅读。

前言

微信图片_20210917114147.jpg

单局PVP游戏的游戏节奏设计和调优往往是一个非常棘手的问题,因为当前热门的单局游戏如MOBA,BR等都是经过大量MOD的迭代和社区共建才涌现和进化而来的,其一开始并非某个人和团队所能完全驾驭和正向设计的,其本身就是抄抄补补,一个个微创新叠加而来的。

一个健壮的单局游戏往往需要具有非常多的系统、Gameplay,在某种意义上说,单局PVP游戏实则是一个非线性的复杂系统,基本就是一个黑盒,其众多系统耦合出来的单局玩法往往在很多方面都变得极其复杂和难以调控,牵一发而动全身,并且设计师很难通过一些具体的指标去评判游戏的某些体验是否出了问题,很多反馈都来自于非常主观的个人感受,而个体差异和对局的随机性将让这些感受又变得非常的不收敛,每个人的描述都存在巨大的随机偏差,这种时候设计师其实很难有明确服众的数据和信息去做分析,进而去做决断的。

当前唯一可行的办法就是小步快跑进行迭代,但从修改——制作——测试上线——反馈,其开发成本和时间成本都相对很高,并且很容易翻车,来来回回,反反复复。为了解决这个棘手的问题,本文试图提供了一种相对客观方法去解决一些单局游戏中存在的节奏设计和调优方面的内容,可以为设计做很低成本的推演和验证,主要用到了一些简单的建模、基于神经网络深度学习的AI、深度学习的胜率预测模型、和一些简单的数据分析方法。

关键词:单局游戏 游戏节奏设计 设计验证闭环 神经网络深度学习 AI Python 数据分析

本文共分为三个主要的章节:

1. 一些游戏性设计的共识和假设

2. 基于深度学习胜率预测模型和游戏节奏相关数据分析

3. 基于深度学习和数据分析的单局游戏分析设计验证闭环

第一章,主要偏游戏设计,在说明问题之前,需要规范一些用词和做一些基本的假设以达到共识,避免在描述很多词汇和设计导向上引起歧义,并且为了更好的去分析问题,需要对问题做一下抽象和建模,其中有很多推导内容。当然,因为从客观角度去描述游戏设计本身就是一件非常困难的事情,该章节部分内容阅读起来可能会非常的苦涩,并且仁者见智,这里先打一针预防。

第二章,主要介绍基于深度学习的单局游戏胜率预测模型,以及如何根据模型跑出来的数据进行分析,并通过简单的实例展示了分析的方法,其中也用到了如Python等语言做为辅助。最后展示了我们如何通过数据分析得到我们想要的结果。

第三章,则是笔者构想的偏理想和展望的设计验证闭环方法,该方法在一定算力的支持下,允许设计师在游戏设计阶段,而非测试上线阶段得到一个比较客观的设计反馈,很大程度上可以减少设计验证的成本,也可以避免一些拿不准的设计上线后出现玩家的负面评价,当然,该方法尚处于理论阶段,还需要有条件的项目去实践和执行。

第一章:一些游戏性设计的共识和假设

游戏本身就是通过多种方式来营造的一种可交互的体验,一种比较特殊的媒介,而游戏这个媒介到底如何区别于电影等一些其他媒介呢?后来我在影视飓风的一期视频里似乎找到了一些思绪——节奏。

微信图片_20210917114158.JPG

而对于游戏来说,和视频这个载体最大的不同是,这种节奏可以一定程度由玩家所掌控(突然就浮现出《只狼》里的“打铁”),所以谈及游戏体验,我觉得不得不去考虑游戏的节奏,以及这种可控的节奏带给玩家的体验感受。

而什么是游戏节奏呢?

下文尝试给游戏的节奏下一个定义,以及试图通过某种客观的方式表征游戏节奏

1.1 游戏节奏:

游戏节奏这个概念其实很抽象,通常大家会听到 “这个游戏的节奏太刺激了!”,“这个游戏的节奏很舒缓。”之类的描述,分别可能对应的画面是这样的:

微信图片_20210917114159.JPG
[ 紧张刺激的《求生之路》 和舒缓的《风之旅人》 ]

而在一些PVP游戏中,则更容易听到这样的描述:“这个打野很会带节奏!”,“这局游戏节奏太差了,从头崩到尾!”

微信图片_20210917114200.JPG

可见,不同类型的游戏中,游戏节奏所描述的东西在感觉上差异是很大的,但深究下去会发现,游戏的节奏无非和这些内容有关系:时间、阶段、事件、难度、对抗........

绕过简单的铺垫,我们直奔结论:

在PVE游戏里面,游戏的节奏其实很好理解,其就是游戏关卡难度随时间变化的曲线,如果一个游戏从头到尾都很难,很容易死,那游戏的节奏就会很紧张,而如果游戏从头到尾都很简单、放松,那游戏的节奏就很舒缓。

PVE游戏的节奏控制会相对的简单,因为大部分PVE游戏的体验是线性的,设计师可以很轻松的通过各种关卡和挑战的难度来控制玩家的过程体验,从而达到心流的状态。

微信图片_20210917114201.JPG

而在PVP游戏里面里面,挑战是来自于对手的,玩家体验和游戏节奏的则是来自玩家间的博弈/对抗强度。(博弈/对抗强度之后有做解释)

微信图片_20210917114202.JPG

以单局PVP的游戏为例,我们描述的游戏节奏通常指:从开局到结束玩家博弈/对抗强度随着时间分布,而这个分布,我们也希望他是逐渐由平缓变紧张的,符合心流的曲线。

如果一个单局PVP游戏的对抗强度随着时间的变化呈波折式的上升,那这个游戏的单局体验通常都会比较好,其实电影工业中常使用的好莱坞三段式,就大体符合这个曲线,而我们熟知的单局PVP游戏,MOBA和BR玩法,其单局节奏基本符合了上述的曲线。

尤其是BR玩法,通过缩圈等机制让整个单局的游戏体验和节奏变得非常的健康,以一个经典的BR吃鸡局为例,从跳伞的遭遇战——舒缓的发育——强度越来越高的遭遇战——决赛圈 ,整个节奏从舒缓到紧张,完美的演绎了一条典型的心流曲线,并且由于死亡就意味着单局结束,在任何一场BR单局中做切片,都能得到一条不错的曲线,从形态上来看,任何一把BR游戏的单局体验从节奏上来说都是相当OK的,如下图所示,原谅我的灵魂绘图。

微信图片_20210917114204.JPG

MOBA也同理,从平缓的对线、到游走、到团战,整个博弈的强度也是在慢慢提升的,但MOBA个体单局差异是很大的,很多对局的质量其实非常低,(比如在前期被碾压后,后期完全处于出门即死和无所事事等投降的垃圾时间,而BR就没有这种时间,最多的垃圾时间是大厅加载和出生岛拳击)

拉回来,我们这里大体可以做这样的约定:

一个博弈/对抗强度由舒缓逐渐变得紧张的单局PVP游戏节奏,是好的游戏节奏

我们记游戏节奏为博弈强度b随时间t的变化的函数:

b = φ(t)

1.2 竞技游戏中的博弈/对抗强度:

在不同的PVP竞技游戏中,博弈和对抗的内容也各不相同。

比如PUBG里面占领优势的地理位置、击杀看到的敌人,MOBA里面技能的投篮和躲避机制、击杀敌方英雄、推掉敌方的塔,抢夺野区资源。围棋里面需要吃掉对方的棋子,占领更多的底盘等等。

而当玩家围绕着这些赛点做博弈/对抗的强度越高、频次越高,且博弈/对抗的结果对比赛胜负的结果越重要,则我们认为这段时间玩家的 博弈/对抗 强度就越高。

1.3 博弈/对抗强度的客观表征:

通过前面的论述,我们尽管能通过分析去得知一个游戏具体的博弈/对抗 内容,但如何得知其在某一时刻的强度呢?

实际上,博弈/对抗强度是很难去做客观描述和表征的,同样一个对抗机制或Gameplay在不同游戏中,甚至同一个游戏中不同阶段的强弱都是不能横向对比的,何况在复杂的对抗游戏中,同一个时间存在着多种博弈/对抗(LOL中同时在打团战和小龙、DOTA中ROSHAH团外带先知分推、PUBG中同时在跑毒和射击)

对此,我们必须另辟蹊径,通过一些别的方式去表征在一局对抗游戏中的博弈强度。

以下为不完全严谨的逻辑推导过程,没有兴趣的同学可以直接看后面的结论。

以下为简单的论证

游戏之所以要做博弈/对抗,其实就是为了争个胜负,一个游戏,都会有明确的目标或者胜负通关条件,一些简单的游戏中,胜负可能就在一念之间,比如剪刀石头布,一次博弈a1就可以判断胜负,其形态大概是这样的。

微信图片_20210917114205.JPG

W的值域为[-1,1],很好理解,-1为负,1为赢。在剪刀石头布中φ(a1)的值域也很简单,一开始大家都为0,出拳后,要么是-1,要么是1。

微信图片_20210917114206.JPG

而博弈过程φ究竟是怎么计算的,我们就很难得知了,如果游戏过程是一个简单的掷骰子,那可能就是一个简单的概率分布,而游戏如果涉及到一些复杂的规则和Gameplay,那就很难用数学形式去表达了。

在一些复杂的竞技游戏中,其胜负条件不是一蹴而就的,而是需要在单局中围绕着一项项的博弈和对抗去展开和推进的,可能有十几个甚至几十上百个博弈点,a1,a2,a3.....,这个时候其数学模型大概是这样的:

微信图片_20210917114207.JPG

并且,由于每次博弈的机制和Gameplay(这里记为φ)都不一样,实际情况可能更复杂,可能是这样的:

微信图片_20210917114209.JPG

这里就不展开了,大家能get到意思就行,可以看到一个复杂的游戏其实在数学形态上会非常的复杂,特别是在一个Realtime的游戏中,每一帧都可能产生无数个平行宇宙和决策分叉。

但我们脱繁就简,来观察我们最简单的模型,剪刀石头布的进阶版,现在要求赢得3次猜拳就可以赢得最终比赛,其实胜负(胜率)W就是一连串博弈的合,如果一方连续3次都赢得了猜拳,那整个比赛W在时间上的形态如图(不严谨):

微信图片_20210917114211.JPG

这个时候其实就比较容易看出来了,实际上胜负W,是一连串博弈结果的合。对于离散过程的游戏来说,是博弈的求和,而对于复杂的实时Realtime的游戏来说,胜负(胜率)W是博弈的结果在时间上的定积分。

微信图片_20210917114212.JPG

微信图片_20210917114214.JPG

这里可能不好理解,并且不能算绝对的严谨,但想传达的意思大体如此,如果能意会就再好不过。当然,对此有任何疑问和不解也欢迎交流和探讨。

论述结束

回到我们主要讨论的单局PVP游戏中来,虽然竞技游戏的博弈/对抗点非常之多,并行纠缠又不线性叠加,我们很难去在一个时间切片上去观测和衡量当下游戏的博弈/对抗强度。

但玩家在一个单局游戏中,其胜率是实时在变化的(如果我们能测量胜率的话)。

接下来重点来了!

也就是说,我们跳出所有耦合在一起难以分别观测和计量的博弈/对抗点后,站在更加高层的维度上去观察这个非线性复杂系统,玩家胜率的变化就是玩家博弈/对抗的结果引起的,而胜率变化的波动率(一阶导数)则间接的反应了博弈/对抗的强度。

所以,博弈/对抗的强度和胜率变化的结果是高度一致的,用胜率的波动去表征博弈/对抗强度是最符合游戏的语境和上下文的。(这里可能有点难以理解,就像捡子弹的多少这个博弈点在不同游戏里其重要程度是不同的,越是TTK高的射击游戏,捡子弹这个行为的博弈强度就应该越高。)

于是这里我们可以推导得知:

胜率的波动就是游戏博弈/对抗强度的客观表征

所以到这里,我们想要的博弈/对抗强度就浮出了水面,即我们只需要对胜率随时间变化的函数求一阶导,既可以得到博弈/对抗强度随时间的变化函数了。

但问题又来了:

我们怎么去科学的知道一个单局游戏中,某一时刻玩家的胜率呢?

这里就不得不去借助深度学习这个工具了。

第二章:基于深度学习的胜率预测模型和游戏节奏相关数据分析方法

2.1 基于深度学习的游戏胜率预测模型

首先,怎么去构建和使用深度学习的预测模型其实并不是本文的重点,因为这个真的非常难(这里要十分感谢杰哥提供的专业指导和技术支持)。

本文只运用了构建好的模型,做了简单运用和分析。

其实深度学习对游戏某一方胜率的预测在很多游戏中都有,我最早接触到这个东西还是TI比赛看胖头鱼直播听到的“大老师” ——即基于大数据和机器学习做的DOTA2比赛胜负预测,大老师会根据当前比赛的各种信息(阵容、经济差、等级装备等)去预测红蓝方的胜率。

要弄明白大老师的工作原理,其实还是相当复杂的,这里就不铺开去说了,以我的水平可能也说不清楚,建议大家去阅读相关的论文。

简单来说就是我们会去建立一个神经网络的深度学习模型,以MOBA为例,在比赛某个时间切片的诸多信息作为输入(阵容、经济、等级、装备、防御塔数量等几十个甚至上千个游戏内的数据),用非常多数量的对局去让模型进行大量的训练。

微信图片_20210917114216.JPG
[ 左边为神经网络的输入,右边为输出 ]

这里我们会用到sigmod函数作为激活函数:

微信图片_20210917114218.JPG

sigmod函数函数连续光滑,严格单调,是一个非常好的阈值函数。

微信图片_20210917114219.JPG

sigmod函数的值域在(0,1)之间,正好可以用来描述胜率。

最后我们得到一个相对稳定的深度学习网络,利用这个网络我们既可以对一把比赛进行分析,得到一把比赛中,某一方(moba),或某一个人(BR),他在每个时刻获胜的概率。

当然,你要说网络给出的胜率准不准确,这个肯定是不那么准确的,但从很多实际运用的结果来看,其给出的胜率结果还是很有参考意义的,毕竟在训练深度学习网络中,我们基本放入了整个游戏绝大部分的信息,并且随着样本的增多,其预测结果也越来越准确。

有了深度学习胜率预测深度学习网络的帮助,我们的工作便得以开展,整个的解题思路其实就比较清晰了。

即我们可以通过利用这个训练好的深度学习网络,来分析大量的比赛,并得到这些比赛胜率随着时间的变化,并通过进一步的数据分析,来大体得到一个单局竞技游戏中博弈/对抗强度随时间的变化,最后间接得到我们想要的游戏节奏变化曲线。

2.2 基于游戏节奏数据分析实践

具体的方法则需要分解为以下步骤

1. 获取N场对局(N>=1000 ,样本的数量当然越多越好)

2. 用模型求出每一局比赛一方胜率随着时间的变化

B = φ(t)

3. 求出每一局比赛胜率的波动率随时间的变化,即对上面的函数进行一阶求导,或者求一阶差分

B' = φ'(t)

4. 将N场对局的一阶差分做几何平均,则可得到当前游戏一个大体的节奏

微信图片_20210917114221.JPG

有了方法和思路,我们开始具体进行数据的操作和分析,这里我就简单说一下我是怎么处理手头的数据的。

首先我构造了1000+ MOBA 游戏的对局数据,并将这些数据放入深度学习网络中进行分析,我们的深度学习网络会输出一个非常大的JSON文件,当然这个JSON文件的格式是我们自己定义好的。

我们输出的JSON文件存储的是我们自己定义深度学习网络输出的数据结构体,内容会非常多,我们需要提取其中最关键的数据,即时间&胜率。

有了深度学习网络跑出来的1000+数据,我们就需要用到Python这种简单高效的工具来做数据处理。

1. 首先对1000局比赛输出的JSON数据进行重名命以方便后面代码中的读取,这个Python 几行代码就可以搞定了。

2. 之后我们继续使用Python做处理数据,由于我们的深度学习网络输出的JSON文件是一个很大的结构体,结构体中是一系列时间切片下游戏的数据和深度学习网络给的输出结果,所以我们需要对JSON文件进行反序列化,然后输出和储存我们需要的数据,即得到单一对局胜率随时间的变化函数。

3. 求出每个对局胜率波动随时间的变化函数,这里因为我们的数据是离散的,就使用一阶差分来做计算。

4. 将所有对局的φ'(t),进行几何平均。(附上蹩脚代码)

微信图片_20210917114223.JPG

5. 最后为了使得φ'(t)更具有可读性,且显得更加的平滑,我们使用高阶拟合,让输出的曲线更加平滑其易读。

微信图片_20210917114224.JPG

6. 最后使用Python输出绘图。

微信图片_20210917114225.JPG
[ N场比赛胜率的几何平均曲线 ]

微信图片_20210917114226.JPG
[ N场比赛胜率一阶差分的几何平均曲线 ]

以上整个流程简化一下大致是这样的:

微信图片_20210917114228.JPG

到此我们数据处理的工作就完成了,接下来则要开始做初步的数据分析,即游戏节奏分析了。

微信图片_20210917114229.JPG

以上图构造的游戏手数据为例,我们简单做一下节奏分析,可以看到游戏的胜率波动主要集中在游戏的中前期,并且在550s左右的时候出现峰值和分化,而中后期的波动比较小,这意味着游戏的整个博弈都集中在了前期,游戏的胜负基本在中前期就已经决定了,而后期则多是垃圾时间。很显然,这样的游戏节奏是不符合我们预期的,因为正如前文所说,我们希望游戏的节奏是不断由轻松变得紧张的,所有整个的博弈强度和胜率波动也应该是由低到高的。(因为本文的重点不在具体的游戏分析上,所以这里只是大致描述)

至于为什么游戏会呈现出上面的节奏分布,则需要更深一层的数据挖掘和比对,这个在后面一节会展开。

2.3 基于图像识别的游戏节奏数据分析实践

而之后我有用DOTA2的数据做了一次分析,首先因为时间的关系,我不可能再去构建一个新的深度学习网络去计算DOTA2录像产生的数据了,但很巧的是DOTA2本身就有一个胜率预测的深度学习网络,只要开通DOTA2 PLUS就行,但我只能获取到像这样的截图,并不是格式化的数据,这就比较头疼了。

微信图片_20210917114230.JPG

当然这也难不倒我,为了提取和分析图像数据,我不得不操起了老本行Photoshop,其实思路很简单,我只需要通过图像处理提取图片中的绿色的线就可以了,为此我在PS录制了动作脚本,执行了一些花里胡哨的操作(裁剪、高反差对比、滤色等一些列操作),最后提取了出了胜率的曲线。

微信图片_20210917114232.JPG

将图像变为灰度图,以方便识别(下面这张和上面的那张图用的不是一场比赛的)

微信图片_20210917114233.JPG

最后,通过Python的一个CV库,把图像做了处理,便可得到有效的数据了。

微信图片_20210917114235.JPG

至此,可以继续做数据的处理了,重复上面的方法后,大体得到了我们想要的胜率和时间的变化曲线。(我找了10把比赛时间在40分钟左右的DOTA2的录像分析,数据量有限)

微信图片_20210917114236.JPG

可以看到在一开局的时候胜率波动是非常高的,很好理解,因为MOBA游戏的对局阵容会很大程度上的影响游戏的胜负,之后也有一些小的波动,虽然没有直接的证据,但推测应该是抢赏金符和一级团造成的,再之后可以看到DOTA2前期的游戏节奏是非常舒缓的,整个前期就是在补刀和繁育,一直到了游戏的中后期,整个胜率才开始波动,整个游戏节奏才慢慢变得紧张,并且这个过程会持续很久,而在30-35分钟之后,整个游戏的节奏又开始下降了,这估计是胜负已定,没有太多变数了。

后半部分其实是大部分MOBA会存在的问题,就是游戏到了中后期很容易进入垃圾时间,当然这有利有弊,一方面优势方可以数值碾压,体验秒人的快感,但另一方,劣势方就只能任人宰割了。为了解决这个问题,一些MOBA游戏也引入了投降机制,可以一定程度避免垃圾时间产生的负体验。

而BR玩法则非常不一样,因为BR玩法你活得越久,则意味着你吃鸡的概率越大,游戏体验越好,这里不得不再次对BR玩法的巧妙感到惊叹。

2.4 如何根据节奏分析结果去做具体的游戏调整

虽然我们初步扒出了一个游戏的大体节奏,那我们到底怎么去调整节奏呢,这里就需要更加复杂和具体的数据分析了,难度也会比较大了。

我们除了可以得到上面的曲线,其实也可以根据需求得到一些更多的数据来对上面的数据做支撑和分析,比如我们可以对MOBA中团战的分布做一条曲线,或者对BR玩法中遭遇战的分布做一条曲线,这样你就可以很直观的看到这些事件和具体节奏的相关性了。

比如在这个构造的MOBA游戏的对战数据中,我们认为MOBA中的几个博弈内容比较会影响比赛的走势:

· 一血
· 团战
· 小龙BUFF
· 大龙BUFF

为此我们可以在以上对局数据中找到以上内容的数据点进行比对。

例如我们统计出比赛中人数大于5人的团战,并在图像中进行绘制(黄色的打点),如下图所示:

微信图片_20210917114237.JPG

很明显的可以看到,团战密集的程度和游戏的节奏的强度是强相关的,即验证了团战是有些节奏的很重要的影响因素,和团战相关的内容可能是我们调整游戏节奏的重要参考,比如:团战经济(击杀、助攻)相关内容、团战频次等等。

而我们如果提取比赛中大龙的击杀时间点的分布,则可以得到以下图像:

微信图片_20210917114239.JPG

显然,后期的两个集中的节奏点都和大龙的击杀有关,这个过于合理所以不解释了。到了这个时候,其实我们利用这些信息去调整设计了。

同理,对于一个BR玩法的游戏,如果我们发现节奏点和空投发生的时间高度相关,那我们也可以通过空投这个切入点,去解决游戏节奏的问题。

而整体节奏的设计也如此,如果我们通过数据分析观察到,游戏的中后期节奏反而没有比前期的节奏紧张,那我们就可以通过一些设计来弥补后期节奏的不足,比如加快大龙刷新的频率,加快后期兵线的强度和金钱,加快最后几个圈的缩圈速度等。当然对局单局游戏来说,任何调整都需要较长的周期和对局才能收敛,在做调整后,依然需要做这样的数据分析来进行游戏的迭代和调整。

第三章:基于深度学习和数据分析的单局游戏分析和设计验证闭环

本章主要介绍了一种利用深度学习辅助游戏设计的一种闭环方法,虽然是偏理论向并没有真正跑起来的,但其实际执行是没有什么阻碍的,除了需要一些开发支持和算力支持。

这里直接开门见山,整体的思路和流程如下图所示。

微信图片_20210917114240.JPG

简述说明一下

1. 首先我们会拥有一个基础1.0版的游戏运行环境。

2. 运用强化学习去训练对战AI,当然具体采用哪一种方案就不提了,可以用的方案有很多,可以参考DOTA2、星际等等,单纯的行为树构建的AI虽然在简单的战斗处理上是OK的,但考虑到宏观策略方面就力不从心了。这里工作量和算力需求其实挺大的,要做好心理准备。

3. 用训练出的AI在1.0的游戏环境中去模拟对战,可以变换阵容等等,尽量多的产生对局数据。

4. 保存对局的录像,或者数据。

5. 将数据用来训练基于深度学习的预测模型。

6. 当模型达到预期后,我们重复之前的过程3、4过程, 生成新的对战数据。

7. 将数据放入预测模型中进行分析,并产生胜率预测数据,或者上文中关于游戏节奏的曲线。

8. 将预测数据进行一些数据分析,并得到分析结果。

9. 人工的去分析和解读产生的结果,并思考游戏节奏哪里出了问题。

10. 修改和调整这些游戏内容。

11. 构建新的1.1版本的游戏环境。

12. 如果修改量不大,则直接用之前训练的AI放入1.1的游戏环境中进行对战模拟。

13. 重复后面的过程,做好数据分析,比对改动前后的数据,观察游戏节奏是否修改达到了我们的目的。

这里需要说明一个问题,在这个闭环里,我们所有的数据都是由AI跑出来的,但众所周知,AI的行为多少和真实玩家是有很大差异的,这样的做设计是不是会有什么问题呢?对于这个问题,我个人认识是不必担心的,甚至我们更应该相信AI跑出来的数据,因为看过DOTA2训练出来的AI就可以知道,实际上AI是比玩家更加理性和全局最优的,且操作上可以做到零失误,也就是说,AI的对战数据相对玩家来说是更收敛的,这些数据可能是最能反映当前游戏真实情况的。

可以看到,这个闭环流程基本是可以不用真实玩家参与的,设计师完全可以在发布版本之前就对设计做一些初步的验证,虽然这样的验证确实需要一些成本,但总比拍脑袋直接上线等结果来得稳妥,并且如果流程可以无阻碍快速迭代,算力也足够的话,那可以很大程度上加快新内容的设计和验证速度,提高版本的质量。从某种意义上说,也可以提供给设计者一个比较好的理论支撑和信心,反馈很快且容易简单成效。

总结

本文提到内容和方法大部分也只是理论阶段,暂时也没有机会去实践,只是个人一时兴起利用一些奇怪的技能做了一点微小的工作。但愿能找到一种相对客观的方法来指导一些复杂单局游戏的设计,希望对大家有用。

最后不得不说的是,分析和评价游戏是相对容易的,设计和实现才是难啃的骨头。就如本文前面提到,出于早期单局游戏前中期相对乏味和缺少节奏的问题,设计师是否能做出buff争夺、小龙争夺、空投争夺、轰炸区等全新Gameplay以改善前中期的游戏体验是非常需要创新和设计能力的。不过,虽然具体的设计和细节打磨非常重要也非常花时间,但千万不要因为在宏观设计把控上的懒惰而浪费了大家在细节和品质上的付出,任何设计都有需要想清楚why。

以及,做设计也并不是一厢情愿的事情,特别是做新玩法新机制的设计,在设计制作后,一定要通过一些具体的数据或者体验去验证设计是否能达到最初的设计目的。如果希望做一个强调团队配合的游戏,运用本文提供的方法,发现整局游戏中玩家都在发育和运营,打团的频次和打团对胜率带来的波动都非常的小,那这显然是没有实现设计初衷的,而这个时候如果还一厢情愿的觉得自己的设计是对的,那就有点说不过去了。当然,反复试错和迭代说上去容易,但实际却因为种种不可描述的原因让这件事变得非常的困难。

对于本文提供的方法,虽然说不是所有的项目都有机会用上深度学习这种目前来说成本很高的工具,但简单数据经分和打点也可以一定程度的辅助设计了。

Anyway,对于游戏设计这种见仁见智的事情来说,欢迎探讨,以后希望也有机会用一些先进的工具和方法,为游戏设计带来一些不一样的视角。

谢谢阅读!欢迎一键三连!因为文章篇幅和写作的时间跨度较长,且工作时间关系,数据和推导也没办法向写论文那样精确和严苛,如有纰漏,也希望大家多多指正!

文/Aarons
来源:腾讯游戏学堂
原文:https://mp.weixin.qq.com/s/9pjunqPgh5D8B75oht46VA

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-24 09:27

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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