Having worked my fair share of manufacturing jobs in the past few years, Human Resource Machine incites a few feelings that I’m sure many of you can relate to. I have to give credit where credit is due; developer Tomorrow Corporation has done an admirable job of recreating the feeling of frustration and desperation that ensues when you’re treated as nothing but a mindless drone.
Granted, I would expect nothing less from the same brainchildren behind such excellent titles like World of Goo and Little Inferno. Still, what’s more impressive with Human Resource Machine is how it essentially recreates the first few weeks of an intro to programming class, and condenses it into a bite-sized video game that most will be able to digest.
I’m inherently a fan of any game that allows you to tinker with the coding and the inner workings of a game’s mechanics, and Human Resource Machine strips coding down to a few very simple concepts and tools. Rather than focusing on more in-depth topics that go hand-in-hand with something like object-oriented programming, the game keeps things simple. By using a small set of commands, you can control your workplace minion, as he or she completes each level, with each level being represented as one year worked at the fictional mega-corporation that employs you.
Things start off easily enough; early challenges might require you to add a few numbers together before outputting the result, or take two numbers and only output the larger. Commands such as ‘inbox’ and ‘outbox’ stand in ‘input’ and ‘output’, while add and sub allow for simple addition and subtraction. ‘Copy to’ and ‘copy from’ functions allow for reading and writing to and from memory, and you can set up simple loops with the jump command. It’s not too different from procedural programming languages such as Fortran or Pascal, and once you get a handle for it there’s a lot of fun to be had in tinkering around with the coding tools at your disposal.
The real challenge however, begins to present itself when more complex and demanding tasks are presented to you, with no change to the programming commands at your disposal. I initially hit my first roadblock when the game presented me with the challenge of multiplying a few numbers by 40, and then outputting the result. The catch is, the game never presents you with a simple multiply function.
Now, the obvious answer would be to simply add the given number to itself 39 times, and granted, this would work just fine, though with the lack of more nuanced loop commands, it would require the tedious process of writing out the same command 39 times. Eventually, an elegant solution dawned on me, which involved adding the number to itself (doubling) until I reached eight times the original value. Storing that value to the side, I continued doubling the number until I reached 32 times the original value, after which I added that octupled number, which took me to 40.
The developers smartly capitalized on the concept of optimization, as each level has two additional challenges outside of the main task at hand. A speed challenge monitors how many steps have to be taken in order to execute your code, while a command challenge demands that you optimize your code to consist of only so many lines. It’s not only a novel way to extend the lifespan of the game (which is a few hours long), but reinforces the idea that clean code is the best code.
Things don’t get easier however; down the line the game adds in strings, Fibonacci series, sorting, arrays and much more. To be honest, it’s quite impressive just how much longevity Tomorrow Corporation has managed to squeeze out of a very simple toolset, which just lends more to the elegance of the game’s mechanics in the first place.
If there’s one area where the game falters, it would most definitely be the story. The presentation is solid, using the same dark colors and characters from past Tomorrow Corporation games, but once you finish the final level, the game offers up a brief cutscene, and then it’s all over. Sure, it might be the ultimate joke, reflecting on just how banal and meaningless careers at these ‘mega-corps’ may be, but when you compare it to something like Little Inferno or World of Goo, it does seem to fall short in comparison.
Little Inferno was not only a clever criticism of gaming culture and mechanics, but it touched on environmentalist themes, and the concept of focusing on the world around you, growing up, and moving on. World of Goo on the other hand touched on the dangers of industrialization, big business, and consumerism, while focusing on modern society’s obsession with beauty and vanity. Human Resource Machine has a lot to work with, and while it occasionally touches on the perils of workplace automation, it never really amounts to anything of noteworthiness in regards to its story.
Narrative issues aside, I have nothing but praise for Human Resource Machine. Programming focused titles like these are rare by nature, but it’s even tougher to find one with this level of polish and accessibility.
Math enthusiasts, you’ve found your next purchase.
This review is based on the PC version of the game, which we were provided with for review.
As clever as it is charming, Human Resource Machine is a must-have for anyone interested in puzzles and programming.