On Mon, 22 Jul 1996, ks white wrote: > > > The say_spell syllables are fixed, but you can fix them by letter or > by syllable: > (spell_constants.c) > struct syllable syls[] = { > {" ", " "}, > {"water", "bap"}, > {"fire", "bapsky"}, > {"a", "e"}, > {"e", "u"}, > {"r", "v"}, > {"l", "d"}, > etc. > > >From what I recall, a fireball spell, for example, would come out > 'bapskydd' by this system, or fire would come out as 'bapsky', staying > longer than 4 letters. However water would come out as 'bapuv'. > Therefore every word will be at least as long if not longer than its > original..but it would be more difficult to decifer. > You can have different generators for elves 'n trolls that draw from > separate letter pools by adjusting what each letter translates to.. > (trolls) > {"a", "ug"}, > {"b", "r"}, > ..or give the elven tongue a rhyming sound by re-using the same vowel > patterns often.. > (elves) > {"a", "ei"}, > {"b", "bei"}, > whatever.. Another thing to consider is it make sure, for as many syllables or words that you have longer translations for, you might want to have many syllables that have much shorter trasnlations. This is only for the purpose of the length of the output, which could get very long if you translate every letter and syllable to be longer. This may not be a consideration, depending on what you like. > We actually do a check on the speakers lang skill, and if its below > 90%, its assumed they aren't a native speaker and will always have an > accent. > (below 90) > sprintf(buf, "$n says, in accented %s,\r\n '%s'", > (else) > sprintf(buf, "$n says, in %s,\r\n '%s'", > > it doesnt check the listener's skill though: even if you know less of the > language than the speaker you will be able to detect the accent..a flaw > we might get to or not depending on how lazy we are. but its an example. > > -K. of Exile Mud > Hmmm.. I'm doing this another way, not neccessarily better by any means.. Though it might be inefcient, I'm doing letter counting and assigning a chance of misinterpretation based on a character's percentage rating with the listener, and then I separate the words in the input string and use the random functions to determine if a word is heard correctly or not, so if you have 50% ability in a given language, roughtly 50% of the words will be readable, based on size. If you will a sentence with 5 30-letter words, chances are slim a 20% skill in French will translate any of them. :) Though, first I call a function to check the speaker's language rating in what he is trying to speak, and I mess up that string depending on the rating. Then the messed up string gets translated using the listener's rating. And to make it worse, most talking is done on radios or telephones, to which I add static. Hopefully the most frequently used word on our mud will be "what?" and I might consider making that allways correctly trasnlated. :) 'Hra%#a $@ce Dog' 'What?' '$@!e(y*nito F#2!' <Have a nice day> <What?> <Have a nice day!>
This archive was generated by hypermail 2b30 : 12/07/00 PST