MAZE

So, do you think you know if-else?

Ham Siripanichgon
7 min readMar 3, 2021

Hello again! This is my second one of the 6 educational game critique series blog posts! This time I pick an educational game that’s a little bit more challenging than last time. This game is called Maze from Blocky Games. I believe it’s built for anyone who have no or little basic programming background — could be children age 6–8 years, high school students, or people at any age who are at the beginning phase of learning about programming. It’s free to play and you can play in on the browser. The high-level instructional goal for this game is to build a series of commands so that you can move your character from the start point to the final destination through the maze (it’s actually…not a maze though.)

Learning Objectives:

Maze’s learning objective is to help you develop the logical idea of the for-loop and if-else command in programming. Since you will be presented with the maze map, apparently you will know exactly how to get out of the maze, but the challenging point is how do you translate the way-out route you see into the logical coding format? Maze really teaches you how to transform your basic ideas into written form logically related to for-loop and if-else programming commands to solve the logic behind moving. It also helps players familiarize themselves with the programming world since no programming background players can also play this game without any prior knowledge required.

(P.S. Maze is just one of Block Games’ educational coding games. If you would like to see other games from this developer for additional programming skills, please check out Blocky Games Website — They have 8 games in total.)

Picture 1. Overall Game Interface

Game Elements:

This game is straightforward (but not easy!) like the other bot programming games. You will build up the move commands from the jigsaw-like blocks provided. There are 3 types of blocks of their colors that can be differentiated. Purple is a move command (move forward, turn left, turn right), green is a loop, and blue is if or if-else. Players will drag these blocks from the pool to the right-hand side area to build up the complete moving codes. Once you finish, you can test whether your command codes successfully move your character from the start to the destination or not by clicking “Run Program” button, then you will see the result display on the maze map on the left-hand side. You will see the character move, and the corresponding command block will be highlighted synchronously along with your character’s move.

One special thing that I think the game designer did really well is the signal when the character checks the if-else command. They will display the wave signal symbol (like the wi-fi signal symbol) next to the direction that the if-else command is performing. For example, if the if-else command is checking whether there is a path open on the left or not, there will be a wave signal symbol appearing on the left-hand side of your character to illustrate that it’s checking your if-else logic.

Picture 2. Next to the character, you will notice that there is a signal wave appearing on the left-hand side of the character, showing that the program is checking the if-else logic if there is a path on the left or not. This map looks differently because there are 2 additional themes you can select: astronaut or panda.

There are 10 different levels and the difficulty keeps increasing at each level. Level 1 is very simple — you move your character from left to right. So, it is very friendly for no programming background players. The challenge will kick in once you have to start using the combination between the for-loop and the if-else. Maze did a great job at giving a hint on how many blocks you have left to build in each stage. In other similar games (e.g., Run Marco), there is no limit on how many command pieces you can use, so you have no idea how many blocks you actually have to build and might get lost easily. In addition, in Maze, you would feel more challenged because you have limited resources to work on. Players with a good basic of programming should be able to complete the first 9 stages within 30 minutes. However, the last stage is for the advanced programmers, and it’s quite extremely hard for normal people to figure it out. It took me additional 30 minutes for the first time to complete. Even I took a 6-hour break for the second playtest, it still took me 20 minutes to figure out the correct codes (which I believe is different from the previous one that I made.)

For player’s experience, I think Maze kept me engaged and entertained throughout the playtest. Since it only has 10 stages and you move between stages pretty quickly once you’re comfortable with the for-loop and if-else commands, I feel like I would like to finish all stages in one go. The last stage has a warning pop-up window notifying that it’s for advanced programmers, and once you spend too much time on it, after 10 minutes I believe, there will be another pop-up window asking you to skip this stage to try other games. However, I feel motivated by knowing that this one is for “advanced programmers” so I would like to beat it. Not to mention that every time your panda character fall out of the maze, there will be a funny falling sound that made me would like to beat this game so much. In the end, after countless iterations of my hard trying, I realized the logic of moving once I started to notice the feedback the game gave during running the codes, which I will explain later in the next section. When looking closer at the emotions emerging during the playtest, I think it’s a mixed flavor between getting more confidence at each progressing level, getting a little bit frustrated when you failed, and more curiosity about how to solve the more complex moves.

Learning Science Principles:

I think the most obvious one we see here is the Scaffolding principle. Even though the learning objective is to teach you about the for-loop and if-else programming, the first stage is just to familiarize you with how the programming works, so there is no if-else requirement at the early stages — just moving forward and turning. Then, the game introduces you to the for-loop, and then the combination of for-loop with if command, and ultimately the if-else. The later stages require for-loop and if-else knowledge from the previous stages in order to successfully complete it.

Picture 3. The example of block answers in order of difficulties from easy to hard.

Another principle that I think is less obvious here but still applies a certain level of it is Immediate Feedback Timing. As I mentioned earlier, I stuck at the last stage for so long until I realized that every time the program runs the codes (building blocks) and the character moves, it highlights which block is associated with that move. Also, the if-else part, which is intangible hard to display and comprehend, is manifested through the signal wave symbol next to the character. With these inputs, I was finally able to complete the last stage because I noticed and learned from the highlighted block and the if-else signal display once my character failed by falling out of the maze or stuck in the maze forever. Even though these elements are not exactly the same as the immediate feedback timing principle since it didn’t explicitly provide the feedback on the errors that I made, I think the immediate feedback timing is the closest one among 30 interactive principles.

Picture 4. Display of highlighting command and signal wave symbol when program is checking if-else.

Lastly, the game also pops up the window showing the real coding after you complete each stage. I think this one is similar to the Linking principle since it tries to highlight the connection between the building blocks and the actual codes. However, to be honest, I don’t think it helps in learning at all since I, as a player, just skimmed through it and click OK.

Picture 5 Building blocks and their actual programming codes.

Overall Critique

My take on this is Maze’s game interface might not look amazing in terms of aesthetic, however, the minimal design is what makes this game answer its learning objectives. As I mentioned, I tried another version of this type of game with lovely characters and 30+ stages to go through and it’s so boring because you keep iterating the same difficulty level for 5+ stages (that game keeps asking me to do the boring forward moving.) The design of Maze resonates with what I learned in Design Educational Games class this week about the curse of chocolate-covered broccoli. I believe Maze is doing the right thing just to offer a minimal-style of 10 stages with the extremely-difficult-for-beginner at the last stage. The learning objective really ties in tightly with the core gameplay loop (a.k.a. common mechanics.) since every time you drag the building block to connect to another you actually have to always think about the logic of for-loop and if-else behind. So, I would give this 4.75/5! The 0.25 reduction is for the maze map visual looking a little bit outdated, and it might turn people off at the start.

One interesting thing to mention is that after I played this game if you ask me to go through this game all over again, I might end up struggling to figure out what is the right building block to build at the final stage. However, I’m quite confident that I will finally be able to finish it by spending some amount of time. So, my point is I’m not sure whether I’ve successfully learned the for-loop/if-else or not…I guess I did though…

--

--

Ham Siripanichgon
Ham Siripanichgon

Written by Ham Siripanichgon

0 Followers

MBA Candidate at Carnegie Mellon University — Tepper School of Business

No responses yet