GPT-2 is very good at producing plausible text, and has been used before as a "Virtual Dungeon Master", but what if we could generate playable 5th Edition Dungeons & Dragons material with it?

What it does

GPT-2 is trained on a large datasets of 8 million web pages, but (probably) very few of these include weirdly formatted D&D statblocks; GPT-2 isn't typically used to produce such structured data. Hence, we have to fine-tune the model to adapt it to the kind of data we want it to produce for us. After lots and lots and lots of fine tuning, we can load our model checkpoint, provide it a prompt, and see what vile creations it devises for us.

How we built it

OpenAI's GPT-2 model, running on cloud GPUs in Google Colab. Additional Python scripts used to extract/prepare an initial dataset of 5e Standard Reference Document creatures from JSON format into a nice CSV, and later to format generated statblocks into a Markdown template for NaturalCrit's Homebrewery (to make them pretty)!

Challenges we ran into

Running OpenAI's GPT-2 model on clould GPUs in Google Colab, when you have not used Google Colab or OpenAI's GPT-2 model before, is not, actually, very easy.

Accomplishments that we're proud of

We made some horrible horrible boys that we're excited to share with everyone. Our players will hate us and this hate fuels a Dungeon Master.

What we learned

When somebody makes a package called gpt-2-simple this might actually be more simple to use than wasting hours trying to do everything from scratch. If only that could have been guessed from the name of the package.

What's next for D&D&GPT: Generative Statblocks for 5th Edition D&D

Unleashing its horrific monstrosities on our campaigns and ruining friendships with our players.

Built With

Share this project: