Boxes and Arrows

I think I think like a programmer.

I take a very systematic approach to everything, because ultimately everything is a system. And every system can be described in terms of boxes and arrows. There’s a TED talk about How To Make Toast which explores this point brilliantly but it might as well have been called How To Make Toast & Also This Is A Schematic for Craig’s Thought Process.

With such a thrilling introduction it should come as no surprise to you that I am fantastic in bed good at maths puzzles. 

Sadly despite studying physics for five years I never did much programming, let alone write code that solved maths problems. Perhaps it was because all courses ended in a three hour written exam where the wonders of the universe had to be derived from scratch using pen, paper and the unbreakable wrist strength of an Olympic weight lifter who, completely unrelated, was also fantastic in bed good at maths puzzles.

This brings us to Human Resource Machine the new game from Tomorrow Corporation in which you write simple programs to solve simple problems. The beauty of any game that Kyle Gaber is involved in, be it World of Goo or Little Inferno, is in simplicity and elegance.

Incidentally I’ve just finished slating a Funk band for this but it’s true: the fewer moving parts a system has, the more beautiful it becomes.

In Human Resource Machine, like previous Gaber games, a simple mechanic of drag-and-drop programming is explored amidst the backdrop of a slightly sinister world that is never fully in view. I find these games strike the most amazing balance between being systems-based games first with the lightest touch of storytelling that makes it impossible for me to imagine one without the other. A game like this has no right to be as engrossing.

Old McDonald programmed a farm, no E-I-E-I-Os

The balance is once again perfectly executed as is the ramp up in difficulty, read as: properly paced lessons that teach you how to code in this oddly dystopian, corporate world. It’s no surprise that Tomorrow Corporation are offering bulk discounts for schools and education-based customers.

And in that way the nearest comparison I find for this game is actually Zoombinis, a name which will either mean everything or nothing to you. But where the problem solving in Zoombinis never really taught anything other than trial/error and pattern recognition, I do feel like I’ve learned something and scratched that programming itch from playing Human Resource Machine.

But I still love you…

Look let’s keep things in perspective here: I’ve not learned to program by any means. But it’s been a long time since I’ve had to disregard knowledge I have in order to learn something new. The programming in Human Resource Machine is achieved by dragging and dropping predefined lists of functions and interacting with tiles. Level after level I yearned for a simple if/else statement that checked a value and did an appropriate action. By limiting the number of functions I had to ditch this desire and work all loops with either a zero or negative check.

What I learned was to prepare before diving in a creating a knitted nightmare of code. This lead to post it notes like this:

2015-11-08 17.45.59

In order to solve a puzzle like this:

Here I was to check two numbers from the INBOX and send a 0 to the OUTBOX if they were the same sign (positive/negative) or send a 1 to the OUTBOX if the signs were different.

As the puzzles ask for more demanding programs the code becomes a tangled web of jump statements deligniated only through the limited comments/labels which must be “handwritten” using the mouse. I laughed at this, others have cursed it.

Ultimately you know yourself before playing whether you’ll enjoy Human Resource Machine. I really enjoyed playing/solving/learning it myself. There’s no surprises that will convert you into enjoying maths puzzles if that’s not your thing- though I shudder to think about your weak, weak wrists.