/雷火UX | GDC2022演讲实录:自动化实践——随机内容生成

雷火UX | GDC2022演讲实录:自动化实践——随机内容生成


GDC 2022

今年3月21日至3月25日,全球游戏行业最具规模、最有权威、最有影响力的专业峰会GDC2022在旧金山莫斯康中心盛大召开。本届GDC中,雷火UX共获邀17场演讲,分布在9个核心演讲以及8个峰会演讲,再度刷新中国游戏行业纪录,领跑全球。

接下来雷火UX公众号将陆续为大家进行介绍。本篇为大家介绍的是来自雷火UX资深数据分析师周壹&雷火UX数据挖掘工程师天蓬的演讲——自动化实践:随机内容生成指南。


1

我们在游戏开发中遇到的问题

为游戏生成内容和地形时,我们会遇到多个问题,而这些问题很可能存在于许多游戏设计过程中。比如,玩家总是抱怨地图设计不公平,出生点不合理,资源不平衡等等。再如,给定两张图,如何比较哪个地图更好,对双方都比较公平?在特定的地图下,若两队人数不同还公平吗?在开始时容易获取到道具吗?多大尺寸的地图可以保证公平性?选用哪个随机生成算法?这些都是很可能存在的。

以上总结了在随机内容(如地图)的生成中会遇到的问题。接下来,我们会从实践角度以及仿真程序等方面讲解我们是如何通过数学手段实现自动化内容生成过程的。

在实践中,从出生点设置到地图道具投放,都会极大程度地影响玩家的初始成长。而游戏中后期玩家的成长主要取决于玩家自身的技能。因此,为了减少无关因素的干扰(如不同玩家的操作和技术),我们会在游戏初期去比较地图的有效性和公平性。全面的仿真实验是检验这些假设的有效方法,而控制变量法是仿真实验的关键。

2

我们设计的仿真实验

为了进行仿真实验,我们设计了一个程序。程序背景是两支队伍(红队和蓝队)在雪山边缘开采金矿,金矿和雪山都是算法生成的。红队随机的出生在西部(即左半区),蓝队随机出生东部(也就是右半区),每个团队成员都使用相同的寻路策略。若两个队伍相遇(即早期阶段)或金矿资源耗尽则结束游戏。当两支队伍第一次见面时,他们可能会打架或分享金矿信息,这将使比赛进入中后期。

我们为什么要用早期阶段的数据来进行实验呢?首先,这些数据的解读比较容易,实验结果也能比较好的进入应用程序。另外,单次实验的耗时也是我们考虑的因素,单个实验越快,我们可以做的实验越多。

3

我们设计的数学模型

在我们的数学模型中,两支队伍在单场比赛中获得金币的差异可以反映出生点和资源位置的差异,因为他们都使用相同的寻路方法。而数千场比赛造成的金币差的方差可以反映地图的稳定性;多次实验的期望可以体现出地图的公平性;不同地图的方差可以比较地图的质量;不同随机生成算法的方差可以比较地图的有效性。

让我们看看下面两个地图,一个是具有雪山堆和金币堆的,另一个是只有零散的金币的,你能直接看出哪个地图更有利于红队(出生在左半区域)吗?通过我们的数学模型,每张图做三千次实验,我们现在可以得到红队和蓝队的金币差的密度图。


经过我们的模型分析,地图二关于零点对称,且其更稳定,因为曲线又窄又高。地图一则不是对称的,尽管它的峰值为零。另外,地图一有多个峰,而且我们可以大致看出地图一对蓝队来说是更有利的。现在,我们可以通过做Z-Test来验证这个假设:地图一对蓝队的更有利。

经过显著性检验后,我们得知假设是对的,即地图一确实对蓝队的更有利。

4

把地图变公平的方法
我们做了几点,首先是尝试确定地图大小和队伍人数。一般地图更大,这个曲线越平缓,即,两个队伍金币差的方差也小,说明地图的稳定性越高。

另一方面,随着红队人数的增大,结果对红队更有利;而随之蓝队人数的增大,结果对蓝队更有利。可以看到,人数确实可以改变地图的公平性。这也回答了我们之前提出的问题。下表是不同队伍规模下的μ值,行表示蓝队,列表示红队。可以看出,表中的多数值为负,表明在多数情况下,地图对蓝队有利。

除此之外,我们还设计了寻路算法,具体指的是队伍中的每个人是通过什么样的策略寻找的金币,因为寻路的系数指标可能会影响实验模型的最终结果。为了仿真实验的可靠性,在考虑寻路策略系数时,至少需参照5点原则:每个人(AI)对获取金币总是贪婪的;他们不总是走固定的路线,但是随机性有限度;每个人使用同一个寻路算法;有一定的能力可以逃脱陷阱;符合人类的行为特点。以下是我们设计的一个寻路策略系数,你也可以设计你自己的算法,但设计时需要考虑这个5项原则。


并且,我们设计了随机生成算法。随机内容生成器的功能是生成障碍物、奖励物品等等。主流算法有均匀分布选择,Perlin噪声,Fractal噪声等。这里以均匀分布为例,说明随机内容生成器是如何工作的。第一步,生成与地图等大的矩阵,其每个值都根据0.0到1.0之间均匀分采样得到。第二步,遍历矩阵的所有元素,得到k个值最大的位置。第三步,在这k个位置显示金币(或雪山)。
下图是均匀分布选择算法生成的金币,左边是矩阵的值,右边是金币的位置。

下图是Perlin噪声生成雪山。


下图是Fractal噪声生成雪山。


5

总 结

既然我们有了数学工具,我们如何才能自动化内容生成过程呢?

首先,根据专家知识设计地图比例、奖励数量、障碍物数量和玩家数量。第二步,设置我们的指标底线,例如 sigma 不能超过 30。第三步,定义“早期阶段”。第四步,选择合适的随机生成算法。第五步,生成多张简化版地图。第六步,对这些简化的地图进行数千次仿真。第七步,计算指标。最后,接受符合底线的地图。


GDC2022雷火UX演讲一览


【实录】条条大路通罗马:在《永劫无间》中用不同学科方法分析流失

【实录】关注特殊:让颜色不再成为认知障碍
【实录】《逆水寒》的艺术实践:舞蹈与游戏间的细语
【实录】UX助力精益运营:来自《流星群侠传》的经验
【实录】《永劫无间》的UX设计:从原型到成品
【实录】如何早期评估是否是“好产品”:经验教训与最佳实践
【实录】录音艺术与工程实践:《天谕》中的乐器社交
【实录】《永劫无间》:构建一个受欢迎的自定义捏脸系统
【实录】观察变化:含时社交网络可视化与社区行为模式分析
【实录】多人在线游戏中的实时异常监测
【实录】助力游戏策划分析:如何开发一个在线透视图表工具
【实录】图灵模式和分形:程序化生成研究
【实录】游戏中的发型艺术:东西方玩家审美及制作
【预告】自动化实践:随机游戏内容生成指南

【预告】基于多模态模型的游戏帧率预测

预告】东方叙事:如何理解中国游戏中的“武侠”
往期推荐


本文来自微信公众号“网易雷火UX用户体验中心”(ID:LeihuoUX)。大作社经授权转载,该文观点仅代表作者本人,大作社平台仅提供信息存储空间服务。