Game Critique: while True: learn()

Kay Qiu
7 min readJan 20, 2024

--

1. Game Metadata

  • Game Name: while True: learn()
  • Developer/Designer: Luden.io
  • Platform: Available on PC(windows, macOS) via Steam
  • High-level Instructional Goal: The game aims to introduce and educate players on the basics of machine learning and programming logic.
  • Game Link: while True: learn() on Steam

2. Educational Goals

The game ‘while True: learn()’ is designed to teach players about machine learning and programming logic through a series of tasks. It aims to make machine learning accessible to learners without a background in the field, focusing on basic algorithm understanding, pattern recognition, and logical reasoning. Furthermore, it seeks to introduce young children to programming concepts and offer programmers an opportunity to learn new concepts applicable to their coding practice.

while True: learn() game interface

As stated by the developer team on the Steam game page, the learning objectives include:

  • Help learners without a machine learning background understand the basics of machine learning algorithms and related technologies work
  • Introduce young children to logical thinking, programming, and technologies
  • Help programmers learn new concepts that they can apply to their coding

However, playing through the game, most of the goals are not met. The learning objectives that are in-fact met if the player plays through the game are:

  • Players recognize patterns in a combination of multiple shapes and colors and conceive a scheme to classify them with filtering components
  • Players recognize and understand the basic concepts of machine learning like ‘supervised learning’ and ML models like ‘decision trees’

3. Game Elements

Macro Loop:

The main gameplay involves solving puzzles that represent machine-learning tasks. The player plays the role of a machine-learning specialist for whom the ultimate goal is to build a cat-to-human translation system to understand his cat. The player solves a series of tasks to move forward in the game. Tasks are categorized into different types.

task tree indicating different task type

Core Loops

In the core loop, players receive feedback on their solutions, encouraging refinement and experimentation. The macro loop involves progressing through increasingly complex puzzles. The majority of the puzzles are classification tasks where the player connects the input stream with nodes (anything among balancer, ML models, expert system, trashcan) and then with output stream(s) to achieve the classification target.

the player receives tasks with reward money

Player Actions

In each task, the players can drag and drop components, connect nodes, and adjust parameters to solve puzzles within a limited budget and time requirements.

Enter Initial Task State: Players start each task with an objective and a set of available resources. This stage involves understanding the problem at hand, analyzing the given tools, and planning an approach within the constraints of the game’s budget and time limits.

initial task state

Interactive Gameplay — Dragging and Connecting: The core of the gameplay involves interactive elements where players drag and drop various components onto the workspace. Players must thoughtfully connect these nodes, creating a flow of input data that goes correctly into the output bins.

dragging components, connecting nodes, moving to the end task state

Submission and Observation: After designing their system, players submit their scheme. This is where the game shifts from active action to observation. Players watch as the input data travels through the nodes and components they’ve arranged, providing a visual representation of how their solution performs in real-time.

observe the input data going through the nodes as the player submits the scheme

Feedback and Reflection: Post-submission, the game offers feedback on the player’s solution. This feedback highlights both the time spent, node used and accuracy rate of the player’s scheme. Players are encouraged to reflect on this feedback, understand where they might have gone wrong, and re-edit the scheme if necessary.

the player gets feedback after each submission
example: testing a decision-tree scheme

The game’s learning process is iterative. Players often need to go through several cycles of designing, submitting, observing, and receiving feedback to complete a task.

Between tasks, the game provides “Side Reading” materials. These readings offer additional information and context about machine learning concepts, theories, and real-world applications. This feature is supposed to help bridge the gap between the game’s simplified tasks and more complex real-world machine-learning problems.

side reading between tasks to aid understanding

The inclusion of a shop adds another layer to the game’s strategy. Here, players can use the in-game currency earned from completing tasks to purchase hardware upgrades. These upgrades enhance the functionality of the components used during tasks, allowing for more efficient or complex solutions. Additionally, the shop offers skins and other aesthetic items, adding a personal touch to the gameplay experience.

in-game shop for enhanced gameplay

Player Experience

At first glance, “while True: learn()” is engaging and thought-provoking. The puzzles are fun yet challenging, occasionally leading to confusion due to unclear task explanations, such as the absence of a tracking mechanism for transmission speed in designs.

The learning mechanism primarily involves pattern recognition, aligning with active learning principles. Scaffolded learning is effectively employed, gradually introducing complex concepts. However, this approach, while supporting foundational learning, might not suffice for advanced learners seeking solid technical knowledge.

A notable issue is the game’s oversimplification of real-world machine-learning tasks, reducing them to mere shape and color classifications without clear real-world analogies. This simplification, while making the game accessible, can lead to frustration and confusion, as players sometimes succeed by chance rather than understanding, diminishing the effectiveness of the learning experience.

4. Learning Mechanisms

The game primarily utilizes pattern recognition as its learning mechanisms. It encourages players to experiment and learn from trial and error, which aligns well with the principles of active learning.

Learning Science Principles

  1. Scaffolded Learning: The game applies the principle of “scaffolded learning” by gradually introducing more complex concepts. This supports the educational goal of building a foundational understanding of machine learning. Channeling(Wood et al., 1976) is effectively used in the game to simplify tasks. By reducing the number of actions required to reach a solution, the game makes complex schemes to solve a task more accessible. This method of scaffolding allows players to focus on the manageable parts of a task while the game assists with the more challenging aspects.
  2. Multi-Media Principle: The game combines text, visuals, and interactive elements, adhering to the multi-media principle of learning. This integration of different types of media caters to various learning styles and helps in keeping players engaged and motivated.
  3. Feedback: Feedback is provided immediately after each task attempt. This instant feedback is crucial for learning, as it allows players to quickly understand the consequences of their actions and adjust their strategies accordingly.
  4. Blocked Practice: The game employs blocked practice, where players repeatedly work on similar tasks or concepts before moving on to different ones. This repetition helps in solidifying the understanding of each concept before new ones are introduced.

Support or Hindrance

The approach supports learning by allowing players to internalize concepts at their own pace, though it may not provide deep technical knowledge for advanced learners.

introduction to new component — MARK-1 perceptron

The game simplifies all real-world ML tasks into the classification of shapes and colors without an explanation of how those shapes/colors map to the real-world problem.

in this task, I experienced frustration as I didn’t understand where to click

It’s confusing from time to time since after each task is completed, whether the player succeeds or fails, there is not enough feedback on what the player did right or wrong. Sometimes the player just succeeds out of random guesses and that is not effective for learning.

5. Overall Critique

The game “while True: learn()” is an admirable attempt at demystifying a complex subject through interactive gameplay. It excels in getting beginners exposed to some machine learning-related jargon like ‘decision tree’ and ‘supervised learning’ though its scope remains limited for those seeking in-depth knowledge. The game’s strength lies in its ability to present core concepts in a fun, interactive manner, encouraging the player to explore more on their own time outside of the game.

However, it’s important to manage expectations. Despite its educational veneer, the game, with its overly simplified game loop, falls short in certain aspects:

  • It doesn’t teach new coding concepts or enhance coding skills.
  • It doesn’t delve deep into machine learning, neural networks, big data, and AI and how they work in the real world.

In short, the learning happening in “while True: learn()” is indirect, more about sparking interest than comprehensive education. On the upside, the game serves as a starting point for learning about machine learning and AI and can teach logical thinking skills akin to other puzzle games. Its fun factor is undeniable, and it may motivate further self-driven learning, especially through its “further read” links.

In essence, “while True: learn()” teaches machine learning more as an introductory, enjoyable foray into a complex field, and the tasks in the game are more like a puzzle on its own, far from the machine learning operations in real life.

Reference

Wood, D., Bruner, J.S. and Ross, G. (1976), THE ROLE OF TUTORING IN PROBLEM SOLVING. Journal of Child Psychology and Psychiatry, 17: 89–100. https://doi.org/10.1111/j.1469-7610.1976.tb00381.x

Luden.io. (2019). while True: learn(). Steam. Retrieved January 19, 2024, from https://store.steampowered.com/app/619150/while_True_learn/

--

--