Human Resource Machine Review: Machine Learning

Human Resource Machine puts you in the shoes of a lowly office worker tasked with menial, repetitive tasks. You've got to overcome each of these tasks by breaking them down into logical steps and iterating over those steps until all the work is done. If only we had a computer to help... but, I digress. In my Human Resource Machine review, we'll tackle these puzzling logic problems with a heaping helping of programming know-how.

WOTS on YouTube I streamed this game with the help of my lovely and talented programmer wife, you can view the archived stream here:

Human Resource Machine is the second game from indie dev Tomorrow Corporation, who previously published Little Inferno, a game about... burning stuff. You may also recognize some similarities to World of Goo and Henry Hatsworth, which are other games that these guys have had a hand in.

Human Resource Machine is a logic puzzler, and I'll go ahead and call this genre the "programming puzzler." You're presented with a series of inputs (letters or numbers), and are tasked with producing a set of outputs. The operation varies - sometimes, you're filtering the inputs for specific types (ie, just vowels) and other times you're doing pretty complex math or reordering operations.

Your office-worker-slash-avatar in the game has a limited set of operations that they can perform. Initially, it's just "take things from the input" and "put things in the output," but as Human Resource Machine progresses, these operations become more and more complex. Eventually you'll have various math, branching, and even pointer manipulation operations to choose from.

You may remember TIS-100, another game with very similar mechanics. Like TIS-100, the instruction set of the system is pretty basic, but it's enough to do some really complex and cool things.

Overcoming a puzzle unlocks the next one in series, although there are also optimization challenges to consider - can you solve the problem with fewer steps and/or fewer instructions? There are also optional branches with super hard puzzles that you can choose to bash your head against if you don't feel dumb enough after attempting the main puzzle line.

The art style is very distinct, and if you've played World of Goo or Little Inferno, you'll immediately recognize the oddly shaped characters and their enormous eyes. There's also a story of sorts, although I'll classify it as "vague" and "unsettling." Then again, the same could be said of Little Inferno, so perhaps these sort of odd stories are part of Tomorrow Corporation's trademark style.

One of the things I liked about Human Resource Corporation is that it's very visual. Your character walks around as the program executes, and that makes it easy to get a hold of what's happening inside the program. There's also a simple MS Paint style interface for labeling spots on the floor (memory) and specific spots in your program. This makes it a lot easier to keep track of what's what when you're writing solutions to the complex late-game puzzles.

I also appreciated the laid-back style of solving the problem first and optimizing later. A [famous quote by a famous computer scientist]( When_to_optimize) goes "premature optimization is the root of all evil" - and I agree.A lot of "optimization games" require you to fit within tight constraints on your first run, and that's not really the way "good code" is written. It can cloud your ability to understand the problem, which makes solving it that much more frustrating.

The question that I figure comes to the mind of programming puzzle enthusiasts is: "Should I buy Human Resource Machine or TIS-100?" In my opinion, TIS-100 is more of a head-scratcher. If you enjoy being stumped at how to address a problem and then being stumped again at how to implement your solution, TIS-100 is probably a better choice. If you find Zachtronics games frustrating and difficult to wrap your head around, Human Resource Machine is a more player-friendly game, and it's much easier on the eyes.

At the end of the day, though, they're both super inexpensive and will give you hours of fun if solving this sort of problem is interesting to you. Why not both?