At this point in my life I’ve essentially zero confidence, especially in my ability to match my ideas to my abilities. So I’m starting with a simple premise - I make models and attach translations and pronunciations to them, that you can look and listen to. I already don’t know if that’s too ambitious. There’s a game on Steam called Influent, part of which is that very thing, and it’s been taking its creator several years to get out of the current really small play area (containing, though, about 400 words). The only thing is, that doesn’t seem to require amazing ingenuity in the area of AI, and on the surface promises to be a pleasurable process, especially because I enjoy reading aloud in foreign languages.
On the other hand, as a language student, I think I’d get bored, because of how limited the interaction is. And I might go on for some time ignoring this aspect, but in the end I know I’ll get discouraged by it.
Another problem is my inspirations to make a language-learning game, which could seem pretty strange. One is trying out Skyrim in different languages, the other is doing the same with Mount&Blade. What the experience made me want is a game in which multiple languages are present at the same time… However, by now I’ve come to feel that when my ideas are derived from an existing (giant) game, it’s a bad sign. At the same time I think the following parts of Skyrim (and Mount&Blade) would make perfect language-learning material - books strewn thoughout the world, and, of course, characters you can talk to. But I’m afraid that makes a complete RPG package, and I know I can’t handle that.
Even without considering that, I’ve got no idea how to implement the books and dialogue so that they’re useful to a language-learner. Do I also write a multi-lingual dictionary?
And finally, there’s the matter of writing all that text… I mean, I guess on the plus side it doesn’t have to be award-winning material.
So, what do you think?
This is something I’ve thought about too; I’ve been studying Japanese for years, and will certainly get into the language-learning software business sooner or later.
One design problem is, it’s rather difficult to fit the needs of optimal language learning with the needs of a fun game. Efficient learning is all about spaced repetition: the game should present facts (vocab, grammar, whatever) to be learned at intervals that reflect how strongly you know them. SRS flashcard apps like Anki and Memrise do this very well, but aren’t games. Duolingo does the same thing but gamifies it a little, but it’s still not very gamey. On the other hand, a game where you wander around playing an RPG, and just happen to encounter your target language, won’t be presenting things with the proper spacing. So it really won’t be much good for actual learning (though it could be a good review of material you’ve already learned).
If you’re going to do something like that, then yes, you certainly need to build in a dictionary. And this needs to include not just individual words, but idioms, grammar notes, etc. See Satori Reader for a site that does this really well. It’s not a game either — it’s just a series of stories, annotated so you can learn from them. But this is what all the text in your dream game would need to be like, I think.
My dream game would be an RPG were you are attending a school. It could be a modern high school in your target country, or it could be a fantasy wizard school in some drafty old castle; the setting details don’t matter. But you’d actually be taking classes, with teachers giving lessons on vocab, grammar, writing (in languages such as Japanese and Chinese), etc. These would be followed by review exercises and quizzes. But you’d also have classmates, who would complain about the teachers, offer to go out after class, gossip about each other, play games with you, etc., all in the target language. So you’d get a nice combination of real study (class-related activities) and review/conversation practice (with the NPCs).
That’s a very big project, though.
I’ve just recently gotten back on my wanting to learn a new language kick, and I always look for video games or videos to aid in the process, but alas there never are any. I think the key would be to come up with a really compelling graded story. Athenaze, the ancient Greek textbook, and La Pasporto A La Tuta Mondo, the Esperanto video series do this really well. From the very beginning you feel like you are actually learning the language. An RPG designed around that type of dialog that could just sort of through you in, but still tell an interesting story rather than telling you how to say that the dog is purple or some other nonsense I think would be really helpful, and really profitable if done right. Maybe one day I’ll actually stick with my goals of learning a language and I can make such a game.Though writing such a graded story is probably really hard. I speak English natively and I’m not sure I could write a story that introduces grammar in words in bite sized pieces without ending up as boring as most other methods are.
My view on the problem with spaced repetition is that the vocabulary should be relatively small, and you’d necessarily run into the same words. But I guess it’s my personal preference (or not?) - I’m interested in natural spoken language, and the vocabulary is supposed to be limited, whereas it’s expressions constructed out of it that’s the tricky and juicy part. Or maybe I’m mistaken.
For bite-sized grammar I’m not sure this idea would work, but there’s certain situations that require less grammar mastery than others. For example, if you start in prison (like in the Elder Scrolls series), you pretty much only have simple imperatives thrown at you, which, additionally, in many European languages are the simplest verb forms.
1 Like
My advice would be to prototype the parts in small (tiny) games. Maybe not even games, just single scenes.
Have a scene where there are a few books. Learn to implement books. Figure out a system of moving around and choosing a book, then opening it and reading the contents. The pages could all be “the itsy bitsy spider” at this point.
Make a scene where there is a book in English, a book in German, and an English-German dictionary. Is it fun to use these three things? What would make it more fun? Maybe implement a note-pad that people can use.
Make a scene where you have an English-German dictionary and two people to talk to. One speaks English, the other German. Is this fun?
Make a scene where there are a bunch of people who speak English or German, and a few that can speak both. Figure out a system of using a bilingual npc as a translator. Is this fun? Maybe the player is the translator, and they have to cobble together phrases from one language to express what someone was saying in another.
My point is this: define the smallest unit of work and try to do that. Then just keep doing that. They don’t all have to end up in a game together, but it’s a great exercise for prototyping, or learning, or gaining confidence.
Good luck, and Have fun
3 Likes
A while ago I had an idea for a language- and programming-learning game aimed at people who speak English and want to learn German. It would be set in an alternate reality where the nazis won the war and have developed computer technology. You’d play as a british prisonor of war, who has to escape one of their semi-automated death-camps by reverse-engineering and manipulating both code and language. Your main weapon would be a dictionary integrated in the UI that allows you to translate German to English and you’d use a made-up programming language called “Kobra”, that uses python syntax. You’d start with simple tasks and puzzles, and work your way up to social engineering guards and officers through emails that you’d have to write yourself, in German, from mail accounts you’ve hacked with your own scripts. Most of the visuals could be terminal interactions and printed documents.
In my opinion learning a language isn’t about it being spoon fed to you in a convenient enough way, it’s about finding something cool enough that makes it worth it to put in effort yourself. English is my second language and I was playing English computer games with a dictionary before I had any form of formal education in it. I’ve watched English cartoons as soon as we had satellite TV and I wasn’t afraid to read english books or magazines where I only understood half of the words. Most of the vocabulary I acquired in that time probably comes from using a conveniently implemented dictionary tool (babylon translator, just shift right-click on any word on screen and a popup would translate it for you) to translate song texts and articles on websites. If you want to turn an engaging, text-heavy game like Skyrim or Baldur’s Gate into a learning game, imho a well-integrated dictionary in the UI is all you would need. The hard part is making the engaging game. If that doesn’t have the main focus, I think any learning-game is already doomed.
Well, if nothing else (although I’ve taken your suggestions very much to heart, Habitablaba), I’m relieved that my idea not at all the most ambitious.
But with regard to an engaging game, here’s a question: I thought I’d want the player to be able to choose what languages they want to be present in the game. Which means you couldn’t make, for example, an overarching story involving all the languages. Or do you think it would be alright if the player encountered languages they were not studying? I mean, language is not just about meanings, but sometimes it’s an alphabet you can’t read or completely strange grammar, which could make the experience frustrating. I’m asking this because I keep thinking that I have to do all those tests and prototypes with variable language selection in mind.
Yes, I would certainly suggest focusing on just one language, or perhaps a small set of closely related languages (e.g. Latin derivatives).
To be effective in a very foreign language — one where the writing and syntax are completely alien to the learner — is going to require substantially more and different support than one where the main problem is vocabulary.
As an example, I try to read manga (comic books) in Japanese. I have a pretty extensive vocabulary, a half-decent grasp of grammar, and a convenient dictionary on my cell phone, so nowadays I’m able to get about 80-90% of what I read. That’s a real victory — there are still a few lines on almost every page that I just can’t make sense of, despite all that. Sometimes I’m not even sure where the words are (Japanese doesn’t put spaces between the words). So it’s a real challenge.
On the other hand, if you look at how Satori Reader does it… it’s not just a dictionary, but grammar and usage notes, keyed to how each word/phrase is used in that specific instance, as well as a translation (with notes) for each complete sentence. It also provides native pronunciation for the word, level, or entire passage.
This sort of system would be enough to support learners at almost all levels, even in a language as foreign as Japanese. (It still wouldn’t be good enough for complete beginners; you need at least a grasp of the writing system first.) I would think the same thing would work for lots of other languages too (though no idea about Chinese, which I think is probably even harder than Japanese).
2 Likes
Yeah. And the interesting thing is, that in China alone, not all chinese speak the same language. In many regions of China, there are many different types of Chinese languages and dialects in China alone.
eg. Mandarin, Cantonese etc. and a whole ton more, to choose from. 
Even in some parts of Japan, some people speak in unknown asian tribal languages and tribal dialects, that other Japanese don’t speak. 

I’ve been trying to come up with a way to implement the Satori Reader interface… And I think I’m too dumb for this. I mean, I eventually found this asset TextMeshPro and I can’t even get simple links running in there, not to mention the situation that I really want to cover - where several words randomly strewn around a sentence form a single unit of meaning… I guess I can try simple buttons.
That’s advanced stuff, for sure. Even displaying text with furigana (little phonetic characters above the Chinese characters) is quite tricky in the new UI, though I had it working with the old GUI system.
It’s been a while since I’ve used TextMesh Pro, but since it’s been incorporated into Unity itself, I should give it another try. I bet you could do this with that. But yeah, it will definitely take an investment in studying documentation and examples!
Well, I made text with a bunch of handlers (essentially a button) to lay out pretty decently. I guess I’ll go with that.
I think I’m fortunate that my writing systems are pretty pedestrian - there’s no problems with roman and cyrillic alphabets as far as I’ve seen. But I’ve been trying to figure out the actual lookup, and it’s not all smooth sailing.
So, suppose, in German a verb splits up and one part of it is at the start of the sentence and the other part - at the end. I think I could tag both parts as a group. That would work for English. But the idea is a multilingual game, not bilingual, and at least one reason is that English is not my native language, and not necessarily the default. My native language is Russian, and I’m afraid that a German verb that, even if split up, translates well into English, to translate into Russian would also need to include the subject to make grammatical sense. Like, the English sentence “He liked her” literally translates to Russian “She to him was liked”… I guess you even have to include the whole sentence.
I don’t know any Japanese at all, but does Satori Reader do things applicable to this situation? …Although, I mean, it’s no use giving individual meanings for parts of German verbs - half the time they have nothing at all to do with the overall meaning.
Yeah, you definitely can’t (in general) just look up words in a dictionary. The whole text needs to be tagged with whatever extra information is needed. If a verb or phrase is split up into multiple parts, then you would tag both parts, probably with the same info, so you can get to it by clicking either part.
Alright, so I’ve translated a short text to see what data format I could put it in… This is definitely getting a bit overwhelming and tedious - I translated twice - into English and Russian, and Russian is some dull candy - every other line is “definite article, doesn’t translate”.
Maybe due to limited resources I should at least do without full-sentence. I don’t know if I’m overoptimistic, but it shouldn’t be unfair because all the words and short phrases seem to add up to the complete meaning, maybe with some puzzling.
So what I’m thinking my data files should look like is tables of 4 columns:
- original word
- more or less literal translation
- group tag
- translation and explanation for the group, at the last word of the group, but in-game available for every word
Maybe there also should be a column with the link to pronunciation. I’m hoping to get away with a file per sentence… Unless I do without pronunciation of texts, but that would be sort of a swindle.
I’m gonna do books next, but I’m actually afraid that this is going to finish up pretty quickly, and I’m kind of confused with the next system that I should do - dialogue. I thought text with lookup would translate easily, but… the thing is that the file structure of translation is complex enough that I wouldn’t want to shove branching trees in there. But I’m also not certain of educational utility of prewritten responses - the whole point of participating in a dialogue in a foreign language is to construct the actual sentences. And I decided from the outset that I’m not going to attempt a multilingual chatbot.
However, if “dialogue” only consists of characters talking at you, there’s not much more to do there than for books… Habitablaba had a bunch of ideas that I haven’t tackled, but they also seem to suggest some kind of chatbot. At this point my mind is working in the direction of just making a bunch of assorted linguistic puzzles, although I feel that I’m missing some kind of inspiring glue to hold it all together… Or maybe puzzles don’t need much to hold them together.
I certainly didn’t mean to imply a chat bot; perhaps I misunderstand the idea in general (and reading through the thread, I think I do misunderstand).
But I do agree with you; puzzles don’t need much to hold them together. If you present the game as a series of puzzles, then all you really need for ‘glue’ is a hub from which the next puzzle may be selected. Or a path with nodes for moving from one puzzle to the next. I think layers will put up with a lot as long as you properly set expectations.
I’ve found that I kind of need to have a dialogue system, and upon some consideration I see a way to combine it with annotated text. But now I’ve kind of got choice paralysis. I’ve been googling around and there’s a bunch of dialogue systems, to the extent that it seems that almost everyone builds their own from scratch. But I’ve also read of the complexity of implementing your own dialogue system… Of course, I can’t expect to get the definitive solution in this thread… I guess Ink looks reasonable, I just have to figure out which of the many options I actually need to download.
Oh, also, the way I imagine this game would work is a sort of first-person adventure. You can check the names of surrounding objects in various languages, read annotated books and participate in annotated dialogues. Possibly there’s linguistic puzzles, but I’m not in a hurry to do those, quite frankly. I want the characters and environments represent peculiarities and stereotypes of the countries where the languages are spoken.
Of course, that’s just the mechanics, and I have very little idea what the books and the dialogues would contain at this point.
I’ve got a conundrum. I thought I could organize my file structure this way: top dialogue folder contains a file with dialogue flow, consisting of names of subfolders which contain the actual text of the dialogue lines and annotations for them in files for each language. So,
-
Dialogue name
-
stucture.ink
-
Line1
-
original.csv
-
ru.csv
-
es.csv
-
Line2
But I see a lot of problems with it. It’ll be hard to write the structure of the dialogue if it consists of “Line1 - Line2”. However, if I name each “line” folder more descriptively, there’s danger of forgetting to update the names of folders when editing the dialogue, and anyway that looks extremely brittle. The only other option I see is writing my own editor extension, which would take care of all that, magically at this point, presumably storing everything in a single json file. But I’ve never done editor scripting before, and this particular project sounds especially complicated.
Any opinions?
So the prospect of an annotation editor seems too intimidating, but I’ve come up with a new idea: a language maze. You navigate a maze by reading clues in different languages, such as, simply, “Go left” or, more complex, “Enter the library”, where the library would be a symbolic decoration of a maze passage. There are a few issues with this, but the more pressing one, in my opinion, is what to do when the player makes a wrong turn? Does the game simply say “Wrong turn”, is there a room with the direction “Go back”, or what?
This idea appeals to me because I don’t want the content to be limited by my productivity - a maze can be generated procedurally, whereas a succession of puzzles depends on my productivity and ingenuity, limiting the content (or at least limiting it much more), that is to say the learning potential.
I learned english by playing video games, it started with simple words like score, game over, etc … then it move to simple intro text, then it got to full blown rpg like chrono trigger, etc …
I think immersion is teh best way to learn a language, you pcik thing faster by going to a native country than learning in school. The immersion give you the intuition while the school give you the formal strength, guess which one I don’t have?