一个关于游戏AI不太野的野望

腾讯游戏学院 2021-01-22
我们玩游戏时究竟在玩什么?

游戏一直以来被称为第九艺术,而前八大绘画、雕刻、建筑、音乐、诗歌(文学)、舞蹈、戏剧、电影实际上或多或少的都在游戏中可以体现出来。对于一个有美学表达需求的人而言,在游戏中几乎能够实现他所有的幻想和抱负。这在我看来是游戏真正的魅力所在。

诚然,由于经济利益的驱使,绝大部分的游戏都难以和艺术沾上边的。但是不可否认游戏给人们的生活带来了很多改变,它不仅成为了很多人最主要的消遣方式,甚至逐渐形成了自己特有的文化圈子(比如艾泽拉斯国家地理这样的论坛)。


那么我们在玩游戏的时候究竟在玩什么呢?这里我想要从游戏的独特性来说。游戏比较显而易见的特性,也是游戏区别于其他艺术形式的关键之处就在于交互性。

交互有两面,一个是与谁交互,另一个是自己的交互水平。我们在进行游戏的过程中,与我们交互的角色会随着剧情的不同、竞技场合的不同而改变,而我们在玩游戏的过程中,我们自己的交互水平也在不断的改变。

我认为所谓玩游戏的快感,很大程度上来源于这两个维度的提升。角色的改变可以说主要取决于游戏策划的设计,比如打到了更厉害的BOSS,玩到了更新颖的角色。而这些部分的获取又很大程度上取决于交互水平的提升,我们在游戏的过程中不断超越自我,不断战胜对手来获得最终的成就感。所以说我们玩游戏实际上是在玩一个自我养成的大游戏。

游戏与心流

因此如何在游戏中有效地引导玩家提升自己的交互水平实际上才是游戏设计中一个核心问题,然而每个人学习能力和学习偏好是各不相同的,这造就了不同的玩家有不同的体验曲线。一个对于某些玩家友好的设计对于其他玩家未必友好。所以游戏太简单会使得游戏毫无挑战而缺乏趣味,游戏太难会导致玩家难以获得成就感劝退玩家(当然也有一些玩家喜欢被虐的感觉,比如黑魂系列、只狼等游戏就以高难度操作闻名,不少玩家乐于在其中被反复折磨)。

[ 游戏《只狼》玩家死亡画面(恶搞) ]

从这里我们可以看出,一个恰当的游戏设计才能够真正的让玩家在其中获得乐趣。这其实就是心理学上常说的心流,当用户在完成交互行为时需要高技能水平,并且通过感知到高挑战,且两者达到某种平衡时就会有心流的体验产生。为玩家打造出心流体验实际上正是前面所说为玩家提供一个优秀的养成环境的关键。

[ 心流理论 ]

如何在游戏中打造心流?一种机器学习视角

但是怎么去量化的描述心流,从而指导游戏的开发,优化玩家的体验是一件非常难办的事情。为什么难?因为

  • 我们不知道对用户设定多高的挑战是合适的?
  • 我们不知道用户需要付出多少努力才能达到所需的高技能?

通常我们可以为玩家适配不同的AI(在剧情类游戏中是BOSS的难度、在竞技类是陪玩AI的强度)来调整玩家的游戏体验。至于如何产生这些AI,可以使用传统编写规则模型的方式(行为树、有限状态机等),也可以考虑借助机器学习(比如OpenAI Dota 5、AlphaGo等)来产生。

但是怎么调整呢?最传统最简单的方式一般交由玩家自行选择

[ 游戏《瘟疫工厂》难度选择界面 ]

而在在线游戏中,一般通过玩家过往的游戏表现,为玩家的能力定级以匹配能力相仿的玩家或者AI。

[ 游戏《王者荣耀》玩家匹配界面 ]

但是这样其实还远远不够, 因为以固定的分级或者玩家过往表现产生的定级,在一段时间窗口内都是静态的,并且粗糙的。玩家的体验直接来源于一个关卡或者一场比赛,而在这一片段中

  • 同水平的玩家,所掌握技巧的维度各不相同,例如有的玩家擅长进攻、有的玩家防守做得更佳
  • 同水平的玩家,在游戏过程中对于游戏过程的偏好会各有差异,例如有的玩家偏好碾压局、有的偏好激战局等

由于这些原因,一个对玩家在一个窗口内的平均的衡量很难对玩家的心流体验做更好的优化。

如果想要在玩家游戏的过程中打造更为精细化体验控制,使得玩家能够按照一些特定的模式赢取或者输掉比赛,从而为玩家打造心流。我们必须借助大量玩家的数据,来对玩家的体验做更细致的分析。

我们以控制游戏内AI为例,可以设想如下图所示的一个框架


基于玩家的社交关系、过往的游戏数据等等我们可以建立模型刻画玩家的画像;基于大量的玩家对战数据或者用不依赖人类数据的强化学习进行预估得到一个对游戏局势的判断或者说当前游戏对于玩家的挑战的度量。

我们利用一个局内控制模型来综合使用玩家画像和局势预测的信息,通过控制模型来产生对游戏中AI的调整。

这里带来了第一个问题,控制模型可以怎么来调整AI呢?

我们可以考虑从AI的输入部分和输出部分对AI的决策进行扰动,具体而言

输入部分:

  • 控制模型感知状态准确性
  • 对当前感知到的状态进行扰动(例如错误估计自己的技能时间、忽略队友状态等)
  • 可见性(对敌人状态的可见程度,例如作弊)
  • 控制AI的风格偏好(偏好激进、偏好保守)

输出部分:

  • 限制动作的输出(不允许AI进行某些操作等)
  • 对输出进行扰动(错误的决策等)

以上部分需要结合局势预测来相应地进行决策,但是其中存在若干超参数(例如扰动的内容、幅度、方向、期望的风格偏好等等)是一个复杂地决策过程。

这里我们可以考虑将控制模型的决策进行大类的划分,在每一类决策中,可以生成不同的扰动方案,虽然具体的扰动幅度比较难以界定,但是扰动的方向通常是比较直观的,比如让AI的预判变差,只需要将给他的信息变少即可。这些类别和具体扰动的范围可以通过专家知识总结出来,接下来要做的即是在这些扰动值和对玩家的影响效果之间建立关联。

这个关联的建立可以考虑基于玩家的数据利用机器学习的方法来达成。具体而言,局内控制模型会不断输出不同的控制方案,这些控制方案会依据预先设定好的配置来对AI模型进行扰动,从而改变游戏中的AI状态(能力、风格等等),玩家在整个过程中会有不同的反馈(比如比赛中的脏话数、比赛后的点赞行为、举报行为等等)。依据这些反馈,我们可以组织起来玩家对于局内控制模型的体验数据,对我们的控制模型进行训练更新。随着数据的积累,我们的控制模型能够更好的把握不同的用户画像对于不同局势下游戏的偏好,从而自动的调整游戏中AI的状态,为玩家打造精细化的优质游戏体验。


说了一大堆,我们再回过头来看看,我们会发现问题的本质实际上并不复杂,为玩家打造精细化游戏体验的过程,实际上和我们在刷购物网站、在刷抖音的过程是类似的。购物网站为我们挑选不同的商品来让我们获得更好的购物体验,视频流为我们挑选不同的视频来让我们产生更多的兴趣。


在游戏中,想为玩家打造心流,我们实际上也可以利用手头上的游戏元素在为玩家提供不同的推荐服务。这样整个问题实际上就很清晰的分解为两个部分:

  • 如何设计各种可供推荐的游戏元素?
  • 如何提高推荐系统的能力?

从这个角度去看游戏的心流设计或许就没有那么难了。当然这个方向还有很长的路要走,虽然推荐系统已经被研究应用了很多年,依然还有很多问题需要去解决(比如在游戏场景中如何解决冷启动?)而更为棘手的是,玩家的反馈并不像常见的推荐场景中那么容易获取。在游戏中的即时反馈往往会非常稀疏,比赛终局的反馈在对控制模型的决策进行分配的时候,就会变得不那么准确。

另外一个重要的问题是如何快速设计各种可供推荐的游戏元素?使用机器学习的方式生成AI可能是一条路,前面都是以AI作为例子来表述,但可能还有其他更多的角度。这里有一个严肃的问题需要广大游戏人去面对,是否只有将AI作为一个欺骗玩家的存在放在游戏中才能优化玩家的体验?就像酒托、医托一样,这个”玩托“究竟是好是坏?我回答不了。

之前大家可能没有考虑过从推荐的角度去思考游戏设计,但是我相信这个视角能够给游戏设计带来一些改变,能够改变玩家体验的元素应该还有很多,不会仅限于AI部分。而这些元素的设计很大程度上决定了整套框架是否能够真正发挥作用,只有这些元素越来越丰富,越来越高质,我们对玩家体验的打造才能更极致。

在未来对于玩家体验的优化,我想一定是这样基于数据驱动的视角,新型的游戏形态也应该是在这样的驱动下诞生的。我不知道这个未来还有多久,但是它一定正在到来!

来源:腾讯游戏学院
原文:https://mp.weixin.qq.com/s/g0puxOfLpJn1AsCl5WZpmg
最新评论
暂无评论
参与评论