NPC/World Generator
Posted: Sun Jun 21, 2020 9:46 pm
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:
However, some ideas for going beyond the basic features are:
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.
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).
- Has anyone else ever created anything along these lines, or seen anything similar?
- What are some features you think should be included?