I’ve got a soft spot for “programming” games. Since that’s my day job, I can usually convince myself that this is the one sort of game I might actually be good at.
I’m looking at you, Octopath Traveler final boss that I’m too timid to fight anymore.
Programming games can run the gamut from super-techy TIS-100, which asks you to write multiprocessor programs in a bespoke assembly language, to beginner friendly 7 Billion Humans, which has you write parallel processing algorithms in a Snap-like visual programming language.
All these kinds of games introduce you to simple concepts, give you a puzzle to work on that uses this concept, and then adds this concept to a library that you will use in future puzzles. And, almost all of them have a thin plot bridging puzzles so that it can make you think you’re playing a game rather than learning how to program.
Luden.io’s while True: learn() starts with you discovering that your humble cat is a master coder. He could totally make mad cash programming, except… he can’t talk or make himself understood. One of your buddies suggests learning how to build an AI that can translate from Meow to Hello and at the same time instructing the player in the amazing world of artificial intelligence.
And so you embark on your new career as an AI hotshot, taking on contracts (and occasionally lending your expertise to a new startup), all the time empowering your kitty to talk (and drive your car).
Each puzzle has you connect various colored shapes on the left edge of the screen with buckets on the right edge of the screen. The buckets have various requirements (no blue, only green triangles, etc). You will use the various AI blocks available to correctly guide the shapes on the left to the buckets on the right.
It’s kind of cool how no matter the task, it can be solved by moving colored shapes from left to right across the screen. Detecting poorly manufactured toys, forecasting fashion trends, sifting out bad components… all of them can be abstracted the same way.
Each puzzle also has secondary requirements that may or may not be stated openly. Since the AI blocks can operate fairly slowly, optimizing throughput may require load balancing and multiple code paths to make things run smoothly. Also, some buckets may require more blocks than others, and so the flow must be designed to send more blocks one place, fewer blocks to another.
Each new AI block is first presented with links out to pages where you can learn more about the concept behind the block, including the SIFT algorithm or neural networks. After that, the block will show up in the toolbox of subsequent puzzles.
You may also buy additional blocks for certain puzzles with all the cash you’re earning predicting elections or helping match customers to pizza shapes (square or round, but for some reason, never triangular. Don’t customers ever buy pizza by the slice?) And if you just have too much cats (I mean cash), you can buy decorations for your home office (so pandemic friendly) and outfits for your cat.
I’m a few days into the game, though, and although I’ve learned a lot about shifting shapes around, I haven’t learned much at all about machine learning. I am told that this particular block uses the SIFT algorithm to see if a triangle or circle is in an image, but I am still clueless about how it works. This other block uses a weighted neural net that can be trained, somehow, but it is a black box.
I’d expected, when I bought the game, that the game would be leading me through implementing these algorithms instead of just referring me to a wiki page. I’d have really liked a game that would teach me about connecting nodes and layers in a neural net — this is not that game.
The one puzzle that was not moving shapes from left to right involved teaching a self-driving car how to avoid obstacles by interpreting LIDAR input. Because, kitties can’t drive cars by themselves, you see. I did terribly with the training because I was using a controller to press the virtual buttons rather than using the touch screen, but afterward the car ran fine and avoided everything anyway. Elon Musk, I’m waiting for your call.
The game advertises itself as a means to learn about the world of artificial intelligence. It’s actually a game about optimization. Actual deep learning is confined to black boxes; all that’s left is to become very efficient at sorting shapes and moving them to buckets.
My largest frustration with the game, though, were the unwritten requirements about how much of each output could go into which bucket. Just satisfying the request wasn’t enough. Had to balance the flow correctly.
I was looking for a SpaceChem-like game for the Switch, and this came closest, but in the end, it was a miss for me.