[MUD-Dev] Name/language generation

Brandon Gillespie brandon at roguetrader.com
Thu Jun 19 11:30:25 New Zealand Standard Time 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 mailing list