Language Learning VS Acquisition Summary
Firstly, what is language acquisition? The idea behind it is that you do not learn the rules (grammar), vocabulary, etc. of the language (language learning). Instead, you acquire it the same way children or babies do (language acquisition). But how do babies learn the language? By being immersed in it. We start not understanding a single word, but after some time, given their context, we can figure it out. The more words we acquire, the more we can derive through what we already know. Supposedly we do not obtain through repetition as many apps do it. (for example Duolingo) [1]
My Approach To Such An App
For maximum immersion, throwing the player into a fictional world instead of asking questions about language makes more sense. The goal is to create a virtual environment tailored to obtaining it similar to acquiring it by living abroad. This virtual world most likely needs the player to navigate it, which means we have to teach the user words that describe these actions. (right, left, up, down, north, east, west, south, jump, etc...)
Like in real life, the player can be asked to complete quests. Starting with simple ones such as: Bring this orange to the fruit store to the right or bring this sword to the northern guard. Whether the words "right" and "northern" are marked, is a question of difficulty I would say. The idea of these quests is to teach the user the meaning of those words. Important is ensuring that the possible mistakes the player makes are limited. They might not notice subtle hints, and we don't want them to get frustrated. Naming the store of the orange quest "store" is a positive example of this. On the other hand, the sword fetching quest is going to be frustrating, since the player might not know what north, sword or guard is.
From there on out, it pretty much builds on top of each other. Slowly teaching the player vocabulary and later on grammar through context. For example, let's assume the player learns German. They already know the word "springen" (engl.: jump). Putting NPCs that react to him with "Du springst" (engl.: "You jump"), then they get subtle clues to what "du" (engl.: you) could mean. If some children say: "Wir springen" (engl.: "We jump"), and they do it, we get more clues about pronouns. This may not even be the best approach, but you can see what I'm aiming at here.
Like in real life, the player can be asked to complete quests. Starting with simple ones such as: Bring this orange to the fruit store to the right or bring this sword to the northern guard. Whether the words "right" and "northern" are marked, is a question of difficulty I would say. The idea of these quests is to teach the user the meaning of those words. Important is ensuring that the possible mistakes the player makes are limited. They might not notice subtle hints, and we don't want them to get frustrated. Naming the store of the orange quest "store" is a positive example of this. On the other hand, the sword fetching quest is going to be frustrating, since the player might not know what north, sword or guard is.
From there on out, it pretty much builds on top of each other. Slowly teaching the player vocabulary and later on grammar through context. For example, let's assume the player learns German. They already know the word "springen" (engl.: jump). Putting NPCs that react to him with "Du springst" (engl.: "You jump"), then they get subtle clues to what "du" (engl.: you) could mean. If some children say: "Wir springen" (engl.: "We jump"), and they do it, we get more clues about pronouns. This may not even be the best approach, but you can see what I'm aiming at here.
Conclusion
So, as you can see, if this approach does indeed work, it might be possible to create a fully immersive game, which supports you on your way to acquire- instead of learning a language. Done through reading and hearing, and interacting with the world and its speech.
However, this is just my thoughts on it. Whether or not it works needs to be put to the test, and maybe this post sparks a conversation between people who develop language learning applications.
[1] https://www.youtube.com/watch?v=illApgaLgGA