Photo by @mattpalmer

Azimov and the Marvellous Adventures in AI Dungeon

Exploring the wonderful text generation capabilities of AI Dungeon

Alex Moltzau
9 min readAug 18, 2020

--

When I was growing up I was an avid reader of the Fantasy genre. It was incredible how different storylines and people could communicate something — a journey or a challenge to be overcome. Therefore, I was amused when I found there was a text generation game.

I decided to start my journey as a wizard.

I chose the name Azimov.

(This is a reference to Isaac Asimov, an American writer and professor of biochemistry at Boston University. He was known for his works of science fiction and popular science. Asimov was a prolific writer who wrote or edited more than 500 books and an estimated 90,000 letters and postcards.)

Having chosen my name I entered the game!

I decided to test out its capabilities.

Hmmm…. What to do!

It seems I was set onto a specific quest.

A picture of the interface of AI Dungeon

Wow. I guess this narrows down the actions and provides for some space — scripted actions or characters to be generated, at least to some extent.

I decided to create a profile, so that I could save my progress.

I figured out that I could change the ‘do’ icon to ‘say’.

I noticed as well that you press ‘space’ if you are expecting a response.

This is getting serious, and the plot thickens.

When I write ‘who is this Ral?’ it does not seem like the ‘AI’ understands. When I write ‘tell me about Ral.’ I get a response.

I decided to go back to actions.

Somehow it seems like my character is not a nice guy at all! Stabbing this person with the pills. Not nice at all.

It seems that to some extent there are predetermined paths or story arcs, a bit like a decision-tree, but related to objects…

Auch… I hope I didn’t kill Carl.

Well, I will just have to revive him!

It is impressive how the AI adapts to the dialogue, but maybe it expected this… Regardless, it is fascinating.

I decided to test out how it would respond to a statement.

Haha, yes, you got me there. Whoever made this, kudos to you!

Indeed, Octogram, ‘O’ for order. It all makes sense.

I decide to teach Carl a spell. It will be interesting to see if I can develop the skills of my allies.

Considering the kind of character I am I am expecting something bad, but I try to write a custom word.

It seems the other Carl is no longer with me, but I am not sure.

It did say that I was healing my ‘ally’ so it seems to categorise Carl as a particular kind of person.

If nothing much is happening the text-based game seem to trigger instances. Clever!

I decide it might be wise to have more help.

Hence, the name of the game I decided to try out the dungeon.

I decided that maybe by using dialogue I could refer to objects in the environment.

I guess this is where it gets weird.

It feels like either I broke the game or I made assumptions about technology in the given fantasy universe.

Because suddenly I have no service on my phone.

Additionally, I find out that my first name is Ben. Interesting, but weird.

Ok, I will go with the flow.

Far out, far out.

Boom, and it became existential. Thank you AI.

This must have something to do with the balance between worlds.

Wazza has become Wazzagrammatically, maybe the name occurs in different plotlines…

I decide to try the third function of scripting the story myself.

Just because, well… Action?

What will happen if I try to run past?

This is starting to become a strange fight.

I decide to try to use my phone again.

It didn’t work.

I guess I chose a pretty bad enemy for a wizard.

Golems are often immune to magic.

This could work, but wait, my sorcerer brother!

The storyline with brothers is a classic one, fun to see this implemented in the script.

I suddenly realise I forgot Carl, typical.

I decide to ask Wazza.

I decide to see if it can detect a reference to previous conversation.

After all it is strange to find Carl in the village.

Seems Carl has a backstory.

The algorithms conclude I am referring to the fall.

If the AI is confused. It represents a character looking confused, clever!

I decide to go a bit off the fantasy trail and mix it up to see how the AI deals with the situation.

In fact the AI deals with it incredibly well!

I am probably not as creative as I would like to think.

It even handles my misspelling of: “I know own…”

Damn.

I wrote: “All the kobolds vacate their cave, and use their increasing liquidity to balance their failed investments in Branzhi village.”

Then the AI wrote:

Wazzagrammatically becomes the head of the kobold investment bank, and uses his position to lobby for a kobold friendly government.

I am really impressed, they made this game text really entertaining.

The AI tells the story that I never return. to Branzhi village, I then write in some text about finding my brother.

I decide to summon some hippos.

It seems the AI is confused again. This action happened in a dungeon.

However, if it is about a cliff, maybe there are some assumptions.

“These hippos, are they loyal?”

A sentence by the AI, and it made me chuckle too.

I notice that it is possible to autocomplete dialogue if you press space, so I decide to see where this leads me.

I think this can be done in conversations, much like you autocomplete dialogue in a game.

I decide to bring up the Enclave again to see where it leads.

Still, the AI shows that it has not forgotten the hippos that I added.

Again, rather impressive.

I have figured now how to drive the story forward by directing where the main actor (the You) should travel, and who they should meet.

This is a mess again, but in a way that is what makes the text generator funny to use.

We are in trouble now.

Wait, the AI has labeled Wazza from previously now as Wazgrak in the storyline, or wait… Previously it said I: “turned to Wazgrak…”

In that case I may be equally as confused myself.

In a turn of events it seems Wazgrak is a necromancer. It is interesting how the AI determines certain sets of actions or jumps in to spice up the moment with something novel and different.

It seems the AI made its first discernible spelling mistake! I have made quite a few already.

Since the demons did not respond to the simple spells I decided to create a ‘powerful backstory’ to see if it worked, and it did. I also created the name of the spell.

“Shan’anath Kauchiath Amarath Kanatha!”

This seems a fitting place to end.

One thing is certain: this was entertaining!

Really impressive to see the capabilities and it was such a great experience.

“The game’s first version was made available on Colab in May 2019, and its second version (initially called AI Dungeon 2) was released online and for iOS & Android in December 2019.”

It seems the adventure was created partly thanks to GPT-2, the language model from OpenAI.

It seems there is a version for GPT-3 as well, although this one you need to pay for.

“In July 2020, the developers introduced a premium-exclusive version of the AI model, named Dragon, which uses OpenAI’s new API for leveraging the GPT-3 model without maintaining a local copy (released on June 11, 2020).GPT-3 was trained with 570 gigabytes of text content (approximately one trillion words, with a $12 million development cost) and can support 175 billion parameters, compared to the 40GB of training content and 1.5 billion parameters of GPT-2. This upgrade allowed AI Dungeon to maintain a much more coherent story than previously possible.”

I am impressed.

It was so much fun.

Try it for yourself.

This is #500daysofAI and you are reading article 441. I am writing one new article about or related to artificial intelligence every day for 500 days.

--

--

Alex Moltzau

AI Policy, Governance, Ethics and International Partnerships at www.nora.ai. All views are my own. twitter.com/AlexMoltzau