有这么一个游戏:
你叫小明,是拉里昂的一名贵族领主,手下有一大票忠心耿耿的骑士。一天深夜,城堡中号角突然响起,你警觉地翻起身来,寝房内外早已灯火通明。几个随身护卫未经传唤闯了进来,匆忙向你汇报:大队兽人来犯,形势危急万分!
所有人都在等着你的应敌之策,但你疑惑的是为什么兽人莫名其妙就打来了。
片刻过后,你决定动用一种神秘而强大的魔法——直接改变世界进程的那种。兽人原地消失了,没有任何理由。所有人都惊呆了,面面相觑。
你是否好奇接下来剧情该怎么继续下去呢?别急,继续往下看吧。
写小说的人工智能
《AI Dungeon》(《AI地下城》)是一个文字冒险游戏,一个地地道道除了文字就没有任何画面、音乐的游戏。我们输入一句话(目前仅支持英文),游戏内的人工智能(AI)予以回应,这就是《AI Dungeon》的全部。
真正的文字游戏
别误会,《AI Dungeon》并不像微软小冰那样主攻聊天问答,它的专长是写小说。
开始游戏之前,我们可以选择探索特定世界观,或泛泛地选择一个基本题材,包括奇幻、神话、丧尸、后启示录、赛博朋克等等,然后简单设定自己的身份和名字,作为主角进入游戏。文章开头小明的故事,就是奇幻类型、贵族出身。
设定好之后就是自由发挥的时间了,我们写一小段,AI再续写一小段。《AI Dungeon》对玩家输入内容基本没有限制,但还是要遵循一定的规则。游戏提供三种输入模式编(Story)、说(Say)以及做(Do),彼此稍有不同。
点击“Say”可切换至其它输入模式
Story模式就是直接把我们输入的内容认定为故事情节。在面对兽人进攻时,我打出“兽人侵略者突然原地消失”这几个字,AI就接着这句话编下去。虽然这个情节毫无逻辑,但AI似乎还是在努力把故事圆回来,它会补充说“你很疑惑,呆在原地”。
在Say模式下,我们输入什么,AI就以“你说:‘……’”的句式起头写下去。小明在大战稀里糊涂取得胜利后,我让士兵们喝酒吃肉庆祝,然后抱着玩笑态度在Say模式下输入“我的宝贝儿子呢?他怎么不在这里?”
AI的续写完全出乎我的意料:“你突然扭头看见手下中有一个人,什么美食也顾不上了。那正是阿蒂默斯,你的儿子,他本已失踪多年。”倒不是因为父子名字差这么远,而是我没想到AI还能安排失踪多年这种挖坑情节。
我配合着问,“这些年你到底去哪了?”AI紧跟道:“他那双绿色的眼睛紧盯着你。他似乎不像你儿子了,尽管他看上去一点没变。”
我“警惕起他来,在想他是不是可能被消失的敌人控制了。”这里我用的是Do模式,按照要求必须输入以动词开头的句子。
而通过“消失的敌人”这一关键词的引导,AI居然分析出他是被此前原地消失的兽人给附身了……故事越来越复杂,这里还是就此打住,我们已经介绍完了这三种模式。
只要玩家自己输入的内容有一定连续性,AI续写的情节一般不会过于跳跃。更重要的是,它大体能够保持世界观的前后一致;适当控制故事长度的话,它基本能分清各个角色谁是谁。此外,初始状态下AI一般都会设定一个目标,不管是贵族要抵御兽人入侵,还是勇士要实现屠龙大业。
稳定的世界观、相互区别的NPC,明确的目标和任务,一般游戏所具有的这些特征,在《AI Dungeon》中同样有所体现。而且,《AI Dungeon》通常都是以“你怎样怎样”的句式行文,一定程度上增强了代入感。
虽然它的游戏内容全部以文字呈现,但比起那些只能做有限选择的RPG,《AI Dungeon》允许一切可能。如果实在对AI给出的某一段剧情不够满意,我们也可以撤回让它重写。
除了简易开局中的几个固定题材类型,《AI Dungeon》还提供了其它更复杂、更具体的世界观。比如主打“暗黑”、“奇幻”的Kedar大陆,你进入以后需要详尽地选择自己的出身、种族、性别、职业等等。这个大陆也有自己的行政区划和历史沿革,游戏中你随时会受到“世界事件”的影响,和形形色色的预设人物发生关系。
多个可供选择的具体世界观
可以说,《AI Dungeon》通过现代自然语言模型,仅用文字就搭建起了一个个生动的游戏世界。
技术带来的自由
2019年2月,硅谷OpenAI实验室发布了震动业界的GPT-2(Generative Pre-Training Transformer)模型,意味着人工智能在自然语言识别领域上了一个新的台阶。
那时,就读于计算机相关专业的尼克··沃尔顿(Nick Walton)正处于大学最后一学年,一次校园编程竞赛,让他想到借助GPT-2做一个文字冒险游戏。
Nick Walton
3月份,沃尔顿完成了《AI Dungeon》的初版。之所以取这个名字,以及游戏中的通用货币被命名为“龙鳞”(Scales),都是因为受到他酷爱的经典桌面游戏《龙与地下城》(Dragons and Dungeons)的启发。
桌面游戏《龙与地下城》
起源于上世纪70年代的《龙与地下城》拥有一套丰富、成熟的规则体系,各种游戏行为都可以被规则化约、计算,产生相应后果,因此玩家享有极高程度的行动自由。但是,后来的电子游戏受限于技术和成本等问题,能够提供的选择反而非常有限。
《AI Dungeon》就试图在电子游戏中赋予玩家更多的自由。只不过,游戏的初版很多地方并不完善,玩家还是只能从一长串选项中逐步选择行动方式。另外初版必须在Colab(谷歌的一项云电脑服务)框架内运行,对没有相关知识背景的人来说也不便获取。
沃尔顿后来自己评价这个初版“很有娱乐性,风格也很独特”,“但几乎无法构建一个完整的故事”。
初版《AI Dungeon》
2019年5月,沃尔顿创立了Latitude公司,专注于人工智能研究和《AI Dungeon》的改进。年底,OpenAI终于放出完全版的GPT-2模型,《AI Dungeon 2》随之推出(之后仍称《AI Dungeon》),并且可以直接在官方网站游玩。
待到2020年5月GPT-3发布,事情又要另当别论了。完全版的GPT-2使用15亿个预训练参数,需要6GB存储空间;而GPT-3使用的参数是1750亿个(超过人类大脑神经元数量),存储空间占用达到700G。
GPT-3的自然语言识别能力更进一步,不仅能够写文,还可以答题、翻译,甚至生成代码、做数学推理。当然,GPT-3对语义和逻辑的“理解”也更加深入。
简单来说,GPT-3写出来的东西更像人写的了。尼克·沃尔顿这样评价前后两个模型的区别:
“GPT-3是目前世界上最强大的AI了……它的逻辑一致性明显比2代更强,能更好地理解谁是谁,谁在说什么,到底有什么事情正在发生,它能够写出有趣而可信的故事。”
在有了GPT-3的支持后,《AI Dungeon》才真正成了一个合格的写手。
不过,GPT-3虽然强大,但还是存在一些固有问题,这是由它所使用的的深度学习(deep learning)方法决定的。反映在《AI Dungeon》游戏中,就是故事越长逻辑性越差,AI虽然文思泉涌但连阴天和晴天哪种天气更凉快这种常识都分不清(事实上还是语义理解问题)。
你说“阴天比晴天更凉快吗?” 你看着阴云密布的天空,感觉到有几滴雨拍打在你的头上
此外,似乎是为了故事的连续性,对于极端偏离故事逻辑的输入,AI会拒绝续写。比如我在游戏进行时直接来了一句“Game Over”(游戏结束),AI很实诚地表示自己无能为力……
小明的故事中,在Story模式下输入“Game over”,AI给出黄字表示不知道该说啥
但更大的问题是,连研究人员自己也无法解释为什么AI写出了那些东西,这是如今基于深度学习的人工智能无法避免的弊端——模型本身不可解释。他们可以“烧光”顶级性能的CPU和显卡,把训练参数堆到夸张的千亿级别,投入千百万美元的训练成本,为的只是让AI写出人话,就算其中的原理是不可解释的。
这多少还是暴力了些。
文字冒险的进化
回看由来已久的文字冒险类游戏,它们从来就没有过《AI Dungeon》这样的技术和自由度,但仍然诞生了游戏史上的诸多经典。
1977年,在那个电子游戏的蛮荒时期,雅达利2600刚刚问世,所有玩家都在为简单的像素画面兴奋不已,而同时期的电脑上却出现了一款仅有文字的的游戏:《Adventure》(《冒险》)。
和名字一样直白的是游戏的剧情,如果把《Adventure》的内容直接写成一本小说,并不具备多大文学价值。但它的特色在于,玩家可以输入关键词和机器交互,主动地、参与式地推进故事情节。
《Adeventure》开始界面
到了一个岔路口是向东还是向西?看到一扇门是开还是不开?虽然接下来的情节不一定有多么巧妙,但不同的决定能够产生不同的结果,整个故事都好像是玩家自己创造的。
当年的许多玩家,因为《Adventure》而第一次在游戏的叙事环节感受到了人机交互的魅力。于是,越来越多类似的游戏相继出现,如《Adventure International》(《世界冒险》)和《Zork》(《魔域》),它们都被归为文字冒险游戏。
随着图形技术和硬件性能的进步,文字冒险游戏在加入画面、配乐后又独立出一个类型,成为日后的冒险游戏(AVG)。与此同时,游玩方式则从输入关键词和语句变成了做选择题,尽管后来的日式Galgame和RPG与早期的文字冒险游戏已经相去甚远,但还是继承了其基本内核:选择影响结果。
互动电影游戏如《底特律:变人》始终关乎“做选择”
不过,那种“玩家输入,机器输出”的纯粹文字冒险游戏反而逐渐没落了。毕竟,早期的文字冒险游戏既不具备其它游戏的视觉冲击力,又只允许玩家按照预设程序输入特定信息,很难吸引到更多的人。
这一状况直到新世纪人工智能的发展才稍有改观。2005年,一款基于AI互动的游戏《Fa ade》(《假象》)出场了,它采用了当时最前沿的自然语言识别AI,也获得过诸多大奖和媒体关注。但是,由于没有太多宣传,当时独立游戏也不如今天受众广泛,没有多少玩家注意到《Fa ade》。
这个看上去画风幼稚搞怪的游戏,将场景设定在“你”的一个朋友家中,他和他的妻子正在经历一场感情冲突,随时可能离婚。你要做的,就是和他们说话(手动输入语句),看看能导向什么结果。
不得不说,《Fa ade》中的AI已经有一点像真人了,比如如果你一开始就说粗话,可能连房门都进不去。又或者如果你评价房间中某件物品,那对夫妇也会和你聊起相关的故事。
不过在那个年代,毕竟连深度学习、强化学习等今日人工智能常用的训练方法都还处在探索阶段,这个游戏也就只能做到“有一点像”的地步,它的AI识别自然语言很大程度上还是依赖预设规则,多数时候的表现仍然是“滑稽”和“笨拙”的。
直到十多年后,《Fa ade》才被油管的大主播Pewdiedie等人重新发现,红了一段时间,但他们围绕游戏制作的内容完全是娱乐向的,都在以调戏人工智能为乐。
B站Up主@逆风笑也做过一期节目,颇有喜剧效果
这里就需要提到我们常说的游戏AI和科技领域的AI之间的区分。以往游戏中的所谓AI,不管看上去有多么智能和自然,其实都是按照预设的程序脚本行动,因而有很强的可预测性。而现实中,如今的AI做什么都存在一个“训练”、“学习”的过程,结果往往不可预测。
真正应用了如今这种AI,或者说应用了现代自然语言模型的,还是要以《AI Dungeon》为起点。它不仅复活了早期文字冒险游戏,而且很可能为今后游戏AI的升级提供启发。
当然,尼克·沃尔顿也承认,要真正把适用于文字冒险游戏的AI应用到具体可视的NPC身上,还需要做大量探索工作。
从自然语言识别到AI生成虚拟世界的距离到底有多远?
不过有些矛盾的是,玩家们固然希望游戏中的人物和情节能够有更多的可能性,但未经设计、杂乱无章的故事又未必是好故事。
这一点在《AI Dungeon》已经有所体现。它无疑是一个有趣的游戏,我会在自己敲下一句话后对AI接下来的表现充满好奇,但在经过一些随意而荒诞的尝试后,又很快失去了热情。原因恰恰在于,它给我的自由太满当了,我反而体验不了一个完整、自洽的故事。
可能除了自由,游戏终究还是需要一部分设计的。