while True: learn()

Maybe I'm not best suited for playing programmer games as a programmer, or maybe the opposite is true, but I want to try them anyways. So today I played while True: learn(), which sells itself as a programming puzzle game that teaches you machine learning. Haven't had one of those yet - sounds wonderful.

The problems arise quite early on, as you realize this is not a programming game, nor are you actually learning anything about machine learning. (Unless you click on one of the external links explaining these topics in actual technical detail, but these aren't part of the game and can't be attributed to it.) While True: learn() is more of an automated distribution or load balancing game. You get up to 3 shapes and/or colors that go in, a few very rudimental nodes that act as glorified if-else statements or something similar, and outputs with required quantities and accuracies of these colored shapes you must fulfill. There are other parts of the game, which aren't really related to the main gameplay for some reason, like a small stock-market-like game, cosmetics, and worst of all, upgrades for your computer that allow you to just get a better score when you go back to replay previous levels without actually changing anything.

My initial hope of comparing this to a Zachtronics game would be a terrible insult, as this isn't even worthy of being called a programming game. It does nothing to familiarize people with neither programming concepts nor machine learning concepts, instead acting like a system of belts and splitters from Factorio. The puzzles are either too simple, or can be most efficiently solved through trial-and-error, not thinking.
As an actual example from the game, you're given triangles, circles, and squares, all mixed from the input stream, and have to split them into the corresponding 3 streams. A chilishly simple task, right? 2 if-else statements and you're good. One of the promotional pictures for the game on the store page has managed to convolute this into a mess of 9 nodes, which don't actually solve the problem. And that's most of the game - terrible, complicated, and incorrect solutions for simple problems.
It's not entirely a pile of garbage, but best I could do is lump it in with "casual puzzle games". It thus saddens me that this has probably sold more copies than any single Zachtronics game, which are by and far superior.

So, would I recommend while True: learn()? No, definitely not. It pretty much lies about the type of game it is, and doesn't do a particularly good job at anything. Want to do load-balancing? Go design Factorio belt systems. Want to play a real programming game? Play one from Zachtronics. But don't try this affront to the programming game genre.

No comments: