I'm working on a random world generator, and want to generate names for the various tribes that inhabit the world.

On Earth, while different tribes and civilizations have different names, they tend to share common patterns of sounds that add regional cohesion to an area. I could randomly generate all of the names with vowel/consonant strings, but I'd like the names to have some coherence based on common language families.

On Earth, most of these differences are based on regional variations of languages utilizing different phonemes, having different words for things, and having different ways of combining words, combined with some drift in how specific words are then pronounced. If I don't want to delve into developing a linguistic history for each tribe, but I know where they came from, what tribes the split off of, and who else is nearby, how can I go about giving them all names that yield the same sort of linguistic cohesion that's found in the names of cultures on earth?

NOTE: I'm using culture/civilization/tribe fairly interchangeably, because for now, tribes are the only defined group I have. Eventually I'll have larger geopolitical groups, but I'm starting small.

  • $\begingroup$ Research how names are given to people and places. Names can indicate geography, profession, parentage, location, history, personality, and a variety of other things--even within the same culture. Religion often influences names as well. $\endgroup$ Commented Nov 18, 2015 at 18:56

2 Answers 2


It is difficult to show linguistic/cultural differences in just a single name, because the factors influencing names can be highly random or complicated. For example, California is thought to be based off a fictional place name, not the English, Spanish, or Native American roots that might be expected.

That said, to generate convincing words for different languages in general, you should focus on how to implement an algorithm that takes into account the differences between languages. To list some of these:

  1. Sounds available. Vowels, consonants, and other sounds. For example, Welsh has the unusual ll sound, which I am not aware of any other language, even related languages, having. Or, in syllabic languages like Japanese, the syllables available.
  2. Syllable frequency. While letter frequency is often looked at, syllable frequency is more useful when considering the differences in languages. Even different dialects of the same language (British vs. American English) can show shifts in the actual syllables used. For example, o vs. ou in American/British for words like honor/honour.
  3. Name length. While word length varies wildly within languages, name length can be more constant within a language, and considering that's what you are looking at, it is worth thinking about. Difference in name length could indicate change in dialects over time.
  4. Syllable combinations. A lot of syllables tend to occur more commonly beside each other. This however would be difficult to model in the way I am about to suggest, unless you use a syllabic language.

However, all these factors are interconnected. Languages with more sounds and more varied syllables will result in shorter word length. Languages with syllable structures will tend towards long words, although some develop ways to shorten combinations of words similar to acronyms.

There is actually a rather solid theory within anthropology that states that linguistic change occurs at a fairly predictable rate, no matter the context. I would further recommend reading papers by Morris Swadesh on this topic.

My suggestion on actually technically implementing this is as follows. Define a set "drift" costs/probabilities for each element of language. Shifting syllable frequency might cost 2, creating a new common syllable might cost 10, and creating a new sound might cost 50. The closer to (or more in excess of) these costs, the more likely they occur. You might want to keep separate counters for each element, and reduce those by the "cost" each time one happens, to avoid unusual behavior.

These costs could be reduced if one of the other tribes has developed similar to reflect linguistic spread. Removal of language elements should also occur, and be impacted similarly by the presence of other tribes. However, elements of language are more commonly added or changed than outright removed.

From this, essentially run a simulation over some number of years, giving some amount of drift points per year (given the numbers I suggested above, it would likely be around 0.25). Increasing this value would increase drift between the groups, and could be used to indicate periods of cultural upheaval if necessary.

From that, you should basically have a list of syllable probabilities, and it would be trivial to generate a Lorem Ipsum style output for that, which of course can be used to generate a single word for a name.

This might be more complicated than what you want, but elements could be cut out to simplify it. Further, I think this would not be as technically complicated to implement as it is to properly describe. The most complicated necessary part, the generation of words from a list of syllable probabilities, would be included in any approach.

  • $\begingroup$ Although I would like to point out, this focuses mainly on the selection of a new name. I just realized I ignored the fact the names would likely be older than the modern languages. Still, this is useful information on how to generate similar but different fake language words. I can't imagine a way to account better for the reality. $\endgroup$
    – user5083
    Commented Jan 29, 2015 at 3:12
  • $\begingroup$ The Welsh ll sound is not that rare worldwide: Wikipedia: voiceless alveolar lateral fricative: occurence $\endgroup$
    – zeta
    Commented Oct 4, 2015 at 3:48

if your world's political groupings are developed to the tribal level (and not more so than that) there's a few things that should be borne in mind:

  1. often the strongest tribe or tribal confederation will determine the widely accepted names of other tribes. 1.1 often the names powerful tribes assign to lesser tribes are toponymic. so once you've decided the most powerful tribe in your world, or a region of your world, those around them may have names related to rivers, hills, forests and other environmental features. 1.2 the determination of tribal affiliation will often turn on if enough people in the powerful tribe vouch for you, and/or the accent you have when you speak.

  2. what the members of a tribe call themselves is trickier. it may be a form of their language's word for 'people' or 'social group' (on the notion that those from outside the tribe are not really people), or it may describe some cultural or physical trait (perhaps lost to history) that the people consider indicative of their tribal membership. an example is 'lombardy', who popular etymology says came from 'longobards' or 'long beards', a reference to their dress when marching to combat.


You must log in to answer this question.

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