6

I've always had trouble with inventing names. They refuse to come, or when they do, they sound funny or cheesy. However, a name will occasionally pop into my head, fully formed and sounding perfect. The only problem is that all of the names I think up sound similar.

For example, I am developing a fantasy world. I have elves, dwarves, and other races of my own creation. I want all the names of one race to be similar to each other (elves are soft, dwarves are guttural, etc.) , but at the same time, they need to be different enough within the same species so that readers won't confuse them.

How can I accomplish this?

Examples:

For elves, I've found that names ending with 'ir' or 'mir' work well, as well as names ending with 'in'. This is fine as far as it goes. But all I can think of are names that end like that, and some of them are too similar for readers to distinguish at first. How can I keep the names similar, yet different?

EDIT: The answer I found the most helpful, was the answer to the question linked to by James in the comments below.

  • I had the same problem. I now tend to use this C# Markov name generator – ArtOfCode May 04 '15 at 07:59
  • This question seems to me to not be about worldbuilding, and specifically seems to fall squarely into the "General writing or storytelling" off-topic bullet point. It would likely be better asked on a general writing site, and in fact [writers.se] already has my very similar question Coming up with names for species in fiction?. If you feel this really is about worldbuilding, I would encourage you to edit the question to explain why. Editing while the question is on hold will automatically put it in the reopen queue for review. – user May 04 '15 at 08:04
  • Answerers, please make sure your answers contain a solution and not just a program recommendation. See this chat message – ArtOfCode May 04 '15 at 08:46
  • @MichaelKjörling I think this question is on topic: people and places need names. But yes, it might be a duplicate form the question on another SE – Vincent May 04 '15 at 12:44
  • @Vincent Yes, people and places need names. Exactly. It's not a problem relating to worldbuilding, it's a problem relating to storytelling (that we decided fairly early on was specifically off topic). That said, comments are a poor place to discuss this; I have left a note for another mod to have a look at this as well, and I'd encourage you to make a post on [meta] about this if you wish to discuss the topicality of this type of question further. – user May 04 '15 at 12:49
  • 3
    @MichaelKjörling This question has been answered in several forms. I would suggest we re-open and then mark it as a duplicate. Here is (in my opinion) the most relevant Q/A to cover this topic. http://worldbuilding.stackexchange.com/questions/3478/are-there-techniques-for-creating-alien-or-foreign-sounding-names/3636#3636 – James May 04 '15 at 14:20
  • You might try a writers' forum or SE. I recall finding an online tool for generating names, and there may exist variations of the tool for ethnicity or made-up themes. – JDługosz May 04 '15 at 05:54
  • @James agreed, that seems to be most relevant – ArtOfCode May 04 '15 at 14:55

3 Answers3

9

One trick is to not use all the letters. For elves, you might limit vowels to i and e, and consonants to n, r, b, m, l, and other 'soft' sounds, while dwarves could use u and o, and d, k, l, r, t, g, x, etc. There are a lot of letters like n and m that work for about any type of name, and different types are defined by inclusion or exclusion of just a few letters.

Or you can let your computer do the hard work for you. I myself use a Python script to generate pronounceable random words suitable for names:

def word(syl,p1,p2,con,vow):
    w=''
    for s in range(syl):
        syllable=''
        if random.random()<=p1:
            syllable=syllable+random.choice(con)
        syllable=syllable+random.choice(vow)
        if random.random()<=p2:
            syllable=syllable+random.choice(con)
        w=w+syllable
    return w

Just type import random first. syl is the number of syllables, p1 and p2 are the probabilities of consonants on each end of the syllable, con and vow are list of consonants and vowels. There's probably a cleaner way to do this, codewise, but it works well. By tweaking the probabilities, I can usually get one in four of these random words to be usable names (YMMV) and many more just require simple tweaks like substituting a letter.

For suffixes, you can put +random.choice([list of suffixes]) after the function. I find this is good for place names with suffixes like 'bury', 'ton', etc. but it could work well for names too.

evankh
  • 1,827
  • 14
  • 20
  • 4
    ...Man, I wrote a big,fancy Markov chain program in Ruby, and you can get usable names with that little? I feel stupid. –  May 04 '15 at 02:59
  • Not great ones, but yeah. I can see how Markov chains would be a lot better. – evankh May 04 '15 at 03:02
  • 1
    Markov chains produce amazing names 99% of the time, but they take a lot of tuning. I have a separate program that's basically a genetic algorithm to get the best names, and even then it took like a week to get it working. This is probably better just because it needs so much less work to set up –  May 04 '15 at 03:07
  • A free (as in beer) name generator, based on syllable permutation, is EBON. It might be what the author needs. – Mihai May 04 '15 at 07:55
3

This problem crops up so often that many people have made automated name generators publicly available. There are several workable computer algorithms that give reasonable results, in that names will feel like they have the right category and be pronounceable. Whether or not they suit your purpose is a matter of taste. But there are so many, you can just Google for them, find ones that are close enough and maybe customise the results to suit you. Search for "fantasy random name generator" or similar will get 100s of hits.

Here is one I quite liked on a quick recent search: http://fantasynamegenerators.com/#fantasyNames

Once you have found one you like, I suggest you run it a few times and note down your favourite names into quick pick lists ready to use. You don't need to use them exactly as-is, you can add a human touch by altering the results. Or you could just treat the output as a starting inspiration, to break out of your block on the small set of endings that have worked for you so far.

Neil Slater
  • 3,348
  • 25
  • 26
2

One laborious way to approach this is to construct your own language for your races. It may be a bit too much for just names but the benefits are that you can create other words as well and by following your rules your names and words are consistent.

You at the very least have to decide how the language sounds and create the lexicon. Further steps would be to create grammar and design an alphabet but they are not necessarily required if you only want to come up with names.

So, essentially you have to define what the language sounds, or to simplify: decide what kind of syllables the language has and only use those to construct your names.

I'd advice you to head to http://www.zompist.com/kit.html for further information and try out the lexicon generator ( http://www.zompist.com/gen.html ) that allows you to create words or the use the more complex Derivizer at ( http://akana.conlang.org/tools/derivizer.html ) to create new derivate names from existing ones.

palako
  • 158
  • 6