NPC Name Gen
I typically like generators that work at the press of a button, but here's an interesting one for when you need a group of names to have a self-consistency:
http://nullprogram.com/fantasyname/
It takes a special string that specifies how to pick syllables -- give it "Ddi (the goblin)" and you'll get a page of goblins like pumphmunch and broltface.
Basics
Sticking to the serious options, (s through C below) you get "reasonable to a computer" constructions, so mostly good for alien names.
Example: "!BsV (of) !BsV" or the slightly longer "!BvcV (of) !BvcV " gives Meroo of Clati, Crade of Hebi, and Jubai of Fexa
Branching Paths
Are your lizard-people stereotypically sibilant?
Here's a rule showing three tricks, and results in stuff like "Ssak'aek don Pykoetassar" -- !<c|c|(ss)>v<c|c|(ss)>'V<c|c|(ss)> (of|from|de|don|Baron|<!cV>) !BvcV(tass<v>r)
The first trick is <c|c|(ss)>
, which means that 33% of the time, it's a hiss, and 66% of the time, pick a random consonant. (Also, that you can put a literal () block inside a decoding block.)
The second is picking from a few normal words, with a slight chance of making a short one up: (of|from|de|don|Baron|<!cV>)
(I'm definitely naming a highborn snakeman Ssass'eem Sai Sititasser!)
Finally, the city names start like our basic example (!BvcV
), but all must end in tass(vowel)r.
I now have two thuggish comedic lizardbrothers: Zassis and Jussyg of Taveatassar.
use... | you get |
---|---|
s | generic syllable |
v | single vowel |
V | single vowel or vowel combination |
c | single consonant |
B | single consonant or consonant combination suitable for beginning a word |
C | single consonant or consonant combination suitable anywhere in a word |
i | unit for an insult |
m | unit for a mushy name |
M | unit for a mushy name ending |
D | consonant or consonant suited for a stupid person's name |
d | syllable suited for a stupid person's name (always begins with a vowel) |
' | literal apostrophe |
- | literal hyphen |
! | capitalize the word |
( ) | denotes that anything inside is literal |
< > | denotes that anything inside is a special symbol |
| (pipe) | logical OR operator for use in ( ) and < > |