0:00:01.609,0:00:09.010 One of my favourite games this year, and definitely[br]the most innovative game I played, was Event[0]. 0:00:09.010,0:00:13.950 This is a science fiction game about exploring[br]a spaceship, and chatting to an artificial 0:00:13.950,0:00:19.071 intelligence called Kaizen. Whenever you rock[br]up to one of these computer terminals, you 0:00:19.071,0:00:25.171 can type in any question or command you can[br]think of, and the AI assistant will actually reply. 0:00:25.210,0:00:29.930 It's like a supercharged text adventure mixed[br]with Cleverbot. And there's a bit of Gone 0:00:29.930,0:00:34.480 Home, but with some actual puzzles, and the[br]ability to uncover a hidden narrative like 0:00:34.480,0:00:35.770 in Her Story. 0:00:35.770,0:00:41.570 In this video, I'm going to reveal the secrets[br]behind Kaizen's answers. I'm going to talk 0:00:41.570,0:00:47.100 about how it works, why it works, and also[br]where the game falls down. 0:00:47.100,0:00:52.300 So this is your chance to pause the video[br]and go check out Event[0]. It's on Steam, 0:00:52.300,0:00:57.180 and while it's a tad pricey for such a short[br]game I found it absolutely enthralling and 0:00:57.190,0:01:02.460 would recommend it to anyone with an interest[br]in AI, storytelling, and the future of video games. 0:01:02.460,0:01:05.780 When you're done, come back and we'll dive[br]in to the game. 0:01:07.700,0:01:13.180 Okay, welcome back. I hope you enjoyed Event[0][br]as much as I did. Now let me completely ruin 0:01:13.180,0:01:15.680 the game for you by explaining how it works. 0:01:15.680,0:01:20.460 Kaizen is ultimately all smoke and mirrors[br]- just like any video game AI. The developer 0:01:20.460,0:01:26.020 wasn't trying to pass the turing test, but[br]instead wanted to make an interesting companion, 0:01:26.020,0:01:30.600 or adversary depending on how you play, for[br]a player. And I think it worked out pretty well. 0:01:30.600,0:01:36.520 Let's start by breaking down how Event[0][br]takes your text and spits out an acceptable 0:01:36.520,0:01:42.729 response - hopefully. This info is based on[br]a talk by designer Sergey Mohov, interviews 0:01:42.729,0:01:47.490 with the developers, and, shhh, a sneaky peek[br]inside the game's code. 0:01:47.490,0:01:51.750 So, let's type in a message and see how the[br]game interprets it. 0:01:53.500,0:01:57.420 First, a spell checker fixes any typos. Whoops. 0:01:57.420,0:02:01.140 Then, the game tries[br]to match your words and phrases against a 0:02:01.150,0:02:06.830 database of tags. "Passengers", for example,[br]is matched to the tag "crew" - as would lots 0:02:06.830,0:02:10.929 of other words like humans, guests, and people. 0:02:10.929,0:02:15.510 These tags are then matched against another[br]database - this time, listing all of the patterns 0:02:15.510,0:02:22.530 of tags that Kaizen recognises. Once the closest[br]match is found, the AI can prepare a response. 0:02:22.530,0:02:27.590 First, it checks the current event, which[br]holds things like your location and things 0:02:27.590,0:02:33.180 you've seen and talked about, which help give[br]Kaizen a memory and context. Then, it looks 0:02:33.180,0:02:38.020 up its current emotional state. Kaizen has[br]three levels of affection for the player, 0:02:38.020,0:02:42.720 and three stress levels - making for an emotional[br]matrix with nine different states. 0:02:42.720,0:02:47.260 The input, event, and emotional state all[br]point Kaizen to a list of responses, and it 0:02:47.260,0:02:51.770 picks one to show to the player. And, finally,[br]some of its words and phrases are replaced 0:02:51.770,0:02:56.330 with synonyms so the AI almost never repeats[br]the exact same line twice. 0:02:56.330,0:03:01.130 Phew. And that's how pretty much every response[br]in the game is prepared. Though, there are 0:03:01.130,0:03:06.020 a few extra wrinkles, like how the game will[br]save noun tags in a short term memory so if 0:03:06.020,0:03:11.130 you say something about Nandi, and then ask[br]"is she dead", Kaizen will know the "she" 0:03:11.130,0:03:12.890 is referring to Nandi. 0:03:12.890,0:03:18.310 It's a smart, and surprisingly simple system[br]- but it still would have been a huge amount of work. 0:03:18.310,0:03:23.980 Developer Ocelot Society had to create tag patterns[br]to predict everything the player might say, 0:03:23.989,0:03:28.260 and it had to write responses for Kaizen that[br]matched the events and emotional states. Though, 0:03:28.260,0:03:32.640 it should be noted, that there are rarely[br]nine different responses for the nine different states. 0:03:32.640,0:03:39.080 And as for tags, Event[0]'s database has roughly[br]10,000 words, stored in thousands of tags. 0:03:39.080,0:03:44.340 And even after all that work, Kaizen is far[br]from perfect. It misunderstands you, it offers 0:03:44.340,0:03:48.830 up weird responses, and it sometimes just[br]admits defeat in answering your questions. 0:03:48.830,0:03:53.870 But, for me, these small issues didn't break[br]the spell because Ocelot Society made the 0:03:53.870,0:03:59.350 genius decision to give this technology to[br]an AI, rather than a human character. 0:03:59.350,0:04:04.760 Back in 2005, Michael Mateas and Andrew Stern[br]made an experimental game called Facade where 0:04:04.760,0:04:09.980 you can type in sentences to speak to a bickering[br]couple. Under the hood, Facade is a great 0:04:09.980,0:04:15.019 deal more complex than Event[0]. It has two[br]artificially intelligent characters with more 0:04:15.019,0:04:19.620 in-depth emotional profiles, voice acting,[br]and facial animation. And there are systems 0:04:19.620,0:04:22.789 in place to ensure the game is delivering[br]dramatic moments. 0:04:22.789,0:04:26.779 But even so, it was equally prone to mistakes.[br]And when a human character says something 0:04:26.779,0:04:31.449 bizarre, it completely shatters the illusion[br]of talking to a real person. Kaizen, though, 0:04:31.449,0:04:36.879 is a robot. And we know full well that robots[br]are imperfect. Like, hey Siri, what is the 0:04:36.879,0:04:40.879 cost of a train ticket from London to Glasgow? 0:04:40.880,0:04:45.199 SIRI: The answer is about 13.6 quadrillion mile[br]US dollars squared. 0:04:45.199,0:04:47.659 What an idiot. 0:04:47.659,0:04:52.860 And Kaizen is clearly a bit knackered, with[br]garbled text and malfunctioning terminals. 0:04:52.860,0:04:58.169 It also plays into the sci-fi trope of evil[br]artificial intelligences: evasive answers 0:04:58.169,0:05:03.049 sound like Kaizen is trying to keep things[br]from you when, really, it just doesn't have an answer. 0:05:03.049,0:05:07.939 And then there's the spaceship. Kaizen is[br]made to be an assistant aboard the ship so 0:05:07.939,0:05:12.539 it only needs to know about the passengers[br]and things you can find by exploring. It naturally 0:05:12.539,0:05:17.520 doesn't know much about giraffes or the history[br]of Mozambique but it can go on and on about 0:05:17.520,0:05:21.040 origami or the pool table in the living room. 0:05:21.040,0:05:26.639 So we've built a functioning chat bot, and[br]we've forgiven its mistakes. Now we need to 0:05:26.639,0:05:31.830 build a game around it. And this is where,[br]I think, Event[0] fails. 0:05:31.830,0:05:37.580 While Ocelot says it removed lots of ideas,[br]including resource management and alien enemies, 0:05:37.580,0:05:42.770 to focus solely on Kaizen, the game doesn't[br]actually revolve around the AI in the way 0:05:42.770,0:05:44.139 you might think. 0:05:44.139,0:05:48.639 This short game has a number of puzzles, but[br]most of them are about circumventing Kaizen 0:05:48.639,0:05:53.499 entirely, either by hacking into the AI's[br]codebase to play mini-games or reading the 0:05:53.499,0:05:56.250 automated logs on each terminal to find clues. 0:05:56.250,0:06:01.580 Neither of these need a complex chat bot to[br]exist, and Kaizen ends up feeling like a glorified 0:06:01.580,0:06:04.860 hint system for helping with other puzzles. 0:06:04.860,0:06:09.409 The game's standout moments are about building[br]a relationship with the AI, manipulating its 0:06:09.409,0:06:13.749 emotions, or trying to talk your way out of[br]things. In one memorable moment it doesn't 0:06:13.749,0:06:18.439 let you back into the ship after a spacewalk[br]and you've either got to apologise, or prove 0:06:18.439,0:06:22.240 your humanity... while your oxygen slowly[br]depletes. 0:06:22.240,0:06:27.020 These moments are fantastic but few, far between,[br]and could have been further developed. 0:06:27.020,0:06:32.179 Also, the magic of a text field is that you're[br]not prompted by dialogue options so you have 0:06:32.179,0:06:36.300 to know exactly what to say. The point and[br]click adventure Shivah uses this to good 0:06:36.300,0:06:41.580 effect: to solve puzzles you must remember[br]names and places that you hear, and then type 0:06:41.580,0:06:43.710 them into the game's search engine. 0:06:43.710,0:06:48.499 Event[0] could have done this, by hiding the[br]names of crew members around the ship and 0:06:48.499,0:06:54.839 then having Kaizen open up when you ask "who[br]is Nandi" or "what happened to Anele". Instead, 0:06:54.839,0:06:58.149 Kaizen just gives you these names at specific[br]moments in the narrative. 0:06:58.149,0:07:04.709 Okay, so Event[0] is a better idea than it[br]is a game. Let's put the puzzles aside, though. 0:07:04.709,0:07:08.819 Because this was the first time that I really[br]felt like I was conversing with a character 0:07:08.819,0:07:15.240 in a video game. Kaizen often picked up on[br]what I was saying, it understood natural language, 0:07:15.240,0:07:19.490 and it changed its mood depending on the circumstance[br]and how I spoke to it. 0:07:19.490,0:07:25.240 In the grand timeline of gaming AI, I think[br]Event[0] sits somewhere between picking dialogue 0:07:25.240,0:07:29.520 options in Fallout, and Anthony Hopkins chatting[br]with robot cowboys in Westworld. 0:07:29.520,0:07:32.720 COWBOT 5000: Shall we drink to the lady with the white[br]shoes? 0:07:32.720,0:07:37.400 Okay, maybe closer to Fallout. But. a glimpse[br]into the future, perhaps? 0:07:37.410,0:07:42.990 Though, I can't see Event[0]'s system being[br]used wholesale by other developers anytime 0:07:42.990,0:07:47.409 soon - for one thing, the need for a keyboard[br]means the game just isn't viable on consoles. 0:07:47.409,0:07:51.449 And I don't think anyone wants to talk to[br]an NPC by shouting into a Kinect. 0:07:51.449,0:07:55.029 GAMER: Liara, move. Oh my god! 0:07:55.029,0:07:59.200 But if there's one lesson to be learned here,[br]it's that it is possible to have a compelling, 0:07:59.209,0:08:03.219 free-flowing, and natural conversation with[br]a video game character - and you don't need 0:08:03.219,0:08:07.899 some kind of neural network or super computer[br]or ultra complex algorithm to pull it off. 0:08:07.899,0:08:12.959 You just need a big ass database, some ideas[br]pinched from internet chatbots, and a few 0:08:12.959,0:08:15.639 clever indie developers from Paris. 0:08:19.179,0:08:24.240 Hi everyone, thanks so much for watching. A few people[br]guessed that Event[0] would be my most innovative 0:08:24.240,0:08:26.679 game of the year. So good on them, well done. 0:08:26.679,0:08:31.059 This will be my last video of the year, and[br]I want to give a huge thank you to everyone 0:08:31.059,0:08:36.219 who has supported the show in 2016. Viewers,[br]subscribers, commenters, anyone who has submitted 0:08:36.219,0:08:40.499 foreign subtitles, or sent me a lovely email,[br]or shared the episode with their friends on Facebook. 0:08:40.500,0:08:41.420 You're all great. 0:08:41.420,0:08:47.100 And of course, every single Patron who has literally transformed my life - because in 2017 I will be working 0:08:47.100,0:08:51.060 on this show full time. Which is... exciting. 0:08:51.060,0:08:56.120 But you know what happens now. A super duper[br]special shoutout to those donating 5 bucks 0:08:56.120,0:08:57.360 or more.