NPC/World Generator

Discuss any non D&D roleplaying topics here.

Moderator: Stik

Post Reply
User avatar
Lyrwik
Peddler
Peddler
Posts: 255
Favorite D&D Edition: AD&D 2nd Ed
Location: Brisbane, Australia

NPC/World Generator

Post by Lyrwik »

Something I've done in the past is to create an NPC generator, which generates a whole lot of NPCs at once - mostly for the purpose of filling out towns, that kind of thing. It would essentially just generate say, 1000 characters, give a random name (from a huge list), randomise gender and race according to pre-defined proportions, give a random profession (from a list of potential professions, weighted towards more common professions), give a random character/personality trait (from another list of adjectives) and randomise whether it would be a levelled character or not (based on a few conditions, generally favouring those with above average stats). I find it useful for easily creating a big list of random NPCs, that I could just choose from when the PCs decide to approach random a peasant. However, as I created it in excel, there were some features which it just couldn't reasonably accommodate.

I'm now looking at creating a new NPC generator, but it will be using Python to generate the characters, and probably exporting them to Excel. Noting this isn't the complete design, but the key features I'll be looking to include are:
  • Characters should be generated iteratively, with a growing population, with each new character being created from two parent characters. This means starting with only a handful of characters, pairing them up, and having them produce new characters.
  • Each iterative step will likely represent the passing of one year. During each step/year, each existing character will age by one year, have a chance of dying, have a chance of pairing and breeding, etc.
  • The chances of the various possible events each year (dying, breeding, etc.) will be dependent on various factors such as the character's attributes and age.
  • When generating a new character, the attributes of the parent characters will influence the attribute rolls of the new child character. This will not be a flat +/- to the attribute, but will just skew the bell curve.
This initial version will just simulate a single town/village, and will be human-specific.

However, some ideas for going beyond the basic features are:
  • Adjustments for the different races
  • Allocation of the population into different groups (to represent different towns/villages), and possible separating of existing groups to form new towns, etc.
  • Random major events which influence the chances of things happening each year (eg. conflicts between population groups increasing likelihood of deaths in those groups).
My questions for you all:
  • Has anyone else ever created anything along these lines, or seen anything similar?
  • What are some features you think should be included?
User avatar
New Hegdeh
Merchant
Merchant
Posts: 490
Favorite D&D Edition: 2nd Edition

Re: NPC/World Generator

Post by New Hegdeh »

Sages and Specialists should contribute to it.
Every minute is a year of struggle
User avatar
Lyrwik
Peddler
Peddler
Posts: 255
Favorite D&D Edition: AD&D 2nd Ed
Location: Brisbane, Australia

Re: NPC/World Generator

Post by Lyrwik »

New Hegdeh wrote:Sages and Specialists should contribute to it.
Do you just mean in terms of including the various specialist NPC classes? That's a good idea. Will add that to my spec.
User avatar
Stik
Master Scribe
Master Scribe
Posts: 757
Favorite D&D Edition: 2nd Edition
Location: Long Island, NY

Re: NPC/World Generator

Post by Stik »

Have you ever read/used Central Casting - Heroes of Legend? It's a wonderful tool for randomly generating a character's backstory, and contains a lot of material, in the form of random tables, that might be of use to you.
I just found it in .pdf online here: Central Casting - Heroes of Legend
"No matter where you go, there you are."
User avatar
Cole
Webmaster
Webmaster
Posts: 1814
Favorite D&D Edition: 1st Edition
Location: Canada
Contact:

Re: NPC/World Generator

Post by Cole »

In a generator of such I'd like to see "backgrounds" for particular NPC's of importance.

Random weapons/gear on important NPCs.

Perhaps random contacts among these NPCs, IE some are friends with each other.

But overall... the word RANDOM is key... the more random it is, the better. So the more things you ad Stik, the better it will be IMO :)
The Borg of Dungeons & Dragons
User avatar
Lyrwik
Peddler
Peddler
Posts: 255
Favorite D&D Edition: AD&D 2nd Ed
Location: Brisbane, Australia

Re: NPC/World Generator

Post by Lyrwik »

Argh, I'd written a full reply here, and then somehow got logged out and lost it.
Stik wrote:Have you ever read/used Central Casting - Heroes of Legend? It's a wonderful tool for randomly generating a character's backstory, and contains a lot of material, in the form of random tables, that might be of use to you.
I just found it in .pdf online here: Central Casting - Heroes of Legend
That looks like a great resource, thanks.
Cole wrote:In a generator of such I'd like to see "backgrounds" for particular NPC's of importance.
What sort of background details are you thinking of? Just what their profession is and maybe a couple of descriptors? Or something more?
Cole wrote:Random weapons/gear on important NPCs.
Equipping them isn't too difficult, just a bit time-consuming as it requires creating tables of all the gear they could possibly have.
I'm also thinking of including status and wealth characteristics, which would affect the equipment and assets they may have.
Cole wrote:Perhaps random contacts among these NPCs, IE some are friends with each other.
I was planning on implementing a 'partner' characteristic for breeding purposes, whereby when they first partner up and breed, they are then paired. This would effectively mean mating for life, which is perhaps simplistic, but easy to implement. I could introduce something similar for various other categories, such as 'ally', 'friendly', 'opposed', etc. The simplest implementation would be completely randomising who they have relationships with and what those relationships are (maybe with certain adjustments for status - ie. the nobility is mostly associated with other nobility).

This does introduce the challenge of how to display those relationships in an intuitive way. At a basic level, it would really just be a list of other characters in each category. But, as long as it's only a handful for each, a list is probably fine.

I had previously started implementing this using procedural methods, but I'm now thinking I might need to convert it to object-oriented. However, that might make exporting the data more difficult. Will have to think more on that.
User avatar
New Hegdeh
Merchant
Merchant
Posts: 490
Favorite D&D Edition: 2nd Edition

Re: NPC/World Generator

Post by New Hegdeh »

Lyrwik wrote:
New Hegdeh wrote:Sages and Specialists should contribute to it.
Do you just mean in terms of including the various specialist NPC classes? That's a good idea. Will add that to my spec.
That's exactly what I had in mind (sorry for the delay, my laptop's cooling fan wasn't working and I couldn't use the laptop until the technician came to repair it).

I am not sure what to make of this, I've been wondering whether to ask for a 2nd edition version of them, but you may like taking them into account: https://en.wikipedia.org/wiki/Masque_of ... Ravenloft)
Every minute is a year of struggle
User avatar
Lyrwik
Peddler
Peddler
Posts: 255
Favorite D&D Edition: AD&D 2nd Ed
Location: Brisbane, Australia

Re: NPC/World Generator

Post by Lyrwik »

New Hegdeh wrote:I am not sure what to make of this, I've been wondering whether to ask for a 2nd edition version of them, but you may like taking them into account: https://en.wikipedia.org/wiki/Masque_of ... (Ravenloft)
I actually have that box set, but have never delved into it. I'll have a look.
User avatar
New Hegdeh
Merchant
Merchant
Posts: 490
Favorite D&D Edition: 2nd Edition

Re: NPC/World Generator

Post by New Hegdeh »

Hope it helps you.
Every minute is a year of struggle
Post Reply