Do you like machine learning? Do you like cats? If you said no to either of those questions, then good news! Neither is required to enjoy playing while True: learn(), though both help significantly.
while True: learn(), aside from being one of the most annoying titles to type out in a review, is a programming puzzle game about sorting inputs to generate the correct outputs. It is very similar to other assembly line puzzle games, such as TIS-100 or even Infinifactory. And hidden within this puzzler is an educational game that will teach you about how machine learning works and how it is often utilized.
So why did I mention cats? Well, the plot of while True: learn() is that you are a fairly inept computer programmer, but your cat is a programming genius. Unfortunately, your cat does not speak English. So you set out to build a program to translate from cat to English.
Unfortunately, building a cat translator is no easy task and you are a fairly inept computer programmer. So you take to internet forums to slowly learn the scope of the problem you’re attempting to solve, from recognizing that a cat is on screen to determining its emotional state.
In the process of learning how to solve the cat translator problem, you perform coding side jobs to make money and to teach you the different programming algorithms. These jobs make up the core gameply of while True: learn(). You are given some context for the task, provided with the nodes that can be used on the job, and then rewarded based on how well your program functions.
The puzzles are fun and interesting with rapidly ramping complexity. There were a few stages that I thought would be breezes but had me starting over multiple times. And most are satisfying to complete, with only mild annoyance when you cannot figure out how to make your program perform perfectly.
while True: learn() provides a remarkably accurate representation of what it is like to work with machine learning systems. Different algorithms are expressed through nodes which describe how data is sorted by the system. The visual programming style of the game perfectly parallels how machine learning systems are often used. The entire system is not programmed from start to finish, but instead a known algorithm is downloaded and used to solve a unique problem.
The game also manages to teach you how the different machine learning algorithms work by providing easy to understand representations of what they do. Additionally, if any of the subjects interest you, the game describes the real world analog of the algorithms in detail when they are introduced and even provides links to additional literature.
But mastering the coding is not enough for while True: learn(). You will also be asked to consider the practical side of programming. You will invest in startups, worry about server costs, and spend some of your hard earned money upgrading your equipment.
While I enjoyed my time with while True: learn, I do have some minor complaints with the game. On the Switch, the nodes can be difficult to fit on a single screen without zooming out which makes it difficult to modify or connect the nodes. The startup concept, while a neat idea, requires you to track the value of the startup everyday, which is made more difficult by the game automatically starting you at the task selection screen instead of letting you see your calendar.
While my minor complaints do not ruin the game, they do sometimes make it more frustrating then it needs to be. This problem can be exacerbated by the lag that hits the Switch when you try to run a program with two many nodes.
Overall, while True: learn is a great puzzle game for those who enjoy difficult problem solving. And as an added bonus, you will learn a bit machine learning along the way. And as the best bonus, with the money you earn from your side gigs, you can buy outfits for your cat!
while True: learn() is out now on the Nintendo Switch and has been available on the Steam and Humble stores.