ID:266623
 
or atleast a code to it? Please
They're on the internet. Mix "Dungeons & Dragons" with "Name Generators" and you find one. These have been around for NPC creation since the birth of the Internet :P

LJR
You can make a list of names and then just use pick.

You can make a list of syllables and then pick a bunch of them to merge together.

After reading a Gamasutra article, I tried to wiegh combinations of letters which follow each other. (Ex: "bob" => "bo", "ob") However, after spending the time to implement their proccess in BYOND and then finding a name list to feed it, I decided the results were junk.

Instead, I chose to have a maximum number of consonants or vowels in a row and set a maximum length of the word. I then make the consonants or vowels completely random. Some might find it stupid, but I like the results much more.


// Returns a word which it creates of random letters
// (y is considered both a vowel and a consonant)

proc/RandomWord(numLetters = 1 as num, maxConsonantsInARow = 2, maxVowelsInARow = 2)

// If there is no work to do, return an empty word
if ( (numLetters < 1) || ((maxConsonantsInARow <= 0) && (maxVowelsInARow <= 0)) )
return ""

var
result = "" as text
letterNum as num
list/consonants = list("b","c","d","f","g","h","j", \
"k","l","m","n","l","p","q","r","s", \
"t","v","w","x","y","z")
list/vowels = list("a","e","i","o","u","y")

// Check for a word completely made of vowels
if (maxConsonantsInARow <= 0)
for(letterNum = 1, letterNum <= numLetters, letterNum++)
result += pick(vowels)

// Check for a word completely made of consonants
else if (maxVowelsInARow <= 0)
for(letterNum = 1, letterNum <= numLetters, letterNum++)
result += pick(consonants)

// Make a word of consonants and vowels
else
var
currentLetterNum as num
tempLetterNum as num

letterNum = 0

// Make a word starting with a vowel
if (rand(0,1))

while(letterNum < numLetters)
// Pick a number of vowels
tempLetterNum = min(numLetters - letterNum, rand(1,maxVowelsInARow))

// Add vowels to the word
for(currentLetterNum = 1, currentLetterNum <= tempLetterNum, currentLetterNum++)
result += pick(vowels)

// Update the length of the word
letterNum += tempLetterNum

// Pick a number of consonants
tempLetterNum = min(numLetters - letterNum, rand(1,maxConsonantsInARow))

// Add consonants to the word
for(currentLetterNum = 1, currentLetterNum <= tempLetterNum, currentLetterNum++)
result += pick(consonants)

// Update the length of the word
letterNum += tempLetterNum

// Make a word starting with a consonant
else while(letterNum < numLetters)
// Pick a number of consonants
tempLetterNum = min(numLetters - letterNum, rand(1,maxConsonantsInARow))

// Add consonants to the word
for(currentLetterNum = 1, currentLetterNum <= tempLetterNum, currentLetterNum++)
result += pick(consonants)

// Update the length of the word
letterNum += tempLetterNum

// Pick a number of vowels
tempLetterNum = min(numLetters - letterNum, rand(1,maxVowelsInARow))

// Add vowels to the word
for(currentLetterNum = 1, currentLetterNum <= tempLetterNum, currentLetterNum++)
result += pick(vowels)

// Update the length of the word
letterNum += tempLetterNum

return result
In response to LordJR

These have been around for NPC creation since the birth of the Internet :P

Or perhaps... much longer. Characters so minor that their creator can't be bothered to provide a name are often slated for death in the course of an adventure... could this be a form of symbolic human sacrifice directed towards the dark powers that control the name generators? Ask yourself why these so-called "random" name generators so often come up with results like "Yogsothoth Ten-Blades" and "Cthulhu Martendale." Ask yourself who stands to benefit in a tavern encounter that leaves three stock characters dead, three characters represented by nothing but names and numbers... have the ancient masters discovered that the true numerology which rules our lives has less to do with our birth dates than with our Charisma ratings and THAC0s?

We call ourselves Game Masters... we think that we control our campaigns, but it's all lies... we're the NPCs in a game far beyond our mortal reckoning. Einstein said, "God does not play dice with the universe"... but if not Him, then who?

And if that's not troubling enough, ask yourself, when Crewman #2 dies on an episode of Star Trek, why are the writers afraid to say his name? Perhaps because it is no longer theirs to say, because it no longer belongs to them... or perhaps it never did.
In response to Lesbian Assassin
Hehehehe I think ye reads too much into it there lass.. ;)
But twas good reading none the less... :P

LJR
In response to LordJR
Thanks. I'm planning on polishing it up and sending it anonymously to several reactionary religious groups as a submission to their newsletters. In twelve months, when you start getting e-mail forwards about the dangers of random name generators, you'll know who to blame.
In response to Lesbian Assassin
Ok how do I tell the usr the result?