目录
背景
无论是大型3A作品还是小型独立作品,开发游戏从来不是简单的事,故事、影像、音效甚至游玩内容,工作量之大不容小觑。然而如果将游戏一部分交由电脑AI随机制作自动生成,开发组既不需要多花工夫逐个细节制作,也能保持游戏的多变,这似乎是个不错的点子。
游戏界有不少情况都动用到自动生成,比如自动生关卡,角色,地图,对话乃至剧情。生成地图关卡的原理跟其他几项可以说是毫不相干。随机生成关卡地图本质上随机生成地块辅以寻路器件,再加上繁多的地图限制。自动生成角色往简单方面说只是在初始化主角时random各项属性,参考意义不大,而往复杂方面说则是生成NPC乃至与其配套的对话剧情。
一些打着随机生成剧情噱头的游戏,比如《漫野奇谭》,会根据角色演出参数来从库里选取出相应的演员替换,《80天》超高自由度的背后是拥有75万字的海量文本量支持,玩家单次游玩通关大约只能看到其中的3%,甚至我们喜闻乐见的"魔怔历史"的P社游戏也绕不开国策树的束缚和国家设定。这些随机生成剧情游戏只是采用了程序化生成叙事,游戏本质上仍然是在程序设定好的框架下运行。并不能实现我们的初衷,即增大游戏自由度,减小工作量。
AI创作的出现则很有可能打破游戏开发过程中的"困境"。AI创作也就是机器人写作,是指通过一定的计算机程序,对输入的信息进行自动化的分析、处理和加工,从而生成一篇较为完整的文章。其背后的原理非常复杂,核心是自然语言处理技术,同时涉及到数据挖掘、机器学习、知识图谱等多项人工智能技术。
目前的AI写作分为三种模式------模板式,抽取式,生成式NLG(自然语言生成技术)。前两者一个只是简单地套用模板,概括新闻摘要生成,对于游戏随机生成剧情并无过多参考意义,而新兴的NLG技术才可能是破局的要素。
而本文所探讨的,就是如何利用NLG技术来进行游戏自动化。
NLG(自然语言生成)
自然语言生成可以分为三类:文本到文本生成、数据到文本生成和图像到文本生成。
文本到文本生成
文本到文本生成技术主要是指以文本作为输入,进行变换处理后,生成新的文本作为输出。此技术包括机器翻译、文本摘要、文本更正和文本复述等。这对于游戏自动化并没有过多帮助,笔者就不加以赘述了。
数据到文本生成
数据到文本生成技术分为基于规则和模板方法和基于神经网络序列生成方法。数据到文本生成广泛应用于包括基于面向任务的对话系统中的对话动作、体育比赛报告和天气预报等。随着神经网络的发展,数据到文本生成领域中基于神经网络序列生成的方法逐步成为热点。
前者本质只是系统事先设计并构造相应的规则或模板,其中都包括一些不变的常量和可变的变量,用户输入信息之后,文本生成器将输入的信息作为字符串嵌入到模板中替代变量。
后者,即基于神经语言模型的方法不需要太多人工干预,易产生丰富流畅的文字描述,不过受限于语料和模型,使用者无法直接控制内容生成,难以确保所输出的文本内容同输入数据中的信息吻合,需要优化来提高实用性。18年经过优化可通过知识图谱嵌入来辅助自然语言生成,使得生成的文章新颖多样且主题一致。
图像到文本生成
图像到文本生成是指根据输入的图像信息生成描述图像的自然语言文本,常应用于给新闻图片生成标题、儿童教育中看图讲故事、医学图像报告等。此项技术能够为缺乏相关知识或阅读障碍的人群提供便利。
图像的文本生成技术主要可分为三类:基于模板的图像描述、检索式图像描述以及生成式图像描述。
前两者虽然能保证文本的正确性与流畅性,但生成效果欠缺新颖性且在描述复杂场景或包含新颖事物的图片中存在局限性。
从视觉空间或多模态空间中生成图像描述的做法是,在分析图像内容的基础上,使用语言模型来生成图像的描述。因为此方法利用了深度学习技术,所以可以适应为多种的图像生成新的描述的任务需求,生成文本的相关性和准确性较之前方法有所提升。因此,基于深度学习的生成式图像描述是目前研究的热点。生成式图像描述大致分为基于多模态空间的图文生成,基于生成对抗网络的图文生成,基于强化学习的图文生成。
由于这三者皆
接下来来浅谈下以上这些技术在游戏自动化方面的可能应用。
NLG模型的对比
NLG在游戏自动化的可能应用
在概括了NLG的技术后我们接下来探讨这些技术在游戏自动化方面的应用前景
根据UI图片来生成描述文本
就笔者短暂的游戏开发经历期间,UI的设计以及生成可谓是繁琐枯燥的,如果我们利用NLG的图像到文本生成技术来生成UI对应描述文本,这也许会减少大量的工作。
比如说对各种经典常见的物品进行文本描述。对于一些简单的物品比如苹果雨伞皮革等等,这些AI 的表现稳定且优秀。
不过即使在生成了对应的描述文本后也需要游戏策划加以改进,毕竟绝大多数游戏在描述物品时都会带上游戏本身的或诙谐或黑色幽默或冷漠的风格。
根据背景或开头来生成剧情
这里笔者举个例子,即时下热火的AI续写软件------彩云小梦。
它仅仅需要一段故事的开头辅以故事背景,禁止输出的词语等来续写故事,经过笔者测试,随着它的篇幅不断变长,它的续写会糅杂各种无厘头的风格,虽然软件提供了风格定制以及可供筛选的其他续写,但是不如人意翻车走偏的概率依旧大。而且即使利用此软件编写适宜的剧情,游戏策划根据此文本来改编为剧情的难度也高。
因为彩云小梦并不是开源的,笔者也不清楚其原理是什么,笔者根据其上下文联系低的特点,揣测其核心可能是基于循环神经网络的模型。
那这就能证明根据背景或者开头来生成剧情在游戏方面的应用走不通了吗?并不是这样的,相反,笔者根据现在AI续写在模拟唐诗宋词乃至续写某些奇幻小说的优秀表现反而信心十足。
首先彩云小梦的训练数据集来源于用爬虫爬取的各式文学作品,诚然这样的它海纳百川,对各类作品都能加以续写,但是质量上却不够过硬。
因此如果我们将目标缩小至某一固定题材,在确定好所要开发的游戏的题材风格后,先自行收集与此游戏相关风格的文学作品来作为数据集训练,放弃其他风格,着重于训练符合此款游戏风格的模型。
虽然收集特定风格的作品的难度要高于长袖善舞的网络爬虫,但是这样一能确保我们模型的"纯洁性",二来由于目的的明确性,模型训练难度应该不会太高。
但是这样仍然不能解决一个基本的问题,即使凭此生成了优秀的剧本,但是这并不能代表我们的工作量因此少了一个剧本策划该做的工作,相反,对这些剧本的人工梳理精进,工作量想必也不会低吧?因此笔者提出以下想法。
根据背景或开头来续写对话
上述人工改进AI剧本的问题既然难以解决,那如果我们换一个思路呢?同样的,我们不再放眼于"扫天下"而执着于"扫屋子",我们将AI生成剧情改为AI续写对话,如图所示。
黑色部分为原文,红色部分为AI续写。比如说我们事先设定好两个性格的npc,通过编写两者的少量背景或者剧情开头,让AI来替我们生成其余的日常对话或者以剧情为导向相关的对话呢?
这样的优点在于建立一套流水化自动化体系,其目的并不是完全替代游戏策划的作用,而是辅助策划人员乃至开发人员完成一些繁琐的事务,而且对话方面的开发与读入excel类似,甚至只用写个插件按照对话格式和事先设定的程序检索读取就可以直接导入转化为unity上的演示效果了。
但是即使这是一个小小的需求,AI并不是万能的,其背后的逻辑又是什么呢?同样的,我们大概率还是得训练一个日常对话的模型或者一个与游戏风格相近的模型,这样辅以我们开头和背景,我们的npc的对话才不会谈天论地仿佛等待戈多的那两人一般。
未来前景
正如上文所述,只是生成UI描述,特定剧情,特定背景下的人物对话,即使这样我们仍未达到我们的初衷,即大幅度地增加自由度,减少工作量。
那有没有一种可能,我们将角色的属性,背景故事作为输入,让某一模型生成我们想要的剧情对话呢?虽然没有相关研究证明,但笔者预测,时下热火的GAN生成对抗神经网络可能具备这样的潜力与可行性,它由1个生成网络和1个判别网络组成,在两个神经网络相互博弈中进行学习。输入随机噪声后,生成网络会模拟真实样本进行输出。
除此之外,即使现在AI创作质量不佳,但是技术更新换代非常快,目前传统的AI创作模型RNN循环神经网络的缺点比如短期记忆,不能并行计算,这些导致RNN在NLG方面逐渐被Transformer模型所代替,也许在不久的未来我们的AI续写能更兼顾上下文联系,为我们呈现更好的文章。
模拟美术风格
补充一个不隶属于NLG技术但同样具有应用前景的技术,即深度学习的风格迁移。如图,左边的大桥被改成中间这张海浪图片的风格,变成右图的油画风格。事实上此类风格迁移的算法模型已经相当丰富,甚至已经有一些优秀的像素化动画化的模型可以不用训练直接套用。如果小型工作室或者公司美术资源过于贫瘠,可采用此类方法来生成自己需求风格的美术资源。
参考资料
https://baijiahao.baidu.com/s?id=1717313583180028207&wfr=spider&for=pc
https://www.zhihu.com/question/31689004
https://baijiahao.baidu.com/s?id=1701052922475966495&wfr=spider&for=pc
http://www.360doc.com/content/15/1226/11/19203469_523197909.shtml
https://www.qlwb.com.cn/detail/16333500.html
https://blog.csdn.net/weixin_38858749/article/details/111870498
[1]李雪晴, 王石, 王朱君,等. 自然语言生成综述[J]. 计算机应用, 2021, 41(5):9.