Making a language learning game for all languages
Hi! My name is Tristan and I’m working on Lingotopia, a language learning game about being lost in a city where you don’t speak the language. The game is still early in development, but already has more than a dozen languages to chose from. This means that the underlying system needs to be robust enough to cater to each languages quirks and I’ll be going into detail on how the whole thing works in this article.
There are two ways to learn words in Lingotopia, by clicking on objects in the city, a tree or rubbish bin for example, or by talking to the city’s inhabitants. When you learn a word it gets added to your vocabulary and whenever a word you know appears in a conversation, it’ll be in purple and you’ll be able to see it’s translation. The more words you know, the more you’ll begin to understand and feel at home in this strange city.
The old approach for translating sentences would require that one word in the sentence be marked as the word you’ll learn. So, in the Google sheets document I might write “I want to go home” (the word in bold being the word to learn) and a lovely German translator would begin to translate it as “Ich will nach Hause gehen”, then they’d realize that German doesn’t have a word for “home”, not be able to mark any word in bold and throw their hands up in the air in dismay. In this case the game wouldn’t be able to teach you a word in this sentence.
Another drawback of this system was homonyms. If a word in the language you’re learning had multiple meanings, then even if the word had a different meaning in the current sentence, it would be translated incorrectly if you knew another of the words meanings.
To circumvent these problems as well as the dreaded “words within words” challenge that some languages posed, I came up with a different system. Each sentence in the game now needs the following:
- A translation, which no longer needs to contain a certain word and can be phrased to sound natural in that language.
- A word for word translation, in English, of the translated sentence.
“I want to go home", would then be translated as “Ich will nach Hause gehen”. The direct translation of this German sentence “I want to X go”, translates each of the words in that sentence back to English, while substituting words that don’t translate well into English with an “X”. The advantage of this approach is that I know what each word in the German sentence means and can teach any word to the player, while circumventing the homonym problem, since I can check the word for word translation for the meaning of each word the player knows before translating it into English.
A very special thanks to the lovely people that have helped me translate the game so far ❤