How can I get large number (100-1000-10 000) of names, that are at most average hard to spell for things like places, weapons (and NPCs).

Have a look at TES4 Oblivion or TES% Skyrim.


Yes, I understand, that they have paid army of designers for years.

My questions is how this people are creating those names? Is there some hints for this, like should have at least/most this amount of letters or maybe let's create three sets of words - beginnings, middle and endings, and then take one random word from each?

Can it be automatized? Do they check, if created name means anything in any language?

This question is meant as extension for other questions like this, especially: Name generation

Above question was about NPC names, I am looking for something generic, especially for places and artifact names.

I am aware of Markov chains, but even after automatic generation, I would need a way to check, if this "sounds" good and if it means anything in nay language.

As much as second thing can be probably automatized, that first one not really.

Is there any full solution? Do we know, what kind of solution does Oblivion/Skyrim use? Most important part of this question is automatizing part.


2 Answers 2


In one game I used this technique to generate names for procedurally generated NPCs. They are not true Markov chains, but follow a similar idea:

  • Take a bunch of real-world names for the entities (cities, countries, male people, female people...) you want to name. When your game is inspired by a specific culture and you want to emulate the naming style in your game, you might want to do this with names from that cultural circle.
  • Separate them into syllables and create three lists: Start syllables, middle syllables and end syllables.
  • To generate a name, concatenate a random syllable from the start list, 0-4 syllables from the middle-list and one syllable from the end-list.

I tested this by having the algorithm generate a list of 100 names. Here is a sample from my "male NPC name" generator. It will sometimes generate names which sound like a real word in some language (you can spot some English words in the list), but considering that there are literally thousands of languages in the world, this can hardly be avoided (not even by real authors). It's also not as much of a problem as you would think, because people named like things isn't that uncommon in the real world.

When I make up a name for something myself, I usually enter it into Google and see if something comes up. This also helps to not accidentally steal a name from someone else. But this is not an option for bulk generation.

  • \$\begingroup\$ Jamis Buck issued a similar "challenge" not long ago. \$\endgroup\$
    – Roflo
    Aug 29, 2016 at 18:24

Markov chains provide fully qualified new names if fed with the right input in my experience. I adapted the code of this generator for my needs and it works like a charm.

Regarding TES, as this world is finite and has a fixed number of places, NPCs etc. every name can be made up by hand or randomly generated and then checked manually. I do not know how they do it, but the definitely do not face the problems of randomly generated names. Much more interesting is how it is done in No Man's Sky as they need new generated names every few minutes. That's closer to the problem you are facing I suppose.

  • \$\begingroup\$ Names in TES games so far always have been fixed and hardcoded in the content. Can't speak for the first games, but Oblivion, Skyrim, and ESO all have premade names. \$\endgroup\$
    – Mario
    Aug 30, 2016 at 18:37

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .