while True: learn() – Preview
while True: learn() is an educational game which promises to teach the player about machine learning in a playful way. It is currently in Early Access on Steam, and the developers are regularly making improvements and updates for this game, using the input of the players. while True: learn() is being developed by Luden.io, and published by Nival.
The story behind the game is simple: you are a programmer who wants to make a living for himself and his cat. You’ll get assignments by email which you can make money from, and some start-ups you can join to (hopefully) earn a steady income. It’s a simple ‘shell’ around a puzzle game, but it’s cool that a game like this has a story at all. The emails containing the assignments are usually pretty funny to read, especially when relating them to the output you’ll need to produce.
Every now and then the game also shows a short news article containing some history about algorithms and machine learning, and gives a bit of background on different algorithms and methods when you encounter them for the first time. This is actually quite interesting if you want to learn a bit about the history of machine learning.
Graphics are basic and cartoonish, but not much is needed to give the game a bit of context. The layout of this game is really simple, basically you have an overview screen and a screen where you build the programs for your assignments. The graphics fit the type of game well.
The sound is very simple for now: there is repeating music, and not much else. The cat will meow if you click it. Since the music itself has been added only recently, the developers are probably still working on adding more sounds and sound effects.
while True: learn() is a puzzle game where you’ll need to solve logical puzzles which grow in difficulty, to gain money and create a living for yourself. There are several tasks: one-time jobs, and start-ups. For both you’ll need to generate programs, but for the start-ups you can go back and improve the program.
At the home screen you’ll see graphs of how several aspects of your work are going, your character and his cat, and the emails you’ll get with requests for jobs. You’ll get a reward for each successful completion of an assignment, but you have expenses to pay as well. As the programmer you need to run servers to run the programs you make, and you have to pay per second, so if you make a more efficient program, you’ll earn more for a job.
When you accept an assignment, you’ll see a screen where you can create a program to do this job, which you’ll make by dragging simple algorithm blocks to the visual programming screen and connect the input and output of these blocks with lines. While the assignments themselves are usually a bit cryptic about what you’d need to do exactly, the eventual output you’ll need to produce is made very clear as soon as you are on the program screen: usually it comes down to sorting the input you’ll get, sometimes removing one type of input. In-game this is visualized by colored symbols: red, green or blue, and circle, triangle and square. One task could be: sort an input of a great variety of symbols and colors, and the output can only be red circles.
The goals are not only to achieve the correct output, but also to achieve this on time, and sometimes the accuracy is not that important, but time or the amount of output is. For the player it’s also important to not waste any resources, so you’ll need to find a solution that is as efficient as possible: the fastest processes and the less blocks and servers you use, the better. Luckily you can test programs before release to see how they perform and what they will cost you, and using the testing simulation you’ll also be able to train self-learning processes to make them more accurate before releasing them.
Each block has an information section, which informs you of what it does in-game, and what it is in the real world. Whenever you create a program consisting of several blocks, the whole program gets auto-saved, and you’ll be able to use it again in future projects or in one of your start-ups. These saved programs work slightly faster than the separate blocks, and they make more complicated programs look a lot more uncluttered. This is very handy, but finding out what was exactly in the program and editing it, requires getting back to that completed job itself, which feels a bit indirect.
With the money you earn, you’ll be able to buy upgrades for your computer, get more servers, or even cool outfits for your cat if you like to spend money on that. However, it is usually smart to be very careful with spending money, since the start-ups often cost more money then they’ll produce in the beginning. You’ll be able to get more information about the costs and earnings of the start-ups via the overview screen, which you also use to read the messages and keep an eye on your funds.
There are still some bugs in the game (some have been fixed already), like games not saving, assignments which aren’t possible to accept, and other minor issues. However, the developers are listening to their players and read the comments posted on steam and their discord channel, and fix the game accordingly or add extra features the players ask about.
Conclusion
This is a fun game if you like solving logical puzzles. The puzzles start out rather easy, but that’s a good thing if you are not used to solving problems like this. The informational snippets are a good addition; it’s pretty interesting to learn a bit of background of machine learning and different algorithms. The puzzles are fun, the story is fine, and the game as is, is already entertaining to play around with. We look forward to see how this game will evolve until release!
while True: learn() - Preview,
No Comments