What Is This?

It's very difficult to be creative out of nothing. Inspiration comes from seeing patterns, and morphing those patterns into something better.

There's a lot of other character generators. We aim to generate the roots, not the leaves of the characters, so you could flesh them out in detail. We aim to be very high quality, taking inspiration from books and other research on this.

More details on the current version

Why do this?

Reason 1: Boilerplate character creation

Sometimes I write stories. Sometimes I try to make games or host them. Sometimes I just want to build a game engine and not think about the storyline.

But the story is always important. The world, the characters, the plot, however shallow, is a big part of a game. It's like paint or car seat material on a car. Or fonts and padding on a website. A little bit goes a long way.

Stories are effort though. It's easy to just clone something – zombie apocalypse, sword and sorcery. That seems a little lazy though.

I tried to look for templates, but TV Tropes is too… messy. Many generators out there work, but they turn out really weird stuff. I do remember some random tables from D&D and they were decent. Some projects like Eureka were excellent, but too rigid - it took too long to find something that fits a certain scenario.

Basically, I wanted something to do "boilerplate". When programming, there are a few things that are copied from one project to another, with little alteration. These are all tedious to collect and update. They were not fun or intellectual, and got in the way of writing actual code.

I wanted to build a "boilerplate" template for character generation as well. There's a lot of repetitive stuff – backgrounds, personalities, descriptions. I wanted to speed up all the boring parts so people could focus more on being creative.

Reason 2: Fun

There were two tools I absolutely loved.

One was Tavern Maker. As the name implies, it randomly generated taverns. Except it wasn't so random. Everything was written by a human, and it just selected from that database. Only things like layout were random. Anyone who wanted the "full" version had to submit a few descriptions of their own for the generator, including the results for if the table was pickpocketed.

It was incredibly good and fun on its own. Despite being handwritten content, there were rarely any repeats of previously done things.

The other was a random dungeon generator.

It was at the crossroads between fascinating and frustrating. Fascinating because it created some really high quality content – secret doors, paths, along with what checks were needed. Frustrating because it could be so much better. The characters and rooms were detailed, but they didn't quite fit. It was fun enough to make a roguelike style game in. But it wasn't really enough to fully host games in, and just needed a little extra push.

But these were from a past era, before Facebook and Stack Overflow. Today, there's so much more that can be done. Everything could be on apps. People can submit content while lying in bed. Instead of just generating characters, they could hand write full characters, entire dungeons and cities, and submit it into a Tavern Maker style pool for someone else to use.

Reason 3: World generation

The long term goal is generating full plots where the stories can play themselves. Think of it sort of like Dwarf Fortress. But DF's downside is that you had to actively play it, and it had its own rigidity.

I'd like to see something where a generator can have a full world, and you'd just have to write a story out of where your characters change it. And if you wanted something more unique, just tweak a few parameters.


V7.3 (20/9/22): Obstacle and intention

After years of soul searching and going into story theory, one of the low hanging fruits we found was Obstacle and Intention. Basically, dramatic characters will have really high intentions and really high obstacles. The higher both of these are, the more interesting the character becomes. It's like umami. More is better. But at some point you get sick of it. Characters don't even have to succeed. Failure is interesting too.

In engine terms, it gets mapped to Wants and Plot Hooks. Obstacles tend to be quite story based. Plot hooks aren't a perfect example of this, but it does give the user some ideas.

Also, this being 2022, access to AI was a lot more common, and helped with quality.

V7.2 (20/8/20): Plots

Plot hooks were generated based on the 36 Dramatic Situations. Quality did not increase. Instead, it seemed more disconnected and random. Perhaps another big change is needed, not to breadth or depth, but tackling it from a different angle.

V7.1 (18/7/20): Portrayal

The generator would categorize components of the character. It used to return a blob of information, but now categorizes them in a neater format. Portrayal was a big thing, because it's easier to roleplay that Bob loves intellectual conversations, rather than saying Bob is smart.

Another big part was recognizing the strengths of a character. It let people identify how their character would react to things. One character may solve problems with violence, while another may use cunning.

The extra details made the characters simpler, and yet added more depth to the same characters.

V7 (11/6/19): Procedurally generated

The generator would roll a root part of the personality. Then from the results of that, flesh out other parts of the personality. This avoided all conflicts, and generated more natural characters.

V6 (26/5/19): Root personality

Design the character against some kind of core or 'root' personality, that spawns other parts of the character. This was basically just roll a dice for a table once, and then based on that result, roll on some other table.

Roles didn't really work for single character generators. They're great for adventuring parties, or sitcoms, where you just play on how some characters with a common goal conflict with one another.

But I figure this generator would be used more for generating a single character on the fly. You don't need a generator if you have a great concept in mind. This is for the randoms. So, I'll be trying without the role system in the next step.

A big part of a character is also the theme. I tried to generate characters like The Terminator or Tony Stark, but it just doesn't work with contemporary themes. I'll probably branch out the generator into different themes - sci-fi, fantasy, contemporary, and so on.

Some traits were side effects. For example, some characters are just combat pragmatists - they don't follow a code of honor in combat. But this is often because they're at an extreme combat disadvantage, or simply don't respect enemies enough.

This is part of the reason I'm going procedural. The next version will create a lot of "side effects" as part of the character. Procedural will also help to add flaws for characters who are going too Mary Sue. As well as little things like deciding dresses for the femme fatale.

V5 (23/5/19): Character archetypes

The generator would randomly select a major archetype and then roll personalities that fit them.


  • The archetypes were very rigid and produced lots of cookie cutter characters.
  • It was tedious to program. Every trait had to be linked to an archetype, or whether or not it matched. If a new archetype was added, all the existing traits had to be run through again.
  • What are the archetypes even? Running through literature, people would suggest archetypes like "The Bad Boy" and "The Swashbuckler". But the differences are minor, say the Swashbuckler was Chaotic Good, and the Bad Boy is Chaotic Neutral. Some books also highlight uncommon archetypes like The Businessman, which really didn't fit most stories.
  • Some characters don't fit archetypes. For example, Frozen's Elsa and RWBY's Weiss Schnee were the (Defrosting) Ice Queen archetype. These are very uncommon archetypes – how many stories have this? A random generator that utilized archetypes would restrict creativity.

But I still liked the idea. Archetypes functioned as training wheels for writers.

V4 (21/5/19): Replicating other generators

Started coding, and it didn't really fit notes. I looked at what other people tried to look for in generators.

Most people who search for a character generator have parts of their story in mind, and just wanted to fill in the blanks. Like they have a great swordsman and sidekick in mind, but want to flesh out the personality. Or generate the little sister, mayor, one of the mooks they fight early on, etc.

They wanted personality, background, description, problem solving approach. Most tropes were either plot development or character development, and not useful for someone at the start of a story. But by breaking them down into major parts, a pattern emerged. Characters had overlapping traits – the emotional fiery redhead, the cute bruiser, the hispanic swashbuckler. As well as fashion preferences that matched personality.

V3: Weighted from the Overdosed Tropes list

I tried to follow what the PToS did. Maybe manually scrape the list or use AI. But much of the Overdosed Tropes were anti-patterns. Some were irrelevant, like "explosions" or "sequels". Sometimes it's like looking at "overused ingredients in recipes" and seeing things like bread and chicken. That's something, but it doesn't mean I can make an awesome sandwich by just combining them together.

V2: Based off plot formulas from movies and books

I had to start over, but it's foolish to start from scratch. I dug through existing material… Three Act Structure, 20 Master Plots, 36 Dramatic Situations, The Seven Basic Plots, Eureka: 501 Adventure Plots, The Complete Writer's Guide to Heroes and Heroines. People wrote huge books dedicated to what they thought was the definitive model.

These were awesome. But they were strong at plot structures, and not building characters. If plots are molecules, characters were atoms. It was tough to work down from the plots to find something that fits it. For example, one Dramatic Situation is Mortal vs Immortal. It's just far too broad.

V1: Based off The Periodic Table of Storytelling

The periodic table was a great idea, but incomplete. A lot of things are omnipresent tropes. For example, "Action Girl" is just an active girl, which doesn't say anything about who she is. It doesn't differentiate between Sarah Connor and Rainbow Dash.

What next?