Language learning
Posted: Sun Nov 30, 2014 8:32 pm
TLDR: I have a ridiculous idea about how to implement something (that is probably on the to do list) that would take a lot of time and code to implement (surprise).
I've imagined that one of the issues with language being implemented as a learnable skill is handling language failure. Right now, if someone speaks in an unfamiliar tongue, those with zero skill in the language fail to translate and simply know that the person is speaking in a foreign language. But what do you do when someone has 20 skill in a language? Realistically, they would probably get bits and pieces of what is said, but not the whole message. A particularly bad failure could lead them to miss an important negation (ie, they assume the opposite of what is being said) or confuse similar words (I've recently heard that a certain vegetable and prostitute are very similar words in Ukrainian) to get an entirely different meaning. To simulate this, I recommend a sometime humorous hobby of mine, translating from English to English via computational translation through multiple languages. Here is an example:
English: This fish is tasty.
English -> Latin: Hoc sapidum piscis est.
Latin -> Igbo: Nke a tọrọ ụtọ azụ.
Igbo -> English: This tasty fish.
Alternatively, English -> Latin -> German -> English: These tasty fish.
And English -> German -> Igbo -> English: This fish is delicious.
In the first two cases, we have effectively translated from English to Engrish. The idea is mostly conveyed, but the grammar is muddled. These are partial successes. The third is a complete success, and is likely due to how similar English and German are (so when we go from German to Igbo to English, not much is lost). By carefully selecting the language groups the phrase passes through, as well as how many, we can get a decent idea of how muddled things will come out. This could be used to handle success, partial success, and partial failure (see below). For a non-marginal failure, or for truly horrific failures, try grabbing a word and converting it to it's antonym or removing a random word (or 3). For partial failures, it may also be possible to substitute words in the sentence for high-complexity synonyms before translation, thereby increasing the likelihood of errors in communication.
There is a good roleplaying reward to this as well, as when speaking between languages, sometimes the best way to communicate is to use the simplest sentences possible. Such simple phrases can convey ideas so effectively that it is very difficult to muddle them. I tried to come up with a bad translation for "It is raining" and have yet to find one that doesn't come back out correctly. More complex sentences can become very muddled over a small number of language jumps (much like real life).
English: Have you tried telling the landlord that you already paid them in cash last week?
English -> Igbo -> German -> English: Try, told the owner that you have already paid for them in the past week?
I'm sure an API (or maybe a couple) could be used, similar to how Clok pulls weather data from real world locations.
However, some words would need to receive special treatment, given that Clok does have it's own words. Nethrim, for instance, would bypass mistranslation UNLESS it passed through a language where it is a word. As an example, "Nethrim over by Mistral Lake" becomes "Nethrim at sea by Mistral" (English, Spanish, German, English) or "Nethrim top by Mistral Lake" (English, Igbo, Czech, English). In both cases, players will understand that some nether critters are somewhere around Mistral. By substituting "Dark Creatures" for "Nethrim" and "Foggy Lake Town" for "Mistral Lake", we get "Dark creatures on Lake City Fog" (ESGE) or "dark creatures on by foggy Lake City". Probably the better solution here is to translate with Netherim and Mistral in place, and then have a secondary translation layer to handle Clok terminology. An additional difficulty is that words that are misspelled should be auto-corrected before translation, so as to handle characters who choose to type in a dialect properly (ish. Nuff said), with the hilarity that is bound to ensue from auto corrections.
I've imagined that one of the issues with language being implemented as a learnable skill is handling language failure. Right now, if someone speaks in an unfamiliar tongue, those with zero skill in the language fail to translate and simply know that the person is speaking in a foreign language. But what do you do when someone has 20 skill in a language? Realistically, they would probably get bits and pieces of what is said, but not the whole message. A particularly bad failure could lead them to miss an important negation (ie, they assume the opposite of what is being said) or confuse similar words (I've recently heard that a certain vegetable and prostitute are very similar words in Ukrainian) to get an entirely different meaning. To simulate this, I recommend a sometime humorous hobby of mine, translating from English to English via computational translation through multiple languages. Here is an example:
English: This fish is tasty.
English -> Latin: Hoc sapidum piscis est.
Latin -> Igbo: Nke a tọrọ ụtọ azụ.
Igbo -> English: This tasty fish.
Alternatively, English -> Latin -> German -> English: These tasty fish.
And English -> German -> Igbo -> English: This fish is delicious.
In the first two cases, we have effectively translated from English to Engrish. The idea is mostly conveyed, but the grammar is muddled. These are partial successes. The third is a complete success, and is likely due to how similar English and German are (so when we go from German to Igbo to English, not much is lost). By carefully selecting the language groups the phrase passes through, as well as how many, we can get a decent idea of how muddled things will come out. This could be used to handle success, partial success, and partial failure (see below). For a non-marginal failure, or for truly horrific failures, try grabbing a word and converting it to it's antonym or removing a random word (or 3). For partial failures, it may also be possible to substitute words in the sentence for high-complexity synonyms before translation, thereby increasing the likelihood of errors in communication.
There is a good roleplaying reward to this as well, as when speaking between languages, sometimes the best way to communicate is to use the simplest sentences possible. Such simple phrases can convey ideas so effectively that it is very difficult to muddle them. I tried to come up with a bad translation for "It is raining" and have yet to find one that doesn't come back out correctly. More complex sentences can become very muddled over a small number of language jumps (much like real life).
English: Have you tried telling the landlord that you already paid them in cash last week?
English -> Igbo -> German -> English: Try, told the owner that you have already paid for them in the past week?
I'm sure an API (or maybe a couple) could be used, similar to how Clok pulls weather data from real world locations.
However, some words would need to receive special treatment, given that Clok does have it's own words. Nethrim, for instance, would bypass mistranslation UNLESS it passed through a language where it is a word. As an example, "Nethrim over by Mistral Lake" becomes "Nethrim at sea by Mistral" (English, Spanish, German, English) or "Nethrim top by Mistral Lake" (English, Igbo, Czech, English). In both cases, players will understand that some nether critters are somewhere around Mistral. By substituting "Dark Creatures" for "Nethrim" and "Foggy Lake Town" for "Mistral Lake", we get "Dark creatures on Lake City Fog" (ESGE) or "dark creatures on by foggy Lake City". Probably the better solution here is to translate with Netherim and Mistral in place, and then have a secondary translation layer to handle Clok terminology. An additional difficulty is that words that are misspelled should be auto-corrected before translation, so as to handle characters who choose to type in a dialect properly (ish. Nuff said), with the hilarity that is bound to ensue from auto corrections.