Files
gfn/Instructions.md
2024-03-19 18:22:23 +01:00

143 lines
7.7 KiB
Markdown

# Introduction
Fantasy Name Generator has two interfaces that each strike its own
balance between ease of use and functionality. The Simple Interface is
extremely easy but only offers you a limited form of control over the
names that get generated. The Advanced Interface is not quite as easy
to learn -- see instructions for using it below -- but allows you
practically limitless control over the type of names that get
generated. Among other things, it allows you to generate names that
are variations on a name you already have in mind.
# Simple Interface
The Simple Interface provides a drop-down box to allow you to set what
kind of names you want to generate. The "Default Names" choice in this
list contains a diverse mix of generic name types, while the other
choices are more specialized.
To use the Simple Interface, simply select a name type from the
drop-down list and hit the Generate Names button next to it.
# Advanced Interface
The Advanced Interface offers a maximum of control over the names that
get generated. You can use it to generate names or words with
unfamiliar linguistic roots or to generate variations on a specific
name.
The Advanced Interface has a "Collapse Triples" checkbox, which is
checked by default. When on, names with three or more of the same
letter in a row will be reduced reduced to just two prior to being
printed out. So if the name "Purghinnn" was generated and the
"Collapse Triples" checkbox was checked, it would appear as just
"Purghinn." In addition, if the letter in question does not make sense
to have even doubled, it will be reduced to just one. So the name
"Leguiin" would be reduced to just "Leguin." If the "Collapse Triples"
checkbox is left unchecked, this reduction step will not take
place. It doesn't mean you will get unnatural double and triple letter
sequences; it just means no efforts will be made to prevent them. We
recommend you leave this option turned on unless you have a special
need for it to be off.
The heart of the Advanced Interface is the "Name Generation Template"
field. The name generation template describes how names should be
constructed. For instance, a template could dictate that all names be
a consonant followed by a vowel or vowel combination followed by a
consonant or consonant combination. This template would generate short
names. The template could also employ the use of random predefined
syllables (such as 'tor', 'ash', 'ald', and 'dar'); a very effective
template, one used frequently when default names are generated using
the Simple Interface, is one that dictates names should consist simply
of two predefined syllables.
Templates get more complicated than that, but they don't have
to. Simple and effective templates may do nothing but list how many
consonant combinations, vowel combinations, and syllables should
comprise a word, and in what order. At generation time, random
consonant combinations, random vowel combinations, and random
syllables will be placed together according to the template to form
each name. The randomizer used will be weighted so that more
frequently seen letters, such as 't' and 's', will appear more often
than less frequently seen letters, such as 'j' and 'z'. This goes a
long way toward generating good, pronouncable names.
A consonant combination is two or three consonants that tend to go
well together, such as 'ch', 'ck', 'tt', and 'str'. Examples of vowel
combinations are 'ou', 'ai', and 'ee'. In your template, you will be
able to specify whether you want only single consonants and single
vowels or whether you want to allow the possibility of combinations.
Each name type in the Simple Interface uses its own set of predefined
templates, hence the diversity of names you can get from it,
especially when using the "Default Names" choice. In the Advanced
Interface, you can define your own by entering it into the "Name
Generation Field."
In a template, a single case-sensitive character is used to represent
each component of the name. 's' means syllable; 'v' means single
vowel; 'V' means vowel or vowel combination. The consonants are a
little more complicated, because the template distinguishes between
consonant combinations that are appropriate for the beginning of
names, like 'wh' and 'chr', and consonant combinations that are
appropriate for the middle or ending of names, like 'nd' and 'ck'. To
avoid generating names that, for example, start with 'nd' or 'ck',
this distinction is necessary, although most consonant combinations
are members of both groups, as they can appear anywhere. In templates,
the character 'c' represents a single consonant and is appropriate
anywhere in a name. The character 'B' (note that it is capital)
represents a consonant or consonant combination appropriate for the
beginning of a name; the character 'C' represents a consonant or
consonant combination appropriate anywhere else. The apostrophe
character can be used to insert an apostrophe into the name; the
hyphen character can be used to insert a hyphen into the name. These
symbols and other, special-purpose symbols, are all documented in the
quick reference guide. Some example templates:
* `ss`
* `BVC`
* `s'vCv`
* `Bv-s`
Templates can be more complicated when you add parentheses into them. Any character in parentheses appears in the generated names literally. The template (str)VC, for example, will generate short names starting with 'str', like "Stript", "Stroagh", and "Strun". If you include an or bar, the '|' character, then either what's on the left or what's on the right will be chosen to be included in the name. The template (st|tr)VC will generate short names that start with either 'st' or 'tr'. Parentheses are useful when you already have an idea of what you want a name to look like but want to see variations on it. Here are some more sample templates:
* `ss(ien|ian)`
* `(d|t|p|w)(r)VCv`
* `ss(ly|ily|ish|ing)`
Angle brackets are another valid construct in templates. Angle
brackets can be used with `|` characters in the same way as
parentheses can, but what goes inside angle brackets isn't literal
text but template codes for syllables, consonants, vowels, and so
on. The template `<s|ss>v` generates names that consist either of one
or two syllables, followed by a vowel. Here are some examples:
* `<c|cvc>s`
* `(ma)<VC|s|Vs>`
* `<Bv|V>(ck|kk|k)v`
If there is nothing on one side of an or bar, it allows the
possibility of nothing. For example, the template `(s|)(mor)ss`
generates names that start with `mor` and names that start with
`smor`. The template ss<|v> generates two syllable names that may or
may not have an extra vowel appended. Also, parentheses and angle
brackets can be nested; the template `(ghoa|<s>)VC` generates names
that start with either `ghoa` or a predefined syllable. Here are more
examples:
* `(s||t)VC`
* `<|s|ss|sss>s`
* `<V|VCV|((a|e)i)>`
Nesting can influence the frequency certain choices are made. For
example, a template starting with (r|s|t) will generate names that
start with either 'r', 's', or 't', where each of the three letters
appear with approximately equal frequency. But if you use a template
starting with (r|(s|t)), roughly half the generated names will start
with 'r', and only a quarter will start with 's', and a quarter will
start with 't'.
Although the vast majority of the time, you won't need to use very
complex constructions with nested parentheses and angle brackets, once
in a while this functionality can be very helpful.