Most of Frontier names are real-world names (Sol, Fomalhaut, Barnard's Star etc.).
As for the rest.
Also, we could split most original and/or Frontier names into a schemata somewhat similar to Frontier's, that is, having defined possibilities for first, second and third syllables. I know how to do it in Lua, but not in C, so what follows is pseudo-code.
Frontier names (quick job, some theming or blacklisting would be necessary to avoid "Bebebe" (which did happen in FFE)
Code: Select all
first_syllable = { "Ack", "And", "As", "Ar", "Be", "Ed", "Ess", Eth", "Ex", "Fa", "In", "Io", "La", "Lia", "Phi", "So", "Qu", "Ti", "Ur", "Ve", "Ze" }
second_syllable = { "ac", "an", "and", "ay", "be", "ce", "con", "da", "ed", "eth", "ex", "fa", "gre", ho", "io", "la", "so", "od", "qu", "ve", "ze" }
third_syllable = { "a", "an", "ar", "ay", "be", "ce", "dur", "ess", "ex", "gre", "in", "io", "la", "so", "ol", "phi", "qu", "ti", "wa", "ve", "ze" }
Oolite names from Chart 1 (need code to randomly determine number of syllables in 2-4 range)
Code: Select all
first_syllable = { "A", "Ae", "Aes", "Aer", "Al", "An", "Ar", At", "Az", "Be", "Bi", "Bio", "Ce", "Di", "Ed", "En", "Es", "Er", "Ge", "In", "Is", "La", "Le", "Ma", "On", "Or", "Ra", "Re", "Ri", "So", "Qu", "Te", "Tea", "Ti", "Tio", "Us", "Ve", "Xe", "Za" }
second_syllable = { "ag", "age", "an", "ar", "aqu", "at", "az", "aza", "be", "bi", "ce", "di", "ed", "en", "er", "era", "es", "ex", "exe", "in", "is", "ge", "la", "le", "ma", "on", "or", "ra", "re", "rea", "ri", "so", qu", "que", "te", "tee", "ti", "tie", "us", "ve", "vea", "za" }
third_syllable = { "a", "an", "ar", "at", "be", "bi", "ce", "dar", "di", "e", "ed", "en", "er", "es", "ge", "in", "is", "la", "le", "ma", "ra", "ri", "rin", "re", "on", "ona", "or", "so", "qu", "te", "ti", "u", "us", "ve", "xe", "za" }
fourth_syllable = { "a", "an", "ar", "at", "bi", "be", "ce", "di", "ed", "en", "er", "es", "ge", "is", "in", "la", "ma", "or", "ra", "re", "so", "qu", "te", "ti", "ve", "xe", "us", "za" }