While True: Learn() will definitely pique the interest and curiosity of programmers, math connoisseurs and puzzle-peeps. Created by Luden.io, an independent gaming developer that strives to create meaningful and educational games. While True: Learn() does live up to that motto, with a focus on using actual machine learning techniques when puzzling together positive work-flow patterns of neural networks. The game also blends a historical depiction of machine programming/learning into the story line, along with encouraged learning along the way.
You begin the game as a freelance programmer taking on jobs (and whatever else may hit your inbox) toward building on your current skills. There is an end result to achieve through the learning and developing of programming methods. This is to eventually build a computer program that will allow you to understand your cat. See, your cat is smarter than you. Your cat already holds much program skill. Your cat already wins. So, in the process of creating this machine based learning program, you work with various pre-programmed blocks in order to transport them to their destination.
While True: Learn() is a great game to begin the processes of learning to “Block Code” through simplistic click-and-drop gaming mechanics. Without the need for any form of programming knowledge. Because, the game definitely puts the player in the problem-solving mindset of a programmer. You begin the game by being presented with a play-tutorial that explains the raw basics, a how to turn on the computer 101. This might seem mundane to some, for others it explains the basic workings of computer systems operation. All while showing you the foundations of how the game works.
You then begin the process of working with nodes to program your objectives into action; “visual programming.” The level of programming/puzzle difficulty increases as you progress along the ‘task tree.’ With other freelance objectives hitting your email along the way. Now, here is where I found things starting to be a little…cloggy. Along the task tree there are also horizontal branches that are optional to complete, with the icon colors standing for different types of machine learning techs to be used in retrospective tasks (I am still yet to figure out these colors). You click on the colored icon to open an objective window, here there is several sections of information with ‘jobs’, ‘start-up’, and ‘private’ listed at the top.
There is little explanation for these at the beginning of the game. Your first task is begun and finished, with no detail into all of the information presented on screen, at all. Once the task is completed you return to the ‘task tree’ where there is a percentage offering listed at the top of the screen. Again, no information is provided on what this is or how to better the percentage, if that is at all possible. After playing through, I did learn that this information does get better explained a little down the line. But my silly, nosy little mind does like the option to understand as much as possible in the lead up to the game.
For me, the tutorial gets all of the “admin” out of the way so the rest of the game can be enjoyed. Not having this stuff explained early on, it did leave me to second guess some moments. I couldn’t help by think that I had missed some valuable piece of information somewhere. This was simply due to the fact that there was still so much screen clutter that I didn’t know about or what it meant. Do I have to do something with this? Is the reason this level is dominating me, because I don’t know what this is?
Now, did this end up altering my ability to progress further? No. It did just annoy me a lot and cause me to second guess everything I was doing…for a level or five. This same lack of immediate information cannot be said of that provided for the programming/computer terminology throughout the game.
For the game itself, you must transport the information [element] to its desired destination [output stream]. You do this by communicating each element through output parameters [sockets] via nodes. There are many varied node formations that can be used, created, and customised. Decoding (you like that one?) which nodes to use and where to place them, that’s the overall objective. Some of these tasks are a breeze. Others will leave you banging your brain against the keyboard. And be prepared for your progress to impact your outcome. Yep, how you play can alter your games ending, with multiple end results available depending on how you progress.
Each new progression throughout the game, presents you with new programming terminology to work with. This gives the game have more of a click-and-stop vibe as you pause and take in the new information. The term or technology is explained in two forms (in-game and in the real world) and in layman’s terms, no code-fluff. At the bottom of these pop-ups is further links, to the games Discord as well as to YouTube videos on the topic/terms and weblinks.
This community integration and encouragement really does open up alternated avenues for learning more on what is being discusses in-game. I found this aspect to be truly unique and interesting. The above mentioned Luden.io intention of providing games that are educational becomes clearer with the focus being on the explanation of new programming concepts. Rather than my desire for all screen-deets to be mapped-out, radar-ed, info-linked and in the tutorial [noob].
For those who don’t know…actually, of course you know what LolCats are. Anyway, the game incorporates this style of “language” in emails and other text info’s. I think this is done for humor, for the most part, maybe just because it’s cats. Yet, for someone who’s brain struggles enough with basic multiplication, decoding cat-speak every other level had me skimming and giving up.
There’s some definite tongue-in-cheek humor spliced gently within the game, like the ‘Deep News’ newspaper, but it really goes all in on LolCats. I didn’t mind so much the first few times, I get the light humor, but LolCats on the regular ruined the joke for me. As a result, I did end up missing an important bit of info by skipping over the Lol-text and had to go back a few levels to see what I had missed. If yoos can redz ze wordz of ze catz; well, you’re a more patient human than I [*tilts hat*].
One of the things I did come to grapple with, and really didn’t like that I discovered, is the upgrades and custom/DLL nodes work around. Basically, you can use custom nodes that you’ve created at earlier intervals in the game. These eliminate some of the potential, basic node repetition. So, when you use a DLL/custom node they reduce the processing time of the element [information]. Then, by using these custom nodes, you can almost certainly eliminate much of the time factor. So, basically, the second aspect to each level. One aspect is to puzzle together the nodes to work effectively, the other is to have them work effectively within the allotted time frame. Using custom nodes takes away some of the brain mechanics you use in puzzling the nodes together, but also eliminates much of the time constraint too. It makes sense, but it also felt a little bit lazy and like I was “cheating” the game. Even though it is a perfectly workable process. On the flip-side of that, I did get in the habit of not using custom nodes. Well, unless I really-really had to.
The second grapple-thing, is the upgrades system.
As you move along, you can purchase upgrades to have nodes process faster. Much like the custom nodes work around, I found myself getting stuck at times and then just seeing if I was able to upgrade. The intensity of the upgrades ability remove so much of the learning and thinking aspect from the level, forced me to decide to not upgrade at all.
The final grapple-thing is the sound design.
Look, it just isn’t great. There is very little in terms of diversity. The monotonous repetitive loop-track did nothing more than encourage me to mute the in-game music. Aside from that, there isn’t much else to go off audibly. A few cat meows, some basic clicks and that’s about it.
I went into While True: Learn() with so much interest and excitement, that I was somewhat disappointed when a lot of the tutorial aspect was left lagging. Pair that with the DLL work-around and upgrade system, and there is definitely aspects that could use some prodding. I do feel that While True: Learn() is a great tool for those interested in code and puzzle-style play, especially the younger generation who are interested. And, those with a mathematical brain, and/or interest, are going to love it too.
For me, the positives outweighed the negatives and the game has a lot to offer in the diversity of each level. Every puzzle is just unique enough to the last to keep you focused on progression. The story, while sometimes clunky, does a good job of offering play information and technology information in a way that isn’t suffocating. While True: Learn() is a game I can see being played and discussed in classrooms; encouraging kids to learn (and play) with programming.
This is review is based on a retail copy of the game provided by the publisher.