-
Notifications
You must be signed in to change notification settings - Fork 2
Home
kesac edited this page Nov 18, 2021
·
18 revisions
- Syllabore is a fantasy name generator and class library, and does not use pre-made lists of names. Name generation is accomplished by generating syllables from vowel-consonant pools and sequencing them into names.
- You can view syllables as consisting of a
nucleus
with an optionalonset
and acoda
, in the following form:-
onset
-nucleus
-coda
-
- For example, the word 'red' is a single syllable with 'e' as the nucleus.
- Syllabore models syllables the same way, but with a different naming scheme so it is easier to understand:
-
leading consonant
-vowel
-trailing consonant
-
- While Syllabore uses the terms
vowels
andconsonants
to refer to nucleuses, onsets, and codas, there is nothing that would prevent you from defining non-vowels as nucleuses or non-consonants as onsets and codas. - By default, a syllable must have a vowel in Syllabore, but it is possible to configure syllable providers to generate syllables that have no vowels if that is what is desired.
- Onset clusters are onsets with more than one consonant (eg. "tr"). In Syllabore, clusters are called
sequences
and onset clusters are calledleading consonant sequences
. - Syllabore also extends this concept to nucleuses and codas, so you will also see
vowel sequences
andtrailing consonant sequences
.
- Name generation is accomplished by first generating syllables from a pool of vowels and consonants, then structuring those syllables into names. There are three major components to a Syllabore name generator:
- Providers - used to provide randomly generated syllables. Internally they maintain a pool of nucleuses, onsets, codas, clusters, etc. which are used to construct syllables from scratch
- Transformers - an optional mechanism to randomly adjust or transform names during the generation process. This is useful in iterating or evolving a name by replacing syllables, swapping a vowel for another vowel, adding new components to the name, etc.
- Filters - an optional mechanism to validate syllable or letter sequences during name generation. A name generator will only output names that pass through its filter. This is useful in avoiding undesirable letter combinations and improve the quality of output
- See the following pages for code examples