For my TTRPG Planet of the Week, I’ve created planetary adventures on eleven different planets so far. Which has required me to create at least one miniature constructed language (conlang) for each planet (more for some). For unlike Star Trek, with its magical, invisible, instantaneous translator, in Planet of the Week the Universal Translator (UT) is a device that has to be trained over time. So characters always hear a bit of the language before translation kicks in.

Musrab Language

For the first adventure I wrote, I went overboard and created a miniature conlang, heavily inspired by Edgar Rice Burrough’s Barsoomian, reversing Barsoomian words for the fun of it: roak instead of kaor for “hello,” radak instead of kadar for “guard,” kaddej instead of jeddak for a type of leader (in this case, “sheriff”). I pre-translated some stock phrases, but when playing the scenario found I needed different phrases than what I’d come up with. I quickly realized this approach didn’t work in play and took way too long to prep.

Your Own Personal Esperanto

My next thought was to take Esperanto texts and change them through a series of sound changes. I can easily write Esperanto, and because its spelling is phonetic, it’s better than English spelling for that type of exercise. I did a quick JavaScript prototype, but I found the results were too samey. 

At play at the table again, I found I really just needed random gibberish, when instead I had created a simple lexicon and syntax. It was overkill. I didn’t need to attach any real meaning to these snippets of text. None of the players were going to be double-checking my translations!

Sound and Fury Signifying Nothing

So for my third attempt I wrote a very basic conlang generator that selects a random consonant set and a random vowel set, drops a sound from each, and then generates some random syllable patterns and a few common suffixes, prefixes, and particles (meant to be conveniently pronounced by English speakers!). The code then generates 10 sentences, sans meaning, but with the appearance that they were part of a real language. Here’s an example.

Language Name: Gurulvan

  • Consonants: b, d, g, r, l, w, h, m, n, ŋ, v
  • Vowels: a, u, o, i, e
  • Syllable Structures: CV, CVC
  • Common Prefixes: rur, gar
  • Common Suffixes: ga, ru, vi
  • Particles: do, ve, he

Sentences you can use until the UT kicks in. They mean what you want them to mean—

  • Garvi leg vi ve ra do wegwan wudmonir do.
  • Rur do horruv wuvnulo do garvonga.
  • Gu ronra gowegga garga hodungag?
  • Hi garwiga mubgeru dumagvi bamudna ni!
  • Gengan langhumu havdihig nodbu rurmeg!
  • Gu garlung le do rangdoli vanguga? Mung rurvul vovvuheg.
  • Hiv rurwaga gar bungvi durulmo gervegga.

I don’t worry if these faux conlangs violate universals, such as lacking the /i/ vowel or lacking /p/, /t/, or /k/, since they’re alien languages, after all.

I usually hit Refresh a few times until I see something I like, then lightly edit the result.

This generator has worked well for the purposes of gameplay. If I need the name of an NPC or a place (for my last one-shot, for instance, I needed to name two cities on the spur of the moment), I just grab a word or phrase from the sample sentences and cross it out.

No, it’s not up to my usual standard of conlanging (see FithMuna Lingi, or Denju for that), but it’s worked great at the table.

Illustration credit: public domain, by Frank Earle Schoonover for A Princess of Mars, “The old man sat and talked with me for hours, and the strangest part of our intercourse was that I could read his every thought while he could not fathom an iota from my mind unless I spoke.”