View Single Post
  #20  
Old February 27th, 2012, 02:01 PM

elmokki elmokki is offline
Second Lieutenant
 
Join Date: Aug 2008
Posts: 408
Thanks: 11
Thanked 209 Times in 57 Posts
elmokki is on a distinguished road
Default 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!
__________________
UnitGen - randomly generated nations with randomly generated sprites
http://forum.shrapnelgames.com/showthread.php?t=48341
Reply With Quote