Languages in Muds
Many fantasy games center on ethnic diversity and they often fail in the player to player relation aspect of this. Adding in languages for ethnic groups can enhance the degree of immersion in a subtle way. In this article I will look at the advantages and disadvantages of having languages in your mud and methods of implementation.
Languages help to make foreign lands seem unusual and different. However, for this sort of immersion to work, they need to look uniform and portray a consistent feeling to the area. The player needs to be able to read the foreign language being spoken or written and think, 'Oh thats Djellian!'.
Languages can be a hindrance in terms of player relations. If you make it so that all players start with only their ethnic language, then you need to have some easy way for players to learn a common language of some kind. Interaction with other players is one of the major parts of playing a mud and things which get too much in the way of this are very destructive to the mud atmosphere. Remember that your mud is not as large as a real society, in terms of the number of people in it, so you cannot afford to isolate people too much.
User Friendly is a wonderful comic strip, this image is © 1999 by Iliad, used with permission.
There are a few ways in which languages can be implemented; you can do an 'on/off' method or a progressive method. An 'on/off' method of handling languages is where the player either knows all of the language or knows none of the language. The progressive method is where players slowly gain more knowledge of the language, so the language can be partialy understood.
The 'on/off' method is by far the easiest and fastest way of implementing a language. It means that you either transform the entire sentence into something else, or you do not transform any of the sentence.
The progressive method is problematic in a couple of ways. You need to decide how people can gain the levels in the language; should they learn the levels from another player or NPC, by listening to the language being spoken or a combination? If you are implementing the languages as skills, do they fit neatly into your current skill system? Most languages will probably have a maximum level of understanding and most skill systems have no cap for skill levels. You also need to decide how to let the players understand the language; for example do you make it so they have a chance to understand each sentence, each word or just each letter?
When you try to learn and understand real foreign languages (like French or Swedish), people tend to recognize things on a word by word basis rather than a letter by letter, or on a sentence by sentance basis. So it makes sense to make the transformations work on a word by word basis and only transform a certain amount of the words, such that the longer words are the harder to recognise. You could also make variations, such as having dialects of the same language, which would require higher levels of skill in the base language to understand. This could also work for older variations on the language, allowing the language to change over time.
Since languages are often generated with the aid of a random number generator, one of the big problems of transforming languages is making the output consistent and reproducible. If someone hears a person say something one time and if they hear the same thing again, then it should sound the same. Part of the problem here is that muds generally do not have a random number generator that will generate reproducible sequences of numbers. This is not a problem for most things on a mud, since you usually want the numbers to be truly random. To achieve reproducible sequences you may need to write a small random number generator yourself.
Once you have decided how you are going to allow players to learn and understand the language, you need to decided how you are going to garble the language. Some sort of method which tends to garble the words to sounds the same each time would be nice. Some very simple transformations of text can result in a distinctly different looking word. For example: if you map the 26 basic letters to 10 letters in a new language system, with a few special transformations for some two letter sequences, you can end up with a very foreign-looking language. Even though this transformation is simple and consistent it provides a quite different looking output and a language which looks and feels quite different to the casual observer. A variation on this method is to transform syllables into the new language, rather than each letter.
Another method of language garbling is to do it on a word by word basis. To do this you just randomly transform the entire word into a totally randomly generated word. One method of handling totally randomly generated words, which still have a structure and a feeling to them, is to have a table that defines how a word is put together. For instance, you can create a simple transformation table where capital letters are transformed into other sequences of letters, and where lower case letters are not transformed at all. This method is used on Discworld to generate random names for players and creates quite consistent results which sound like they are from the given language. For example, this is the trnasformation table for the black language from Tolkien:
W -> BME BQ BMEQ BMQ BE WW SE SEQ
Q -> D DQ
S -> bugd fauth duump durb gimb krimp lata prakh srinkh thrak throqu
B -> bu b b al am azd fa ga g gh gha gl goth gr h kh kr l m mat m n pr r sh sk sn sr t th uf ud ug ul ur uz y z
E -> ub zum onk ai al og goi t ash sh goth mog na
D -> aga at akh hai ishi ob u ug uga uuk ul um uur uurz z bai za gh
M -> ub gu arg urz ur sh uth aza ish or uzg azM az ii
A variation on the word-based idea of language transformation
is to allow for
common mistakes to be translated into the base language in similar ways,
for instance in dwarven:
"safe" <-> "sturdy","stable"
"home" <-> "cave"
"king" <-> "chieftain"
"brittle" <-> "as sandstone"
"iron" <-> "rock blood"
To work neatly this would also require a lot of checks for misspelling and a large list of substitutions. It would require quite a bit of processor and memory overhead but it is a neat method of doing word transformations when the language is almost, but not quite, known.
There are many different methods of implementing languages in your mud, both sophisticated and simple. Languages do add a significant amount to the feeling of your mud, but you should never do it at the expense of playability.