The premise of while True: learn() is one of the most bizarre in recent memory. A man with a programming cat is hardly an obvious choice of narrative for an educational simulation puzzle game. The team at Luden.io has managed to craft an engaging and highly informative experience that is neatly tied together through the unusual plot.
The nameless protagonist of while True: learn() is a machine learning specialist who earns a living through visual programming. One day, he finds that his pet cat has been debugging his programs. To find out how, the protagonist takes to the internet to learn how to create a program that allows him to understand his cat’s speech. The player works their way through a task tree for the story’s main path, alongside optional side quests that reinforce learning introduced throughout the critical path.
A muted colour palette dominates the 2D stylings of while True: learn(), which evokes the atmosphere of a programmer working alone in a dark room. Bright colours are selectively used to highlight puzzle objectives. The game has two main screens—the first of which acts as the job selection area where the player can browse available work and purchase hardware and costumes for their cat. Once a task has been selected, the player is taken to the visual programming screen to solve the puzzle and complete the level.
Puzzles are the focus of while True: learn() and become progressively more difficult without ever making the player feel incompetent. In the puzzles, information must be sorted from one side of the screen to the other using established rules to arrange the nodes. Each node is introduced seamlessly through the main story to ensure the player understands why and how they are used. Once a puzzle has been solved, the ‘scheme’ is saved as a custom node to be used in later levels. The simple drag and drop mechanic of the base and custom nodes makes the game accessible to new players.
Every puzzle offers a medal rating upon completion based on its time and accuracy requirements. This medal rating system works well to encourage the player to find the most efficient solution to a problem, as would be expected in real programming. However, this system prevents complete creative freedom to develop a solution that may be inefficient. This limitation can hamper the learning experience, as some solutions may have been correct but did not meet the time requirement, thereby resulting in failure. Given the player has the ability to return to previous puzzles, a more realistic learning environment would be to allow the creation of more efficient solutions based upon the new knowledge gained in later levels.
The inclusion of a narrative is a choice that pays off. The quirky concept allows the educational and simulation elements of the game to detail the history of machine learning in a fun way that does not feel overt or intrusive. Accepting tasks adds to the overall experience, presenting the player with either context on how the principles would be applied in real life or simply offering some cat-related humour.
The number of gold medals earned throughout the game determines the cutscene that will be shown at the conclusion of the main learning cycles. The player can then choose whether they would like to view the bronze, silver, or gold ending and can watch the alternatives at any time. By including this tiered cutscene system, Luden.io rewards the player’s understanding of machine learning and offers slight differences in the information gained from their cat in the game’s completion.
Luden.io has released a number of VR and AR titles that approach games with the means to educate. The experience of Luden.io shows in how detailed while True: learn() is at informing the player. Every introduction of a new mechanic is followed by a screen with advice about how it will be used in game and in real-world applications. The examples also include links to external sources providing additional information that allow the player to delve further into the world of visual programming and machine learning without ever being forced. Occasionally, the details become too technically worded, which makes some of the later concepts difficult to grasp. More simplified language would help generate a greater sense of understanding for players without a background in programming.
Despite a few flaws, while True: learn() is an engaging, informative adventure that showcases the standard for educational games. The title is welcoming, yet challenging, delivering a fun experience that is truly one of a kind.