23 February 2019

Representing the Leveling of Language Comprehension

Sometimes you have this idea of making a game where the player levels things by practicing it. Sometimes you have this idea of actually making the player learn a language. While letting my mind wander and discussions the idea of having a game where you have to practice stuff to improve your level in them and your stats but you lose levels and stats at a set time I came across this other topic.

When We Learn Language

The first thing we learn when getting to a new language is the first words and sentences. Basic words and basic sentences at that. But, we have to go back a step. It would be boring this way and we probably don't want out language from the game to share the same alphabet or symbols as the Latin ones. The Latin alphabet we use is basically just symbols that are given some meaning to. Basically, we assign them the information on how to pronounce them and in which order they come (A-Z). We can even give them a value like in the ASCII code. It's the same with the greek alphabet where we additionally have the meaning of "the end" given to Ω (Omega). Another interesting aspect is that the size of the symbols can matter too. In Japanese for example characters that are written half the size are pronounced differently. This means that different attributes of the symbols can create different meanings as well.

Learning a Foreign Writing

So, when we learn foreign writing we have to understand the difference between these symbols. To someone new, the symbols don't mean anything at all. They look different but in our minds, we see all those symbols as equal. This is often just the first impression but in the end, it could represent the first level: level 0.

Given a sentence, we could represent this as:
Level 0: ???? ????? ??? ????

Next up we start to realize they're different symbols. So let's represent them as they are written as a message in this foreign language:

Level 1: 3k?Q "$k3e )dk ยง%s1

If we continue reading we might make things out that represent punctuation. With this, we can split the text into sentences.

Level 2: 3k?, "$k3e )dk ยง%s.

In the next step, we understand how to pronounce these symbols. In the Japanese language, for example, this is where we understand there is a romaji for each symbol. We've now reached level 2 and we're able to read the text.

Level 3: frd, isrfp lor shubrong.

Next up we start to understand the mechanics that make equal symbols mean different things. Like how a "k3" is read as "aa" but a "3k" as an "ar". You can make up any rules you want for this. The more rules, the more difficult to understand. Some mechanics you can use here could be, different meaning at the beginning or end or when following a certain symbol, etc..

Level 4: ard, isaap lor shubrog.

Level 4 and we can already read it. Hooray! Now we need to be able to understand it. With this next step, there are multiple ways to do it. One way would be to use transliteration for the symbols. Another way is to translate word for word. Here the Zipf law should be used.

Translating Words...

Small Excourse Zipf Law:

To keep it short, Zipf Law says that the second most used words appear half as often as the most used word. The third most half as often as the second most etc.. This has been proven to work more or less well and hence you can use this here too.

This means now we can translate simple and often used words. You can use Wolfram Alpha to look this up for example. From here on out you can decide on how many steps you want to put in. With the slowest being one word per level. For an extra level, you can categorize words together. Like "why, how, where, when" could be the same as "why".

Level 5: they, isaap lor shubrog.
Level 6: they, isaap why shubrog.
Level 7: they, hello why shubrog.
Level 8: they, hello why is.

Transliteration of Symbols...

The other way would be via transliteration. If we say we now understand how to represent those foreign symbols with our symbols we can slowly get to the language we understand. This requires the foreign language to share traits though. In our example, both languages use consonants and vocals.

Level 5: tra, fanre bex paah.

Next up we have tried to scramble the consonants and vocals to fit it more. Let's say we fit a combination where the same character is the same.

Level 6: tra, barre xbz paah.

Now let's try around with consonants and vocals until we get something similar to a caesar shift. Similar because we stay in our groups when doing the shifting. That means the letter before a "j" is not an "i" but an "h". The letter before an "o" is not a "p" but an "i". A middle step could be for example:
  • Shifted too low, correct, shifted too high, ...: rhi, gemko xgy caep.
Level 7: rga gakki vgx zaam.
Level 8: she, hello why been.

Grammar

Now we have a very similar message in both cases. I changed the meaning a little so it would better match the respective procedure. This is now a sentence out of familiar words. Now we need to make finding the correct meaning and apply grammar to it.

There are two ways to do this, either grammar first or correct words first. I do think applying grammar is a more natural way.

Grammar first:
Level 9: Hello, why she been?
Words first:
Level 9: you, hello how are.

Step 10, apply the other one.

Level 10: Hello, how are you?

Finish 'Em

Yeah and that concludes some ways to scale language understanding in levels from zero to ten. These are just a few ways to do it there are many more. Actually, if you're a game designer or writer go and do the following homework. Read up on different languages (No, you don't need to learn them) and learn what's unique about them. You wanna take a look at grammar, reading and/or writing and get inspired. It doesn't even have to be a real language.





Liked the post? Noticed an error? Wanna discuss the content or leave a comment*? You can join or check into the discord to do so! (*Note: Comments are disabled to avoid saving user data on this website.)
>> Join Discord

About Me

My photo
I'm a junior game developer and software developer and I created this blog to share my ideas, thoughts and whatever I'm working on or doing.