PREVIEW: while True: learn()

PREVIEW: while True: learn()

I love nodes, and I love cats, so while True: learn() seemed like it would be perfect video game catnip for me. But once the nip faded from the machine learning theme, all that remained was an ineffectual puzzler.

Steam: Early Access
Type: Single-player
Genre: Puzzle, Simulation,
Publisher: Nival
Release date: 28 March, 2018

while True: learn() presents itself as a machine learning tycoon sim, but the AI theme just comes across as nothing more than a high tech disguise for pattern matching puzzles. The visual programming interface feels like a gimmick intended to cover for this, and the addition of cats (really, it’s just one cat) winds up being equally gimmicky.

The game is still in Early Access, and the developers are very active, so it’s very likely that some of these concerns will be addressed by the time of release. And yet, the overall specter of boredom lingers in the stagnant one-cubicle room your avatar resides in, like the aroma of three day old pizza from some all-nighter you barely remember: there’s evidence that something was accomplished, but it’s long since vanished and all that remains are stale crusts.


So what exactly is while True: learn()? The description on the Steam page promises exciting machine learning logic puzzles, a business sim to manage technology startups, the ability to maintain and expand servers by buying and upgrading equipment, purchasing goodies for your cubicle, and, of course (the most important part) procuring costumes for your beloved cat, who spends the entirety of the game napping on your virtual monitor. Unfortunately it delivers on few of these promises. The puzzles are inflexibly linear, offer no risk, reward or satisfaction, and absolutely do not take advantage of the power that node based systems have to offer.

Typical game play begins when you open your email for the day and either get an offer to join a startup or to take on a freelance job from random clients. Whichever route you choose, you enter the node editor, which is where you spend the bulk of your time in this game. Each task requires you to develop a visual program that will sort a specified number of colored shapes (circle, square or triangle) into a specified number of bins within a specified amount of time and accuracy. Success means you move on, otherwise you just keep retrying until you get it right. There are no consequences for failure, since you can run each task in “test” mode until it works, then release the code for real.

The nodes are the building blocks of your program, and borrow ideas from machine learning in their functionality. Some will sort objects based on if/then type scenarios, others are probability based and must be “trained” to recognize the right shapes accurately to proceed. Rather than give you a full suite of nodes to play with, however, you’re limited to certain ones for each level.

A weakness of the task designs is that there’s really only one correct way to solve them. Creativity is not rewarded, nor is experimenting, as there is a singular answer for each task, and it’s your job to divine the solution the devs have devised, rather than to be invited to invent your own. There’s nothing inherently wrong with this, except that it renders the tasks as nothing more than linear puzzles; this is not a sim, it’s not a sandbox, it’s not game-ified programming. The tasks come off more as graphical word problems. Again, there’s nothing wrong with this style of puzzle, as long as it’s what you enjoy and are expecting. But for a game that promises a way to dip your toe into the world of machine learning, it feels unfulfilling.

The business sim feels tacked on, and at the moment is fruitless and inconsequential. There’s little reason to invest in any of the startups at this point, aside from extra income. Succeeding doesn’t enhance any other aspect of the game, and the whole process of how to best fine tune a company is still quite vague.

Failure results in the company going bankrupt, which wouldn’t be so tragic except that there are a finite number of startups to choose form, and when they’re gone, there’s nothing left to fill the vacancy. So if you screw up early, you don’t get any more chances unless you restart the game from scratch-post.

The ability to upgrade and maintain your server really just boils down to spending money on widgets that increase your stats a few percentage points at a time. The trouble you go through for these upgrades yields such a minuscule bonus to your game play that it sucks the joy out of striving for them. If I’m going to save up for the biggest, beefiest, fastest system I want to feel rewarded when I finally get it. Instead, all the upgrades feel as superfluous as a bicycle horn on a semi-truck.

The promise of getting to play cat-dress-up is true, and is a tiny highlight in this otherwise dry experience. The choice isn’t huge, and the outfits are just static images, but it’s the most visually rewarding upgrade you can spend your hard earned money on. Do you need any more proof than Viking Cat?

Spayed and Neutered

Even taking the puzzles at face value is a mixed bag. Some are overly easy, while other are needlessly difficult, and there’s no rationale behind the difficulty scale, it feels random and unbalanced.

There is also very little that compels you to keep playing the game. There are no overarching goals to shoot for, no choices to make regarding the path you take, and no satisfying rewards for doing well (sans Viking Cat). There is a quest-tree, and as you move along the branches you can unlock new lines of puzzles, but variance is limited, which snips the potential for replay. On the flip side, there are some tasks that involve identifying letters and numbers later in the game which show great promise, but at this moment they are incomplete.

One feature that never materializes in a meaningful way is the ability to re-use previous tasks as building blocks to help solve later puzzles. Aside from saving on set-up time, I had hoped that reusing previous tasks would offer an advantage in terms of processor efficiency, or money saved, or throughput speed. Sadly, it doesn’t alter the stats at all, so it’s frequently just as easy to set up the nodes manually. This is a shame, as it kills any sense of reward at having successfully completed the previous task, because you can’t gloat over how much cooler/faster/fluffier it makes the next task.

Null() and Void

Feline cosplay aside, I was drawn to while True: learn() for its node-based approach to game play, more than the machine learning theme. I happen to use node-based software on a daily basis for my work, and for whatever inexplicable reason it has always appealed to me. I was initially quite thrilled that while True: learn() seemed to satisfy this strange lust for dragging nodes and connecting lines all over the screen, but the sheen quickly wore off. Compared to actual node editors, the game’s implementation is clumsy, crowded, inefficient, and garish. One of the appealing factors of nodes is that it lets you easily experiment with different branches, re-use hierarchies, and visually map the flow of information. while True: learn() barely achieves any of these features, thus hampering the true benefits of nodes while reducing it to nothing more than a game play novelty.

The biggest issue currently is the limited amount of free space in which to lay out your hierarchy. The main play area is just too darn small, while the node blocks themselves are too big. This results in more overcrowding than a cat cafe at a Pusheen convention, and only serves to hinder any sense of experimentation, simply because there’s no room for it. The current version does not support zooming, though the developers have hinted it’s on the roadmap, and no doubt the addition of such a feature would go a long way towards addressing this limitation.

As for visual flow, it’s sometimes difficult to determine exactly which nodes connect to which others because the start and end points of the connecting lines frequently become hidden or get lost behind other nodes. Most actual node editors either have curved lines, or extended ins and outs so it’s easier to see the connections themselves.

Nine Lives

Despite my numerous criticisms, there are some rays of light in while True: learn(). Of the highlights, the art and sense of humor are noteworthy and memorable. The graphics and visual style are super appealing, and offer a good balance between being cute while still looking slick and modern. Each upgrade you can purchase (from C-bay, naturally) has a little graphic and description to accompany it; these are very well done, and have a charmingly impish sense of humor. The same goes for the task descriptions. Even though the actual puzzles are limited to sorting shapes and colors, they are each cloaked in very witty descriptions with in-jokes and nerdly references. It’s clear that the developers have a great sense of humor, and that adds much needed levity to the left-brained world of recurrent neural networks and perceptrons.

I can’t say much about the audio at this point, because it’s unfinished. Currently there is only one tune. And it’s repeated. Endlessly. I endured it for the first few hours, then turned it off, only to realize I actually missed it. Maybe there’s something about one continually looping song that has a hypnotic effect on me, but it’s pleasant, despite its simplicity, and helped me to stay focused on the tasks at hand. There are no sound effects, which is especially disappointing as a “purr” now and then would go a long way to making the repetitive puzzles bearable.

Despite all the silliness, the game does strive to educate the player as much as possible about the world of machine learning. Most puzzles are prefaced by short little “newspaper clippings” about various milestones in machine and deep learning history. The descriptions of each node in the game are correlated to real-world concepts, and even include YouTube links to videos about various topics in machine learning. There’s also a friendly and helpful community built up around the game already, so if you get stuck (which is more than likely) it’s easy enough to reach out for help.

Overall, I can’t say I retained much of what I learned during my time with while True: learn(), but I greatly appreciate that the game has a deeper purpose, and is genuinely trying to educate players about this topic, even though the puzzles themselves are just machine learning window dressing.


Who is this game for? If you ignore the machine learning theme, and are just interested in logic puzzles, you might find while True: learn() unique enough to warrant a quick visit. Due to it’s repetitive nature, and limited depth, it may not hold your attention for long, but is certainly a harmless way to spend an afternoon. From an educational aspect, however, I can easily see this game being marketed to kids and schools. It’s a good way to introduce children to computer science, logic, and programming concepts. The development on this game is very active, and seems to be continually adding new features and tweaking existing ones, so it’s entirely possible that by the time you read this review, the game will have matured into a more polished experience. Until then, you can give it a spin in Early Access. Just keep your expectations low, and watch out for hairballs.

Feedback from the dev:

Please see this blog post

We do have plans for making the game more satisfying and appealing to the players. As for the core gameplay, there are thousands of players who sincerely find it enjoying, but we can’t be perfect for everyone, that’s perfectly fine! But, please, check out our new game mode, which will become available before August 20th – it adds a lot of new stuff to play with to the game.

Written by
Join the discussion



About Us

Save or Quit (SoQ) is a community of fanatical gamers who love to give you their opinions.

See Our Writers

We’re always looking for new reviewers! Interested?