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.