A New Obsession

We say we all know Tetris, but we ignore one crucial part: the goal. If you think about it, it’s not obvious what the goal of Tetris should be.

On my journey as a mother, I am past the stage where I used to feel threatened by Simon’s severe obsessions. By severe obsessions I mean his habit of getting really carried away with one specific thing and spend days on end digging deep into it. I remember once, when he was 7, we even had a very emotional discussion about his “addiction” to the Magformers construction sets: I was afraid he would never get back to his more academic interests (like coming up with math proofs and dipping his toes into machine learning). Today, looking back at those fears I used to have, I realize it was essentially my personal process of deschooling (shifting from a paradigm where only academic, measurable achievements are seen as worthy to a paradigm where I embrace many life experiences as learning opportunities and trust Simon’s choices in what he wants to explore next). Over the years, I have witnessed him spiral back to math and coding on an increasingly higher level, in a beautiful natural dance that has continued to be fun and play.

Simon’s latest obsession is a game called tetr.io, a customizable stacker (Tetris style game). He says he hasn’t yet figured out all the game mechanics, but he has spent a significant amount of time analyzing it and even tried to build a Discord bot that would allow to use the multiplayer version of tetr.io directly from Discord using the built-in Tetris emojis.

You can make Tetris pieces (technical term: “tetrominos”) out of default emojis on any chatting platform, Simon explained. The problem he faced when making the bot was that there were so many characters composing one emoji that it exceeded the number of characters allowed per message. On Discord, an emoji is actually a string of characters (: <emoji name> 🙂 that Discord interprets as an emoji.

200 emojis plus long emoji names was long enough to piss me off!

Simon’s solution was to make custom emojis and give them very short names (like one letter names), but that didn’t work because to use a custom emoji in a Discord bot you actually have to type an even longer amount of characters. He played around and figured out that if he made a message an embed it could have more than 2000 characters per message. That way he could still use the default names.

In the end, the bot still didn’t work though, for some unknown reason.

I think the most likely reason is that Discord has an emoji limit of 199 emojis per message, just one short of how many I needed!

Simon takes over from here:

Back to the goal thing. There are 4 single-player modes in tetr.io, and 1 multiplayer one.

  • 40 Lines: You have to clear 40 rows from the board as fast as possible. I mostly play this mode when I’m by myself, as there’s a speed element to it, similar to speedcubing.
  • Blitz: You have two minutes to get as many points as possible.
  • Zen: When the board fills up, it just gets replaced, and your progress stays. So you can neither win nor lose.
  • Custom: You can make your own game mode.
  • Versus: The one multiplayer mode. This is probably the one I’m most interested in. You have to survive for as long as possible, but, if you do certain things (e.g. clearing more than one line at once), you can send a row of garbage to one of your opponents, However, if the opponent fills the gap in that row, it will get cleared from the board.

Simon found some optimal strategies, mainly usable for the game modes with a reward system (like Blitz where you get points or Versus where you attack the opponent). Here is Simon teaching his friend some tricks:

I learned this trick from a website four.lol

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s