NEED TO KNOW
What is it? A mathematical programming puzzle game
Publisher: Tomorrow Corporation
Developer: Tomorrow Corporation
Reviewed on: Core i5-3570K, 16GB RAM, GeForce GTX 780Ti
Expect to pay: £7 / $10
Link: Official site
Human Resource Machine makes me feel less like a faceless workforce drone and more like a maths class dunce. Far from a dead-end job, it recognises your efforts in rudimentary coding and rewards you with promotions that offer more challenging puzzles to stretch your abilities. Trouble is, I’m not smart enough to rise far beyond the janitorial division. From a gentle introduction, Human Resource Machine quickly becomes an uncompromising maths and multi-tasking exam that, while clever and educational, left me a little exhausted after every puzzle.
Games about coding are becoming rather trendy these days. Human Resource Machine joins Else Heart.Break() and The Magic Circle in letting you play God with the game’s behaviours. In this case you use rudimentary commands like ‘inbox’, ‘copyto’, ‘add’, ‘bump’ or ‘jump’ to command your minion to take numbers or letters from the inbox on the left, process them according to the demands of your job, and dump the result in the outbox on the right. It’s a disarmingly simple toolbox, and for the first few years (levels) on the job longed for more functions to play with.
The challenge ramps up but the toolbox stays the same, and it's the limitations of that tool box that make Human Resource Machine so challenging. I started to realise when a level asked me to multiply each inbox number by a set value such as 40 without a multiply function. A little factoring, however, and you’re set. I added each number to itself, and then the sum of that to itself the appropriate number of times: two becomes four becomes eight all the way up to 32 before sticking on a few more twos to make 40.
This could be simplified just by adding the base value to itself 39 times, but Human Resource Machine awards marks for elegance, and that means setting up jump loops (‘jump’, ‘jump if zero’, ‘jump if negative’) to send your drone worker back to an earlier point in your list of instructions. Many times I would have killed for a ‘jump if positive’, but the HR department is big on efficiency. Using fewer commands and taking fewer steps to achieve the goal is a must for 100% completion, and in that regard Human Resource Machine is an excellent introduction to rudimentary programming, instilling the mantra that sprawling, ungainly code is almost as bad as no code at all.
It’s also a great lesson on programming well in a procedural language; that is, a language in which code is executed in the order it’s written. Once you start nesting jump loops within one another, the end goal quickly becomes obscured as you try to figure out what you were aiming to do with the instructions you wrote two minutes ago. Human Resource Machine demands a diligent, analytical mind to understand its puzzles and keep track of their solutions using its handwritten comment system.
Should you make it past basic multiplication—including multiplying two consecutive numbers from the inbox together; a feat I was sure was impossible using an add command (it’s not)—developers Tomorrow Corporation continue their programming lesson with Fibonacci sequences and zero-terminated strings. In a particularly nasty example of the latter, each inbox item had to be extracted until a zero was encountered and then sorted into ascending order. Indirect access and key-value data pairs follow suit, both vital components of the coder’s utility belt and useful to learn, but perhaps to the point where a little grounding in the theory beforehand would serve novices well.
And there’s the issue: Human Resource Machine never presents itself as anything but pedagogical. It teaches core programming concepts in a cartoonified setting, which is great, but the generic megacorp in which you while away your life doesn’t add much context. It gives you numbers and you add, subtract and 'jump if zero' those numbers to produce other numbers. There are some dark jokes in there—each year your hair thins a little more and your bosses are steadily replaced by robots—but I don’t feel it capitalises on the setting.
That’s not to deny its cleverness (or my own ineptitude). It is an exceptional educational game, and it’s impossible that a beginner could escape unenlightened. I can sense maths teachers across the country lining it up as an end-of-term treat.