【导读】PCG —— 程序内容生成,通过算法创建游戏内容,例如游戏规则,关卡,角色,背景故事,纹理和声音。近年来国际会议组织了各种比赛,例如马里奥AI级别生成比赛,Platformer AI比赛,AI鸟类等级生成比赛和一般视频游戏AI(GVGAI)等级生成比赛 。今天为大家介绍一项关于 PCGML 的最新研究(PCG 通过机器学习的例子),这篇论文也被 GECCO 2018 提名为 Best Paper Award ,这也是一个新兴的研究领域。
在视频游戏中,马里奥游戏级别有不同的表征Level Corpus (VGLC) 和Mario AI 框架,这两种都是基于tile的表征形式。具体地说,以VGLC 表征的马里奥级别使用特定的字符符号来表示每个可能的tile 类型。然而,应该注意的是这个VGLC 表征主要是关注tile 的功能特性而不是其艺术属性,因此无法区分视觉上某些特定的tile 类型。此外,通过仅提供的单个字符符号来表示不同的敌人类型,VGLC 编码忽略了不同敌人之间的功能差异,因此我们可以选择将其映射到通用的Goomba 敌人类型上。
为了对训练的水平进行编码,我们用不同的整数来表示每种tile 类型,它在输入到判别器前被进一步转换为一个独热编码(one-hot)。此外,生成器网络同样用独one-hot 编码形式输出再将其转换回整数值。基于整数格式的级别随后将被发送到用于渲染的Mario AI 框架。Mario AI 框架允许其tile 类型产生更广泛的艺术多样性,但由于其VGLC 编码的简单性,只有小部分子集的Mario AI tile 是可用的。从VGLC tile 类型和符号,到GAN 的训练数字编码再到最后Mario AI tile 的整个可视化流程如下表1所示。
表1生成的Mario 游戏级别所使用的tile 类型。符号字符是来自VGLC 编码,然后数字标识被映射到相应的值并用于生成可视化的Mario AI 框架。在GAN 训练期间,该数字标识值将被扩展为独热向量(one-hot) 输入到判别器网络。