Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

DarkBASIC Professional Discussion / Procedural Name Generation

Author
Message
Libervurto
20
Years of Service
User Offline
Joined: 30th Jun 2006
Location: On Toast
Posted: 9th Dec 2012 02:30 Edited at: 9th Dec 2012 02:31
I am making a procedurally generated space game, where everything from planets, to plants and animals, to spacecraft and all the names for these things are generated procedurally.
First of all I want to get the name generator running but I need help with this as every time I start to think about it I get completely stuck straight away.
I've made a simple procedural name generator before (
) but this is more challenging than anything I've attempted before.
I want to make a name generator that is not only more sophisticated but also can generate groups of similar names for different alien cultures.

My first stumbling block is what to classify as a valid combination of letters. What I mean is that I find it difficult to decide how I should restrict name generation, a name like "ZXKR" looks totally unpronounceable but is that a reason to discount it? I've tried so many times to come up with syllables that can be strung together and such but it goes nowhere.

Anyone have any ideas or experience with this sort of thing?

Shh... you're pretty.
Virtual Nomad
Moderator
20
Years of Service
User Offline
Joined: 14th Dec 2005
Location: SF Bay Area, USA
Posted: 9th Dec 2012 03:19 Edited at: 9th Dec 2012 06:01
i've no experience but would aim to construct valid syllables where each language followed a structure that you defined.

one way to approach it is to define pools of letters that can follow others. then, maybe, valid pairs that can follow letters and/or letters that can follow pairs, and so on (depending on how elaborate you wanted to go).

then, looking at the structure link above, regarding onset, nucleus and coda, again, form your own "rules" (including, off the top of my head, "frequency" for each?) and let the random generator take over from there.

regarding the "pools" (of letters, pairs, syllables...), i'm sure you could whip a program together to speed the process up drastically. that'd be my theory, atleast

i hope it makes sense or, atleast, gives you somewhere to think

add: maybe a creating a smaller pool is the way to go.

and, don't forget to include cool alien punctuation so we can visit Kn'athrg and zer-Renx

ack (second edit): i obviously only skimmed through your post the first time (and before i went to google for an hour) as i suggested something similar to what you were already doing.

so, to offer something more specifically usefull, how about adding weights to letters, pairs, trigrams, etc, in the language-specific "pools" so words in the same language are (and appear) connected through those frequencies (determined by weight, common through uncommon). ie, when i see something written in german or swedish, i can recognize them as such (atleast their language family) based on structures and frequencies of combinations even tho i can't read/don't know the languages.

inspirational reading:
baybayin, constructed language, and the language creation society.

Virtual Nomad @ California, USA . DBPro V7.7 . Matrix1Utils 05.27.12
AMD Phenomâ„¢ X4 9750 Quad-Core @ 2.4 GHz . 8 GB PC2-6400 RAM
ATI Radeon HD 3650 @ 512 MB . Vista Home Premium 64 Bit
Fallout
23
Years of Service
User Offline
Joined: 1st Sep 2002
Location: Basingstoke, England
Posted: 9th Dec 2012 09:20
I like virtual nomads idea. Create pools and define which ones can follow each other. Eg.

BR (can be followed by EAD, AIN)
EAD (can be followed by ED)
AIN (can be followed by IER, ED)
IER
ED

So the system may randomly choose BR,see it can be followed by AIN and choose that, and see AIN can be followed by IER, then end up with BRAINIER.

With that method you can define certain sounds to create a more consistent structure with consistent sounds that flow.

Andrew_Neale
16
Years of Service
User Offline
Joined: 3rd Nov 2009
Location: The Normandy SR-2
Posted: 9th Dec 2012 10:48
Along pretty much the exact method being suggested here, take a look at this: http://forum.codecall.net/topic/49665-java-random-name-generator/#axzz2EXw40c7P

I rewrote it in DBPro just as a fun side project a while ago and it gave some pretty good results. It suggests a simple way to use configuration files so you could have different sets of name parts for different species so that each alien race could have unique sounding names rather than generating all names from the same pool. For example, the 2 configuration files in the example were for Roman and Elven names and came up with names such as 'Dibilius' and 'Amaelran' respectively.


Previously TEH_CODERER.
Libervurto
20
Years of Service
User Offline
Joined: 30th Jun 2006
Location: On Toast
Posted: 9th Dec 2012 16:14 Edited at: 9th Dec 2012 16:28
Thanks all, that's a big help.

I like the idea of defining syllables as prefixes, joiners or suffixes. That seems like it would make generating syllables easier; yes I even want to procedurally generate the syllables themselves!

I really like the tree structure of a syllable on the wikipedia page. It makes me feel a much calmer to see such a neat diagram lol.

Shh... you're pretty.

Login to post a reply

Server time is: 2026-07-12 08:56:32
Your offset time is: 2026-07-12 08:56:32