Re: UnitGen - Random nations with procedural sprites!
Nation naming, especially Lizard one, was pretty crappy far too often so I rewrote it.
Now nation name files consist of three files. Long syllables (misleading name), short syllables and suffixes. Nation name format is: Long syllable + 33% chance of short syllable + suffix. Idea is to simply have tons of entries for especially long syllables and suffixes to make nations varied enough.
You can also define very precisely what a name part can be after or before. Syntax is for example:
test "cantbebefore consonant a" "cantbebefore consonant e" "derp"
which would make the name part unable to be generated before anything that starts with:
- any two letters where first letter is an consonant and the second a
- any two letters where first letter is an consonant and the second b
- derp
The keywords that contain multiple single letters are consonant, vowel, softconsonant and hardconsonant. Here's what they contain:
String[] vowels = { "a", "e", "i", "o", "u", "y", "å", "ä", "ö", "ü" };
String[] consonants = { "b", "c", "d", "f", "g", "h", "j", "k", "l", "m", "n", "p", "q", "r", "s", "t", "w", "v", "x", "z" };
String[] softconsonants = { "f", "h", "j", "l", "m", "n", "r", "s", "w", "v", "x", "z" };
String[] hardconsonants = { "b", "c", "d", "g", "k", "p", "q", "t" };
So basically if your limitation is "hardconsonant vowel" you get every single combination where the first letter is a hard consonant and the second letter is a vowel. If your limitation is "hardconsonant derp" you get: bderp, cderp, dderp, gderp, kderp, pderp, qderp, tderp. So yeah, you should be able to limit generation far more than you will ever need to.
My test files are written white humans in mind, but here goes a set of 50 names and with heavy recycling of current name parts, especially suffixes, a great deal of which are by kianduatha:
Ondnuiu, Duxsoum, Emia, Arcoheim, Dogegard, Doror, Cunvia, Ishnom, Swedod, Gilmitha
Lunbalstan, Warmon, Wuhullum, Nefland, Lamsorea, Helmon, Ermdod, Norgaor, Faeurnia, Lejiheim
Etten, Ishvik, Krophale, Funangea, Gaeilna, Pyjaland, Burvavik, Caance, Ugliburg, Gomovo
Netaimer, Moran, Eren, Agth, Vanmon, Warjais, Oben, Kritia, Narmark, Hamheim
Ashugal, Olaance, Erbogundy, Karnoiraine, Faeengmark, Osaany, Dorni, Ungmia, Mortium, Elegard
I won't implement these to the nation generation itself before I have sets for all the three current races, but NameGen.jar will generate names based on longsyllables.txt, shortsyllables.txt and suffixes.txt at UnitGen root directory so you can write lists yourself and test them easily and submit good lists for UnitGen releases!
|