I wasn’t expecting to jump into a new personal project anytime soon, but here we are. So, what is this?

I’m off-and-on writing a campaign for D&D. I don’t know about you, but I often have a hard time coming up with fresh, new characters. This is a tool to help with that – a random NPC generator.

Why an NPC generator?

I built this in part to help prevent myself from accidentally favoring one gender/race/other characteristic over another, and in part to help expedite my writing process. If I leave the fate of certain characters to dice rolls (and really, what is D&D if you’re not leaving fate to the dice?), it saves me time and creative thinking to actually design a character — but also, if I find a character concept that I really like, I can explore some concepts that I had never thought to tinker with before.

Technical Info

(You can skip this section if you’re not interested.) Another reason why I chose to go through with this was, I wanted to learn a new framework. So, after a quick glance through some of the more popular ones, I tried Vue. So far, I don’t regret it. Vue is very easy to pick up, and I’m saving a lot of time due to some of the magic that it brings to the table.

In addition, this is a great opportunity to re-visit some of the practices and techniques I used while building this site, and refine them. I’ve already found a couple behind-the-scenes items (and at least one front-facing item) to improve, and those will be gradually rolling out in the coming weeks.

Features

I’m not going to go too far into what features will make it into the official release — I’ve still got quite a chunk of features to write. There is currently zero styling in place. And I spent a good few days writing a companion app to help me manage all of the data (I’m really proud of how that turned out, but it was never meant for public eyes). Keep an eye on this space; I’ll write occasional dev updates. For now, I’ll say that an NPC’s race, gender, and name will be randomly generated, where applicable. When the app is ready for initial launch, I intend to include it in the main site navigation.

I look forward to sharing this tool with you and hearing what you think.