[MUD-Dev] Name/language generation
Brandon Gillespie
brandon at roguetrader.com
Thu Jun 19 11:30:25 CEST 1997
On Wed, 18 Jun 1997, Oliver Jowett wrote:
> I have a sneaking suspicion that I've seen discussion on this before, but
> FWIW..
>
> I'm slowly setting up a system where some NPCs (not the major ones, and
> not the minor - ie. animal-level - ones) are generated with unique names,
> physical characteristics, and personalities. As part of this I need some
> way to generate random names or words in a specific language.
In the ColdCore I distribute a simple but powerful name generator based on
a similar one written by Ross Smith. The documentation on it follows. I
can also provide code, or you can view it at:
http://www.cold.org/bin/display?target=word
The documentation:
------------------------------------------
This random word generator uses syllables and word patterns, and is
inspired by a similar generator written by Ross Smith (Infact, the
Lovecraftian dictionary came from his generator).
The generator uses different patterns to generate the word, where each
pattern has a chance of being chosen. First is the number of syllables
in a word. Once the syllables are chosen a syllable pattern is selected
for each syllable. From the syllable pattern vowel or consanant
patterns are chosen. It is possible to use two dictionaries for
consanants, so as to have 'first' and 'last' consanant patterns. The
syllable pattern must be composed of either V (vowel), C (consanant), or
LC (last consanant) tokens seperated by dashes, such as:
C-V-LC
Which would imply the syllable pattern of a Consanant-Vowel-Last
Consanant.
The various patterns are defined by submitting a configuration to the
word generator object (spawn $word for your own generator). This can be
done with the simple evaluation command (which will prompt you for the
configuration lines):
;$my_word.submit_chances(.read())
You can also list the configuration with:
;.tell($my_word.format_chances())
Configuration
The configuration takes one pattern and chance per line, with an
optional comment character of "#" which is discarded. The pattern must
begin with a directive designating the pattern. Directives can be any
of:
S Number of Syllables
SP Syllable Patterns
C Consanants
LC Last Consanants
V Vowels
There is no limit to the amount of patterns submitted. A very simple
configuration would be:
S 2 3
S 3 1
SP V 2
SP V-C 4
SP C-V 2
V a 10
V e 10
V i 10
FC th 1
FC b 4
FC f 4
FC qu 1
LC bh 1
LC d 4
LC b 4
------------------------------------------
Currently, we have two generators--a Lovecraftian generator and a Reimann
Generator. To show the difference here are 25 words generated from each:
Lovecraft: Nlii, Cthaqhlloyeu, Ctheuatii, Uumstra, Eu, Biims,
Eurthstrayiistiikthii, Uuayqhchoypaayst, Ayrth, Llafstrii,
Rra, Ktheumleuktheuak, Iiqh, Ab, Iiqh, Iioyqh, Mthayaj,
Raayqhrra, Euteh, Amsayms, Rriiktheusk, Caams, Mtha,
Graymsatgralth, Cthahii
Reimann: Lahhen, Tolnetel, Nnar, Douou, Bensen, Nne, Noul, A,
Vrreinesson, Ssagerirlnawlo, Mouh, Erre, Lin, Has, Vanmoncoum,
Nnecnou, Rrnasan, Louddage, Ninoufr, Hoc, Hob, And, Ger,
Vebon, Ras
Enjoy..
-Brandon Gillespie
More information about the mud-dev-archive
mailing list