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