So, I wrote this program to generate characters using 5e rules. I “enhanced” it in a few ways by incorporating some algorithms to select character alignment, race, class, deity, and so forth.

That was um, last year, actually. I don’t recall exactly then.

Yesterday, I began rewriting the program from the ground up, using all kinds of new tricks I’ve learned over the last six months, and I refactored code to make things more readable… and to just, you know, make more sense in general.

Actually, here’s a link to the GitHub repository.

In its current state, it doesn’t have *quite* all the features of the original, though that could change in a matter of hours. A few things I was able to port directly over, but large sections I rewrote by choice because I learned of a “better way.”

The program is written in Java, and eventually I hope to add a bazillion more features to it.

Among other things, I want to generate entire bands of NPCs at once (something the previous version could do), but I also want to track relationships between them (something new). I want to have NPC adventuring groups spontaneously form, with “shipped” NPCs preferring one another or otherwise going separate ways and spreading nasty rumors (new).

I want NPC adventurers to acquire and divvy up treasure, accumulate wealth, then spend or lose bits of it–mostly so that rumors can be generated for the primary adventuring party to follow up on. I want to call it the “claim jumper effect.” Say the PCs hear about a dungeon crawl this other adventuring party is working on, so they decide to check it out.

Conflict (hilarity) ensues when the NPCs return and find the PCs waiting for them.

Also, there’s potential for a reverse “Hostage for MacGuffin” scenario, whereby the PCs take something precious of the NPCs, and then negotiate for whatever it is the NPCs just pulled out of the ground. Er, crawl.

Much of what I want to do with the program is for use in automating rumor generation. But I also want to use it as a means to populate the world with some colorful characters for the players to bump into along the way.

Eventually, my hope is to combine the CharGen program with something like the Power Structure that I wrote about earlier, and have NPCs develop bands of mercenaries and cults and thieves’ guilds and whatnot, which can be friends or foes of the players.

Good grief, it would be nice to have that all automated for me.