16 October 2020

Among Us For Language Learning?

Some time ago, I wrote a blog post about language acquisition and games. Instead of making a game now, let's use an existing one. And what better game than the currently popular "Among Us"?
Other games do work as well, though. ("Keep Talking And Nobody Explodes")

Why Among Us?

AmongUsSkeldMapGerman
Among Us Skeld Map With Translation
~ by GreenyNeko
So, why specifically Among Us? Despite its fantasy setting, some of the vocabularies are practical outside of the game as well. Compared to other games, players need to describe the situation as detailed as possible while the imposters try to manipulate information believably. On top of that, the game encourages communication, specifically via voice. The fun and popularity play a role in this choice too.



Language Acquisition-Learning Hypothesis

Summarizing the Acquisition-Learning Hypothesis, we learn a language through comprehensible input. In the game, intelligible communication is fundamental to win the game. Whether or not you're an imposter or crewmate. Being unable to get your point across is sus. In this scenario, language production goes hand in hand with comprehensible input. The talker is the teacher, and the listener is the student. The game's context helps to make messages intelligible. Even with limited language understanding, your game's knowledge helps comprehension expanding your proficiency by filling the gaps.

How To Get Started?

Technically you can jump right in and figure things out, but you might lose the first few rounds. Alternatively, you can acquire a language by watching other people play. Similar to how kids don't talk at first.
AmongUsGermanAcquisitionComic
Among Us German Acquisition Comic
~ by GreenyNeko
Possible ways to learn the game's vocabulary would be
  • listen to Youtubers play "Among Us" in the target tongue (preferably with subtitles)
  • change the game's language to the target language (if applicable)
  • translate the game and most relevant vocabulary
  • lookup a list of the words
Now gather learners of the target language and a few natives. Among Us requires 4-10 players, but you know the saying the more, the merrier. Lastly, try to only speak in the target language, even if you only use single words. (report, blue imposter, etc.)

Off You Go!

Continuing to play this way will steadily improve your understanding through active listening and thinking. It isn't limited to this game but feels like it's a better one. Good luck with your language learning journey.

Have I mentioned this Among Us research I have going on?
It only takes 10-20 or 30-40 minutes!
>> Click to check it out!


06 October 2020

Among Us - Can You Find A Venting Imposter On Mira HQ?

Not every research has success, and I used not to post those. Combined with the limited time, having to learn for exams, I didn't write any. Thus, I'll start posting failed research as well. Since you can learn from fails too.


Hypothesis

amongUsMiraHQMap
Screenshot of Mira HQ on Among Us Mobile
With the "Y"-Tunnel circled and the door
log marked ~ By GreenyNeko


Mira HQ is a map in Among Us, that is famous for its Y-shaped-tunnel. Each exit of the tunnel has a sensor, triggering a log when a player passes it, but not when venting. As such, you can't read the imposter from the door logs should be possible. To prove this, we'll look at the Crewmates' sensor combinations and compare them to the possible Imposter combinations. Another question is if the imposter can counter this. But first, we'll organize the information in a useful way. Therefore removing unnecessary details and keeping the relevant (sensors, Crewmate/vent pathing, cardinal areas).


miraHQSimplifiedPathingMap
Ill. 1: Crewmate/Vent Pathing in
Mira HQ
~by GreenyNeko

Simplification

We take the MIRA HQ map and draw in the paths between rooms, between vents, and the sensors. (see Ill. 1) However, we still have more information than needed. We only care about the sensors, so we reduce the paths to the north, south-west, and south-east. The result shows how players will trigger the sensors. (see. Ill. 2) From here on out, I will label south-west as west and south-east as east.


miraHQRelevantVentAndCrewPathing
Ill. 2: Log Relevant Crewmate/Vent
 Pathingof Mira HQ 
~by GreenyNeko


Crewmember Logs

Given the nodes on the crewmate path (shown in green), they can be west, east, north, or in the tunnel. Additionally, triggering sensors puts it on cooldown for the player. Thus doubling back causes only a single log, not two.


So, we get these combinations:

  • WN - The player went from west to north or is in the tunnel.
  • WE - The player went from west to east or is in the tunnel.
  • NW - The player went from north to west or is in the tunnel.
  • NE - The player went from north to east or is in the tunnel.
  • EW - The player went from east to west or is in the tunnel.
  • EN - The player went from east to north or is in the tunnel.
  • N - The player is in the north, or the tunnel. (NN, NNN... N+)
  • S - The player is in the south, or the tunnel. (SS, SSS... S+)
  • W - The player is in the tunnel or the west. (WW, WWW... W+)

We read NWE as:

  • The player went from north to west, doubled back, and went east.

Doubling back makes the logs ambiguous. Thus, we can't tell the player's exact position or path.

We read NWWE as:

  • The player went from north to west and then from west to east.
  • The player went from north to west, doubled back multiple times, and went to the east.


Imposter Logs

The imposter can use the pink and green paths. Ergo, all combinations we found so far count here too, as well as the ambiguity. But if you think a person vented, you can check the logs. Seeing an imposter in the west, but there is no recent combination of SW/NW, and they appear in the log, they vented. Unsuccessful research? We just solved it! Well, you can't tell the difference if the imposter vented and then double backed on the sensor at the target location. Especially since doubling back is not uncommon on sensors.


Conclusion

Since both imposters and crewmates produce the same log combinations, and imposters can hide venting through doubling back. Reading who vented isn't reliably with a good imposter.

I have planned two more blog posts on Among Us, and if you're interested, I got some research going on. It takes 30-40 minutes to complete.

>> To the research

18 August 2020

8bit And 16bit Color Palettes

It took me quite a while to understand how 8bit and 16bit palettes work.

To spare you the search, I've decided to write this guide.


Motivation

Creating authentic 8bit and 16bit graphics requires understanding palettes. There are programs and algorithms, which transform your images into 8- or 16bit. Since algorithms cannot guess the intention behind the color choice and miss the context, creating them yourself is more flexible and results in higher quality. It also prevents the loss of details due to quantization. Additionally, to some, pixel-art is about control, and creating the palette gives such.


8Bit Graphics

During the era of the Nintendo Entertainment System, the technology worked with 8bit. Therefore the color of a pixel is represented by eight ones or zeroes. Today a pixel carries up to 32. You might be familiar with the red, green, and blue or RGB, where we split a color into three components. However, dividing 8bits into three colors is ambiguous. That's why there are formats for palettes. RGB332 is the most common for 8bit. It means we assign 3 bits to each red and green, and two bits to blue. A lighter orange would be 111 100 01, which would be 7 for red, 4 for green, and 1 for blue. That's nearly 0, so almost black.

comparisonBlackAndOrange
Comparing the colors.
Left: Black; Right: Our Orange


What Is A Palette

Better idea: We map each RGB value onto a level. 

For example, let's map the following blue levels:

00 -> 0

01 -> 79

10 -> 155

11 -> 255

The color levels (right-hand side) the bits map to is our palette. Back then, hardware limited us to use one palette for all drawn on the screen at the same time. Years later, the Super Nintendo Entertainment System was released. Powered by 16bit, our capabilities increased immensely! A typical format for 16bit is RGB565. Today we use 24bit ("true-color") and the RGB888 format. Some formats use RGBA, followed by four numbers, where A (="alpha") stands for the transparency.

Side note: The sum of the numbers does not need to add up to the number of available bits. Ergo RGB333 is a valid format for 16bits.


Creating A Palette From Colors

Using preexisting colors to create a palette takes three steps. First, choose a format. Then add them to your palette.

Let's use the following colors for an 8bit palette of the format RGB332:


Red
Green
Blue
Black   
000
Color 2
212211198
White  
255255255
Color 4
248216198
Color 5
248197198
Color 6
232173159
Color 7
979943
Color 8
11723473

The format gives us 3 bits for red and green and 2 bits for blue. The formula for the number of representable levels is 2bits. That is enough for 23 = 8 levels of red and green each and 22 = 4 levels of blue. However, our colors have six unique levels of blue (0, 43, 73, 159, 198, 255). Therefore we can't represent all eight colors.


Quantization

Quantization, the third step, will help us here. For this one, we'll merge close color levels.

Our two colors:

248 red, 216 green, 198 blue            232 red, 173 green, 159 blue

will then (for example) become:

248 red, 216 green, 198 blue            232 red, 173 green, 198 blue

By choosing a good looking and distinguishable color level, we can optimize this better than an algorithm. Then we continue adding all needed colors and quantify them to our palette. Now with our palette created, we can color the pixel art.


Tips And Tricks

Reminder: In 8bit and 16bit video games, everything on-screen at the same time uses one palette. Therefore use the same palette for all associated sprites.

The difference between darker colors is harder to notice. Thus use less dark color levels.


Examples


senkoPixelArt16Bit
Senko Pixel Art, 16Bit Palette (RGB565)
 drawn by GreenyNeko

This pixel art of Senko uses an RGB565 palette with the following color levels:

Color1234567891011121314151617...32
Red097126155174197205212222227232248----

Green04654608399106163173188197207211216224234255...-
Blue0434860738893101118159175198236255--



Notice that there's still space in the palette marked by the "-"s.

Senko Pixel Art, 8Bit Palette (RGB332)
drawn by GreenyNeko


This one uses an RGB332 palette with the following color levels:

Color12345678
Red097126155174197212248
Green4683106156173197216234
Blue43106175198


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.