We’ve got a first cut of the name generator. Right now it’s stand-alone, but we will be integrating it in so you can easily generate on-the-fly characters at a moment’s notice.
See here: "http://opnamegen.herokuapp.com":http://opnamegen.herokuapp.com
A few notes
* Use the dropdown list at the top to select different generators.
* It’s a grammar-based generator, meaning it uses grammar rules to create the names.
* By varying the grammar rules, we can create different generators for different styles of names. The possibilities are pretty much limitless.
* You can play with the grammar rules by adding new rules and changing the weights (probabilities of certain combinations).
* We’ve got a handful of sample grammars in there now, and our hope is to get some good ones from the community.
* I imagine that we will quickly come up with some good best practices for grammar generation and very soon will have some great names coming out.
The strength of these generators is that if they generate a handful of names, usually 1 or 2 are good enough. The plan is to take that into account when integrating it into the site. In other words, when generating an on-the-fly NPC, there will be a way to quickly generate a handful of names using a specific grammar (like, “quick, I need a Spanish-sounding female name”) and then pick one to be your new NPC. A few clicks and you’ll have a new NPC in your campaign, saved and ready to be recalled in 6 months when a player asks, “So who was that lady again?”
h3. More detail
Here is a more detailed description from Melinda, the lead developer on this:
This is a prototype of what will eventually power the Obsidian Portal Name Generator. Names are generated via a Template that defines the possible pieces of the name. The specific choices for generating any given name are randomly determined. By default, the “Sample 1” template is loaded into the editor. Just click "Generate!" to see the names it generates.
A template is a list of named variables, each with multiple options for how they can be interpreted. Name generation always starts by resolving the "Start" variable. In the case of the Sample 1 Template, there is a 20% chance that it will resolve "Start" to "Vow ConString" and an 80% chance that it will choose "Con VowString". These percentages are determined by the weighting number after each choice.
Let's say it chooses "Vow ConString". From there, the generator looks at each word (separated by spaces). If the word starts with a capital letter, then it needs to keep going. In this case, "Vow" is capitalized, and represents something from the "Vow" variable defined a little bit below, with 20% chance of "a", 40% chance of "e", etc. Let's say it chooses "e", the most likely outcome. Since "e" is lowercase, it knows to just put an "e" in the final word, and that no more evaluation is needed for that part.
Now it moves on to "ConString". ConString is defined as having a 60% chance of being "Con VowString", 20% chance of "Con VowEnd", and 20% chance of "Con Vow". Let's say it chooses "Con VowEnd" this time. Then all it has to do is make a choice from the "Con" variable (let's say it was "n") and make a choice from the "VowEnd" variable (let's say it was "ah"). There's no more capital variables to resolve, so we're done. The resulting name is "Enah".
Note that the only variable that must be named a certain thing is "Start" so that the generator knows where to start. Everything else is named however you like, as long as it starts with a capital letter for a variable, or a lowercase letter for resulting characters. In the case of Sample 1, note that we have "Vow" and "VowEnd". The only difference there is that "VowEnd" consists of combinations that we thought would work well at the end of the word, as opposed to the middle, and we defined our variable "ConString" so that "VowEnd" can only appear at the end of the word.
To get started, try out the different sample templates, and try making modifications to them to see how it affects the generated names!
One more feature: the “Recover Last Valid Template” link at the bottom will try to load the editor with the last template you successfully generated names with. It might help you out if your browser gets closed in the middle of editing a template.