The game I played for this critique is Maze and it is developed by Blockly Games. It is available on browser only. The high level instructional goals of this game is to improve your bot programming skills.
Here is a link to the game.
The apparent learning objectives of this game are to improve your programming skills in loops and conditionals through puzzle solving skills with Bot programming. Some prerequisite knowledge may be required such as code structure, understanding of conditional statements like if, if/else and also loops such as the while() loop and nested loops.
There are 10 puzzle-like levels in Maze and in each level the player has to code the character to reach the final destination on the map. As a browser game the mechanics are basic drag and drop where players have to drag and drop code blocks with individual functions such as moveForward(); or turnLeft(); to create an end to end program to get the character to its destination.
There is a big whitespace layout where you can arrange to blocks to run sequentially. You can customize the game environment design according to your liking. There are three options: space theme, jungle theme, and a regular map theme.
There were no explicit instructions provided but you can visually see that the code blocks resemble puzzle pieces and are supposed to be fit together. When you bring them closer to each other they are highlighted in orange and stick to each other like magnets so you understand that they are forming a relationship.
The levels increase in order of difficulty. The first few rounds are very easy and took minimal time to complete as I only had to use individual functions. There were also no constraints with respect to how many code blocks you can use to achieve the objective. This is because the the maze isn’t fully developed.
As the levels progress the maze develops more and so even your program gets optimized to reach different destinations. Once new concepts were introduced as the levels progressed it got a little complicated. By constraining the amount of blocks in the higher levels, the game challenges you to complete the program in few amount of lines as possible which is good for efficiency so solving it also got more satisfying for me.
It definitely takes you a couple tries for some levels but I was still able to figure it out as you can visually see how your program is running and can debug your code accordingly. I really liked this feature about the game.
I could not complete the final level which according to the game is for advanced programmers. I wish there was a way to see the solved solutions with an in-depth explantion so I know how to solve it.
One important learning principle that I think is relevant to the game is Feedback. As you have to run your program to get the character to the final destination, getting realtime feedback through the visual map was very helpful in debugging my code. Anytime the character went a way I didn’t want it to go, I could look at the code at that particular instant and change it to another function and test it again.
In addition to feedback another relevant learning principle is Guided Attention. As I mentioned earlier, the game does not provide an explicit instruction page. However, it does use guided attention to direct the players towards the right areas. I do think there is a bit of a delay however so if it popped up instantly without a 2 or 3 second delay it might be better.
Another relevant principle is Spacing. The game encourages players to take a break and try some other games available on their website and return back later if you are stuck in a level and have been trying to solve it for a while. Although I think it could have been implemented in a better way by providing incentives for returning back to the game.
In conclusion, I think Maze succeeds as both a game and as a learning experience. I enjoyed solving the levels in the game and there was a bit of a learning curve as the levels got complicated and you had to use nested loops. The realtime feedback helped me debug my program and understand my mistakes.
There are definitely some flaws in the game such as the lack of solved solutions and start up instructions. You are just presented a whitespace with codeblocks and expected to navigate the game by yourself. Until a guided attention pop up appears after a few second delay. So I think if these features were improved on, the game may be better. But it doesn’t severely detract from the gaming or learning experience.