There are algorithms called artificial neural networks that can learn to imitate examples of just about anything. They’re used in all sorts of everyday programs, translating languages, identifying photos, colorizing drawings, delivering ads, and tons more.
It turns out neural networks may also be a dungeon master’s best friend.
I’ve trained neural networks to invent new Dungeons & Dragons spells (part 1, part 2) and also trained them to name new D&D creatures. It worked very well (Shield of Farts, anyone?), thanks to the spellbooks and monster manuals I could use as datasets. But there weren’t any datasets for another big aspect of Dungeons & Dragons: all the characters who populate these worlds. So, over the past few months, readers have been helping me to build a dataset – which has now reached a staggering 20,908 entries.
For each character, people entered a name, a race (human, dwarf, elf, etc), and a class (wizard, rogue, bard, cleric, etc). Some of the races and classes got to be quite inventive – there’s a penguin, a fey corgi, a black pudding, and a sentient bucket. So I gave this huge weird list to a neural network to see how convincing it could sound.
With nearly 21,000 examples, the neural network could indeed sound convincing. Much of the time, the names matched the character type – at least as often as in the original dataset (which had 5 characters named Frank and 12 named Tim).
Rose – Human Assassin
Dwarg – Half-orc Paladin
Liandra – Elf Wizard
Oron “The Star” Cartere – Dragonborn Sorcerer
Silvar the Blackblade – Half-elf Barbarian
Hank – Half-orc Ranger
Jayne Arryn – Half-elf Wizard
Annata Shortscale – Dragonborn Witch
Fyrry – Half-Elf Ranger
Rinas Mistfern – Human Ranger
Other names made perhaps less sense.
The Cart – Kenku Rogue
Nine Case – Dark Elf Fighter
Rump – Kenku Cleric
Gubble Daggers – Tabaxi Monk
Bog – halfling wizard
Jameless – Dwarf Champion Barbarian
Rune Diggler – Halfling Rogue
Borsh the Bardlock – Human Paladin
Spullbeard – Dwarf Fighter
Tovendirgle – Human Ranger
Pinderhand The Bugs – Gnome Wizard
Rune Wash – Human Wizard
Stumbleduckle – Human Paladin
Dawne Shift the Monkz – Dwarf Barbarian
Magnus Tieforian the magnificent von Cloriam Cyital DuP Ever – Dwarf Barbarian
E Ch BISHL NEBe Garte II Cr D McLGHJ T U E AA t Rat lek TF Horn hand tree Whistle – half-orc barbarian
One thing I like is all the new character races and classes that the neural network discovered. I don’t know what most of them are, but you’ll be the only one in your party.
Kelph – Burryman Ranger
Arczi-Sian – Human Dogminer
Jho the Chrishpup – kuborg fighter
Archein Morgurowood – Human Weaponic Bloodlind
Bubblebottom Donder – Half-faerie Dewlze Cleric
Altis Helder – Mander Human Star-Caver Pottlebard
Bender – half-alf paladin
Devith “Kurgbore” Mustwost – Fetchlen Cleric
Varian Amerth – blackbear Bard
Merellios Rose – Rope Gnome Wizard
Mothrek McKingfoot – halfling inquisitive
The Cowben – Human Opera
Ayrell – Forest gnome Arcane Wood Hunter
One type of name the neural network did very well: silly compound names. This pretty much settles the question of whether a neural network would be totally on board with naming something Boaty McBoatface: it totally would.
Here is what it thinks dwarves should be named.
James Crucklebottom – Dwarf Wizard
Frank Firethorn – Dwarf Wizard
Willian Stonefrown – Dwarf Fighter
Actually, you know what? Pretty much everyone needs a name like this.
Kavar Blunderwood – Goliath Monk
Hadrie Trumbledutch – Halfling Rogue
Prinkina Timberspull – gnome sorcerer
Arrina Cuprest – Human Sorcerer
Tretcher Twestybeard – Dwarf Witch
Ponny Stonecharles – Human Monk
Ashrata Dangstrider – Ratfolk Rogue
Den Splatterwoof – Halfling Druid
Wolfrit Rockhole – Human Sorcerer
Beddar Jacklebottom – Halfling Cleric
Azrara Stoutfrogg – Half-orc Monk
Lord Filedawn – Halfling Warlock
Gripple Ravenhorn – Human Assassin
Balfeart Wolfspleam – Dwarf Fighter
Eldric the Bizzlebree – Human Warlock
Pig Haystalker – Human Assassin
Ladie Barewalker – Tiefling Warlock
Fay Blutterlocket – Dwarf Paladin
Millian Kricklebottom – Kobold Sorcerer
I’ve posted the entire original dataset here, and you can access a huge export of generated characters there as well. If you want the list plus a few extra that I deemed not quite appropriate for the main blog, enter your email here and I’ll send them to you.
Also! I’m still crowdsourcing a dataset of character bios (I used some of the names for this experiment). If you’d like to help, use this form.