The game I decided to play this week is called “while True: learn()” which is a puzzle/simulation game. The game is developed by luden.io and is available on multiple platforms such as PC (steam), mobile (iOS & android) and on console (PS4 & Nintendo Switch).
The game is not free and costs money. It was cheapest on iOS at $4.99 so I chose to play the game on my iPhone. The high level instructional goal of the game is to teach how machine learning works in real life through visual programming.
The apparent learning objective of the game is to learn how machine learning works by building systems using visual programming. As a result, some potential necessary prior knowledge about computer hardware and maybe network stuff such as nodes and also drag and drop or visual programming might be useful
From my experience, I’ve used Gamemaker Studio 2 to develop games before and Gamemaker offers a drag and drop programming option which I’ve used before. As this game also used that visual approach instead of text-based programming, I definitely felt there was transfer of knowledge as it was easy for me to understand what I was doing in the game.
The lack of text-based programming makes this game perfect for beginners of all knowledge levels.
By using visual programming to build machine learning systems in the game step by step through segmented tasks, I learnt about the importance of increasing accuracy in machine learning models, reducing error and being wary of resources consumed to build an efficient model as well as reduce costs associated with hosting machine learning models on the cloud.
As the game tries to teach you about how machine learning works through visual programming, there is a lot of drag and drop controls involved in building your machine learning system on the game.
The game mechanics on mobile was all touch screen which is perfect for visual programming. All actions required can be completed by touching the screen which made it really convenient to play as well as follow along the instructional content as I wasn’t distracted by memorizing various buttons for various controls like I would on a console game.
As a result I thought the mechanics and dynamics of this game go perfectly hand in hand to offer a user friendly experience that also facilitates easy learning.
Overall goal of the game is to get you to build a cat speech interpreter using machine learning so the protagonist of the game can communicate with the intelligent cat. They build this initial story at the start of the game to give us a real world perspective on building machine learning solutions.
There is a task tree which keeps track of tasks that you have to complete to progress through the game. In the task tree you can see that the instructional content required to understand machine learning is broken down in the task tree and starts with introductory concepts and progresses to more advanced concepts over time. This can be related to the cognitive load theory where instructional content is integrated into the game in a stepwise manner.
The game also tracks achievements and progress and rewards you with medals and in game currency to buy nodes and computer hardware later as you build more complicated, resource intensive systems. This kept me engaged in the game and sparked motivation to continue progressing as I felt I was learning as well as enjoying the game simultaneously
Resources are limited per task to challenge you as well as understand the current hardware constraints in the real world so I like the connection to reality in this game. This was another reason why I think I was truly learning something during the game.
Overall, Playing this game was interesting. I could see how the game was building up to the overall concept of machine learning step by step. Learning machine learning by building an actual application through segmented tasks in a game gave me a new perspective of this subject that I am learning in a traditional way in a university course.
The game employs Scaffolding to structure the content modularly. Players build upon prior concepts when introduced to new concepts in the subsequent tasks in the task tree, and build towards the higher goal which is building a real machine learning application such as the cat speech interpreter.
Another learning principle I noticed is Spacing. Machine learning is a complex and in-depth topic which can’t be learnt within a day. You can technically progress through the game within a day but the game allows you to leave some time in between play sessions. There is also access to traditional educational content for you to explore before returning back to the game. This delayed reexposure can be very effective in learning this complex new material.
The game also used Guided attention to provide explicit instructions as needed to help the player anticipate where they should focus their attention. The game would darken everything on the screen except the text description which was close to the visual element it described The text description also had an image of a cat pointing towards the visual element which was also highlighted.
Since the game is visual, Incorporating multimedia to be able to visualize the underlying processes of machine learning helped ease my understanding of the topic compared to reading lecture notes or code snippets.
In conclusion, while True: learn() succeeds as an educational as well as a regular game I guess. The learning content is integrated well into the game and structured modularly to build towards the bigger objective of the game (build a real world machine learning application). The mechanics and dynamics are user friendly and the game didn’t have any bugs so it was easy to process the information while also enjoying the game.
The game incorporated multiple learning principles which I believe were appropriate in this context of teaching machine earning through visual programming. However, to retain the information I just learnt, I have to return back to the game regularly and make consistent progress which I think is possible as I enjoyed the game and also learned a thing or two about machine learning.