1 00:00:01,609 --> 00:00:09,010 Event[0]是我今年最喜欢的几个游戏之一。 我觉得它很有创意。 2 00:00:09,010 --> 00:00:13,950 这是一个科幻游戏。内容是关于探索太空飞船、与一个叫做Kaizen的AI聊天。 3 00:00:13,950 --> 00:00:19,071 每次你遇到电脑终端的时候,你都可以用键盘 4 00:00:19,071 --> 00:00:25,171 输入任何你能想到的问题或者指令。AI助手会回答你的输入。 5 00:00:25,210 --> 00:00:29,930 就像是一个Cleverbot(一个AI交流机器人)驱动的文字冒险。 6 00:00:29,930 --> 00:00:34,480 还有一点Gone Home的感觉,但是有一些解密元素。还有一点Her Story里发掘秘密剧情 7 00:00:34,480 --> 00:00:35,770 的感觉。 8 00:00:35,770 --> 00:00:41,570 这个视频里,我会解释Kaizen的回答中的秘密。 9 00:00:41,570 --> 00:00:47,100 我会解释这个机制是如何工作的,为什么这个机制有效,以及游戏中不足的部分。 10 00:00:47,100 --> 00:00:52,300 如果你不知道Event[0]是什么游戏的话,你可以现在暂停这个视频,然后在Steam上找到这个游戏。 11 00:00:52,300 --> 00:00:57,180 虽然对于一个较短的游戏来说有点贵,但是我觉得非常有趣。 12 00:00:57,190 --> 00:01:02,460 如果你对AI、剧情和游戏的未来感兴趣的话,我强烈推荐这个游戏。 13 00:01:02,460 --> 00:01:05,780 你玩完这个游戏之后,回到这个视频,我们会深度讨论这个游戏。 14 00:01:07,700 --> 00:01:13,180 欢迎回来!我希望你像我一样喜欢Event[0]。不过我接下来要解释这个游戏的机制, 15 00:01:13,180 --> 00:01:15,680 可能会破坏你对这游戏的印象。 16 00:01:15,680 --> 00:01:20,460 Kaizen是开发者创造的假象,就像所有游戏AI一样。 17 00:01:20,460 --> 00:01:26,020 开发者并不是打算让它通过图灵测试,而是想让它成为一个同伴、 18 00:01:26,020 --> 00:01:30,600 或者一个敌人,具体的行为是根据玩家的行为决定的。我觉得它比较成功, 19 00:01:30,600 --> 00:01:36,520 首先我们来看看Event[0]是怎么根据玩家的输入,输出有意义的回答。 20 00:01:36,520 --> 00:01:42,729 我们了解它的原理,是因为Sergey Mohov的演讲和开发组面访里提到了, 21 00:01:42,729 --> 00:01:47,490 而且还有人偷偷翻看了游戏的源代码。 22 00:01:47,490 --> 00:01:51,750 我们输入一条消息,看看Kaizen是如何理解我们的消息的。 23 00:01:53,500 --> 00:01:57,420 (我想知道其他乘客的位置) 首先,拼写检查器修正所有错别字。 24 00:01:57,420 --> 00:02:01,140 然后,游戏会试着把消息中的词组与一个数据库里的标签匹配。 25 00:02:01,150 --> 00:02:06,830 比如“乘客”会和“机组人员”标签匹配。类似可以与这个标签匹配的词还有 26 00:02:06,830 --> 00:02:10,929 ”人类“、”旅客“、”人员“。 27 00:02:10,929 --> 00:02:15,510 这些标签会与另外一个数据库匹配。这个数据里有所有Kaizen认识的标签的模式。 28 00:02:15,510 --> 00:02:22,530 游戏会找到最接近的一个模式,然后AI会用它构造一个回答。 29 00:02:22,530 --> 00:02:27,590 首先,AI检查当前的事件,比如玩家的位置、玩家之前看到的东西和玩家之前说的话。 30 00:02:27,590 --> 00:02:33,180 这些信息给Kaizen记忆和语境。然后,游戏检查Kaizen的情感状态。 31 00:02:33,180 --> 00:02:38,020 Kaizen对玩家有3个好感等级(喜欢、中立、厌恶), 32 00:02:38,020 --> 00:02:42,720 还有三个压力等级(愤怒、紧张、平静),总计9种情感状态。 33 00:02:42,720 --> 00:02:47,260 Kaizen根据输入、事件和情感状态生成一个可能的回答的列表,然后从中选择一个, 34 00:02:47,260 --> 00:02:51,770 输出给玩家。最后,回答中有些词组会被随机替换成同义词, 35 00:02:51,770 --> 00:02:56,330 这样AI就基本不会重复同一句句子。 36 00:02:56,330 --> 00:03:01,130 这基本上就是这个游戏里AI生成回答的原理。游戏里还用到一些小技巧, 37 00:03:01,130 --> 00:03:06,020 比如游戏把名词标签保存在Kaizen的短期记忆里, 38 00:03:06,020 --> 00:03:11,130 如果你之前讨论到了Nandi,然后问”她是死了吗?“, 39 00:03:11,130 --> 00:03:12,890 Kaizen会知道”她“指的是Nandi。 40 00:03:12,890 --> 00:03:18,310 这是一个聪明然而简单的系统,不过还是花费了很多工作才实现的。 41 00:03:18,310 --> 00:03:23,980 开发者Ocelot Society创造了所有玩家可能说的标签模式, 42 00:03:23,989 --> 00:03:28,260 然后他们还给Kaizen写了不同情绪状态下的回答。 43 00:03:28,260 --> 00:03:32,640 不过并不是每个回答都一定有9种情绪。 44 00:03:32,640 --> 00:03:39,080 Event[0]的数据库里大概有1万个单词,上千个标签。 45 00:03:39,080 --> 00:03:44,340 尽管如此,Kaizen还是有一些缺陷的。它有时候会误解你的意思, 46 00:03:44,340 --> 00:03:48,830 有时候会输出奇怪的回答,有时候就干脆拒绝回答你的问题。 47 00:03:48,830 --> 00:03:53,870 但是对我来说这些小问题并没有破坏游戏体验,因为开发者做了一个聪明的决定, 48 00:03:53,870 --> 00:03:59,350 把这个技术交给了一个AI电脑,而不是一个人类角色。 49 00:03:59,350 --> 00:04:04,760 早在2005年,Michael Mateas和Andrew Stern做了一个试验游戏叫Facade。 50 00:04:04,760 --> 00:04:09,980 游戏里你可以输入任何句子,与一对争吵的夫妻对话。从技术上看, 51 00:04:09,980 --> 00:04:15,019 Facade是比Event[0]复杂的。它有2个AI控制的角色, 52 00:04:15,019 --> 00:04:19,620 而且还有复杂的情感状态、配音和面部表情。游戏其他的一些机制, 53 00:04:19,620 --> 00:04:22,789 用来确保戏剧性的情节。 54 00:04:22,789 --> 00:04:26,779 尽管如此,有些中还是有很多错误。如果一个人类角色说了一些奇怪的话, 55 00:04:26,779 --> 00:04:31,449 就会完全破坏与真人对话的假象。Kaizen是一个机器人。 56 00:04:31,449 --> 00:04:36,879 我们知道现在的机器人并不完美。就像Siri,如果我们问, 57 00:04:36,879 --> 00:04:40,879 ”从伦敦到格拉斯哥的火车票多少钱?“ 58 00:04:40,880 --> 00:04:45,199 ”大约13.6*10^16公里美元平方。“ 59 00:04:45,199 --> 00:04:47,659 真是笨啊。 60 00:04:47,659 --> 00:04:52,860 Kaizen很明显也不是每次都正确的。有时候文字会乱码,有些终端也是坏的。 61 00:04:52,860 --> 00:04:58,169 它符合科幻片里常见的邪恶AI的比喻: 62 00:04:58,169 --> 00:05:03,049 难以捉摸的回答,感觉像是Kaizen故意藏着东西不告诉你,实际上其实是Kaizen不知道如何回答。 63 00:05:03,049 --> 00:05:07,939 还有这个飞船。Kaizen是这个飞船上的助手, 64 00:05:07,939 --> 00:05:12,539 所以它只需要知道乘客的信息和船上你能看到的东西。 65 00:05:12,539 --> 00:05:17,520 它并不知道长颈鹿是什么,也不知道莫桑比克的国家历史, 66 00:05:17,520 --> 00:05:21,040 但是它非常了解折纸手工和客厅的桌球桌。 67 00:05:21,040 --> 00:05:26,639 我们有一个正常运行的聊天机器人,我们暂且原谅它的错误。 68 00:05:26,639 --> 00:05:31,830 我们需要用它做一个游戏。我觉得Event[0]在这里比较失败。 69 00:05:31,830 --> 00:05:37,580 尽管开发者说他们移除了很多想法,比如资源管理和外星人敌人, 70 00:05:37,580 --> 00:05:42,770 来把重点放在Kaizen上,游戏没有像你想象的一样, 71 00:05:42,770 --> 00:05:44,139 完全从AI展开。 72 00:05:44,139 --> 00:05:48,639 这个短暂的游戏里有几个谜题,但是大多数谜题都完全绕开了Kaizen, 73 00:05:48,639 --> 00:05:53,499 侵入AI的系统玩小游戏,或者阅读终端上的日志, 74 00:05:53,499 --> 00:05:56,250 让玩家找到线索。 75 00:05:56,250 --> 00:06:01,580 这些并不需要一个复杂的聊天机器人。Kaizen最后感觉就像是一个提示系统, 76 00:06:01,580 --> 00:06:04,860 是用来帮助玩家解决其他的谜题的。 77 00:06:04,860 --> 00:06:09,409 游戏中比较突出的机制,是与AI建立关系, 78 00:06:09,409 --> 00:06:13,749 控制它的情感,或者试图说服AI。一个让人难忘的场景是, 79 00:06:13,749 --> 00:06:18,439 你离开飞船之后返回的时候,AI不让你进入飞船。你必须道歉,或者证明你是人类。 80 00:06:18,439 --> 00:06:22,240 而且这时候你还在消耗着你的氧气。 81 00:06:22,240 --> 00:06:27,020 这些场景很精妙,但是在游戏中出现的太少了,而且并不是很有深度。 82 00:06:27,020 --> 00:06:32,179 而且游戏给你一个文本框,而不是一个列表选项,所以有时候你并不知道你需要说什么。 83 00:06:32,179 --> 00:06:36,300 点击式冒险游戏Shivah里也有这种文本框。 84 00:06:36,300 --> 00:06:41,580 想要解开谜题,你必须记住你听到的名字和地点, 85 00:06:41,580 --> 00:06:43,710 然后输入到游戏的搜索引擎中。 86 00:06:43,710 --> 00:06:48,499 Event[0]也许也可以这样,需要玩家找到机组人员的名字, 87 00:06:48,499 --> 00:06:54,839 然后需要玩家问Kaizen ”Nandi是谁?“ 或者 ”Anele怎么了?“,它才会告诉你。 88 00:06:54,839 --> 00:06:58,149 可是游戏里,Kaizen直接告诉了你这两个名字。 89 00:06:58,149 --> 00:07:04,709 Event[0]的概念比游戏本身更有趣。游戏里的谜题比较弱。 90 00:07:04,709 --> 00:07:08,819 第一次我在一个游戏里感受到与一个角色交流。 91 00:07:08,819 --> 00:07:15,240 Kaizen基本能理解我说的话,它能理解自然语言, 92 00:07:15,240 --> 00:07:19,490 它会根据情况和我的语言和改变心情。 93 00:07:19,490 --> 00:07:25,240 在游戏AI的历史上,我觉得Event[0]算是在中间。比辐射4里选择对话强, 94 00:07:25,240 --> 00:07:29,520 但比Westworld里Anthony Hopkins与机器人牛仔交谈弱一些。 95 00:07:29,520 --> 00:07:32,720 COWBOT 5000:”让我们为白鞋女士干杯吧!“ 96 00:07:32,720 --> 00:07:37,400 好吧,也许更接近辐射。当作是对未来的一瞥吧。 97 00:07:37,410 --> 00:07:42,990 不过,我并不认为Event[0]的这个机制会被运用到主流游戏中。 98 00:07:42,990 --> 00:07:47,409 原因之一,这种机制需要一个键盘。主机上没有键盘,因此无法玩此类游戏。 99 00:07:47,409 --> 00:07:51,449 我觉得没人会想使用Kinect语音来和NPC交流。 100 00:07:51,449 --> 00:07:55,029 玩家:”Liara,走!OMG“ 101 00:07:55,029 --> 00:07:59,200 我们还是能从Event[0]学到一点的。你可以在游戏中让游戏角色实现 102 00:07:59,209 --> 00:08:03,219 让人信服的、流畅的、自然的对话 —— 103 00:08:03,219 --> 00:08:07,899 并不需要复杂的神经网络或者超级计算机。 104 00:08:07,899 --> 00:08:12,959 你只需要一个大数据库,一些从互联网聊天机器人中得到的灵感, 105 00:08:12,959 --> 00:08:15,639 和几个巴黎的聪明开发者。 106 00:08:19,179 --> 00:08:24,240 感谢收看!有些人猜到了我会选择Event[0]作为我今年玩过的最有创意的游戏。 107 00:08:24,240 --> 00:08:26,679 恭喜他们猜对了。 108 00:08:26,679 --> 00:08:31,059 这是我2016年最后一个视频。 109 00:08:31,059 --> 00:08:36,219 感谢所有人在2016年支持我的节目。感谢观众,订阅者,评论者,和所有上传外语字幕的人, 110 00:08:36,219 --> 00:08:40,499 还有给我发送支持邮件的人,还有把我的视频分享到Facebook上的人。 111 00:08:40,500 --> 00:08:41,420 谢谢你们。 112 00:08:41,420 --> 00:08:47,100 还感谢每个在Patron上赞助我的人。在2017年我会全职制作这个系列视频。 113 00:08:47,100 --> 00:08:51,060 这是个比较激动人心的消息。 114 00:08:51,060 --> 00:08:56,120 特别感谢那些捐款5元或者更多的人。 115 00:08:56,120 --> 00:08:57,360