Indie Wonderland: Human Resource Machine

A few hours in

So. As it turns out, Year 14 was Human Resource Machine‘s turning point for me. It was the first puzzle where my intuition-driven flailing around wasn’t magically the best possible solution. I threw the weight of my wits at it for the better part of an hour; those of you who follow me on Twitter may have seen me Tweet out my despair.

Of course, if you saw that, you probably also caught me waking up after fifteen minutes of non-sleep to implement the better solution my subconscious handed off.

I’m not saying it’s this one, but… you know. Try it sometime.

I managed to hit Year 14’s optimization goals, but it was clear that from here on out, the kid gloves were off. The regular puzzles got more and more challenging, aided by a slowly expanding set of possible commands. And the optional puzzles… Let’s just say I understand why most of them are optional. The normal puzzles are difficult to solve optimally, but the optional puzzles are difficult to just solve.

I was so proud of myself for working out a successful operationalization of the XOR gate! Then I saw the optimization goals.

Still, I persevered. I persevered when bump-grinding was added, and I persevered when floor-labels were added. I even persevered when indirect pointing was added in, and puzzles became a hellish nightmare of keeping track of multiple levels of direction.

But getting back to those floor labels: I kinda like them.

I did finish the game, in the end. I completed both the ‘official’ last puzzle, the SORT function, and the ‘unofficial’ last puzzle, the prime factory. In both cases, I was pretty proud of sussing out working algorithms just by the strength of my wits and my understanding of the mechanics…

Alright, I looked up some prime factorization bits and pieces here. I intuited the core idea myself before looking, though.

…though in both cases, my final solutions weren’t anywhere near optimal.

This also neatly summarized my entire programming career.

My brief summary of Human Resource Machine is that it’s a pretty neat game! If you like interesting puzzles, you’ll probably have a few hours of fun with it. My non-brief summary of Human Resource Machine is probably a little more nuanced; I only really put the short version up there to hit the optimization goal. Bing! Got another one of those elevator lights on.

Woo! I have value!

Alright, for real this time.

At the core, Human Resource Machine is a pretty interesting puzzle game. With a small but expanding set of tools, you’re tasked to solve a quickly intensifying set of problems. Using simple instructions, you manage to achieve ever-more-complicated things. The problems test your logic skills, your basic math, and your spatial and relational reasoning; common themes revolve involve re-ordering sets of letters and numbers, or selecting specific subsets of larger incoming groups, or applying some meaningful transformation to received elements.

Which is not weird, because the gameplay of Human Resource Machine is programming.

It’s important to note the lack of a qualifier here. The gameplay of Human Resource Machine isn’t like programming, it isn’t sort of about programming, and it’s not anything like a clever metaphor for programming. Human Resource Machine is bare-bones programming, pure and simple. Assembler-level programming, if I have my terminology correct, with a single-thread 1 IPS CPU and a simple variable-size memory system. It couldn’t be any more blatant about things if it allowed you to leave pointless, confusing attempts at ‘helpful code comments’ along the way.

Which, hey! Guess what it totally lets you do.

Using programming as a base for puzzle gaming is a pretty clever idea. Particularly at the level of complexity Human Resource Machine presents, programming is puzzle solving: using a limited set of inputs to get the (computer to create the) output that you want. There’s a reason that ‘messing around with new programming languages’ is many a nerd’s idea of a fun weekend: it’s like playing a procedural open-world puzzle generator, except the objectives are ‘anything you care to think of’. And it gets you potential job skills!

And that’s really what Human Resource Machine is in a nutshell: a more guided version of the joy of new language learning and system discovery, bundled with cutesy graphics and upbeat music. It’s a laid-back Assembler tutorial with a tileset.

Interspersed, occasionally, with a story about horrible robot armies.

Well. I say ‘tutorial’, but that’s not really true. It’s important to note that Human Resource Machine almost never actually teaches you anything. Each new code command is introduced, and some of the more complex ones (like pointers) have one or two ‘easy’ levels to help you get acquainted.

For certain values of ‘help’.

But apart from that, the game never explicitly briefs you on how to do anything cool. And, honestly, I get why it doesn’t want to do that. Figuring out cool stuff is 100% of the gameplay joy.

But this does mean that Human Resource Machine comes with a big caveat: the amount of fun you’ll have is quadratically related to your pre-existing programming knowledge.

The sweet spot is… well, more or less where I am, I think. If you have enough general programming skill to talk a decent code, but not enough to actually get paid for it, Human Resource Machine is a really fun game with a satisfying difficulty curve. The whole previous page was basically my version of this experience. I understood the underlying mechanics easily enough, but the more complicated problems got hard fast.

In fairness, Human Resource Machine lends you a hand some of the times. You can ask your bosses for clues and hints, and every so often, those hints will actually be useful! In unfairness, though, the actually useful stuff usually boils down to ‘here’s some key words you can go Google’.

And even that’s not always the case. I only knew to search for ‘bubble sort’ in the Three-Sort puzzle because I saw the term float by on Twitter.

The lack of direct guidance being what it is, achieving the optimization goals can be hard. Hell, I’m still not entirely intuitively sure what the speed challenge even entails. Size, that’s easy: you just use X commands or less. But in larger programs, it gets all kinds of difficult to keep track of how fast a program resolves. Or where the slowdown comes from. Or what you can do to improve it.

The game isn’t kidding when it tells you it’s often impossible to get both of them at the same time. Using loops, for instance, I was able to hit the size goal here, but not the speed goal…

…but by ditching the loops and writing out the program in full, I did manage to get the speed goal! It only made sense afterwards, when I realized that every loop iteration adds one extra speed step to the total.

Oh, and don’t think you can game the system by manually doing the math on your inputs and hard-coding the inputs and outputs. Under the hood, Human Resource Machine actually tests your solution against a whole bunch of random solutions… and it will tell you in no uncertain terms it’s on to your chicanery.

Still, like I said, it worked for me. I got all the puzzles! Some more efficiently than others. And I was happily surprised to find out that, at least in certain puzzles, there’s even room to complete the assignment objectively better than the game was expecting. It provides an incentive to go back to older puzzles and try again, maybe approach the problem from a different angle.)

Before this, I occasionally had the feeling that I was just ‘chasing the set optimization’. I’d see that the best size was 20 commands, and ‘knew’ that any smaller solution I made would probably not work completely.

I’m assuming the challenge drops a little if you actually are a seasoned programmer, however. One cool aspect of Human Resource Machine is that all of its puzzles are (based on) actual programming problems: you’re building mathematical functions, and string organizers, and sorting algorithms and the like. Which is cool if that’s not already your day job, or the foundation of your Masters degree, but if it is… Counterintuitively, I don’t know if I’d recommend this game about programming to actual programmers.

Then again, Shamus seems to enjoy it just fine. So maybe the cutesy graphics and the back-to-basics level of Human Resource Machine work better than I thought.

On the other side of the coin, if you don’t have any programming knowledge… eesh. You might be in for a bad time. Human Resource Machine stresses that you don’t actually need ‘programming skill’ to play: just a firm grasp of relational logic and a willingness to try a bunch. But I’m not sure. There might be some brick walls in your future.

Still, as far as getting a taste of actual professional programming goes… ‘hitting random brick walls for no reason’ might actually be a pretty good approximation. Just be forewarned, I guess. And bring a helmet.

Final thoughts

Huh. We’re already at the end? I guess this review is a little shorter than what you’re used to, then. I just don’t have that many different things to say about this game!

I guess the takeaway message from this review is that Human Resource Machine is fun in that particular way programming is fun. If you like programming, particularly the exploratory part of it but also the strict optimization, you’ll probably like Human Resource Machine! And inversely, if you play Human Resource Machine and find out you really enjoy it: why not try some programming? In this, The Era Of The Always Internet, there’s thousands of programming tutorials of all shapes and sizes half a Google click away.

And it’d be remiss of me not to mention Human Resource Machine‘s other good qualities! I adore the graphical style, for one. I particularly like how your character actually changes with age, heavy-handed as the metaphor may be. And the writing has a classy kind of subdued humor to it: it’s never laugh-out-loud funny, but the bleak bizarro world-building on display made me giggle a few times. The soundtrack is nice, too… though I’m still not a big fan of the lack of audio options. There’s only the option to mute the music entirely, and nothing for the (loud) sound effects. Which is not really a defensible oversight in this, the Even Moreso Than Back To The Future 2 future. I know mobile gaming and headsets are the order of the day, but some people like listening to podcasts and such while they play. And those people usually prefer not having to dig into Windows Audio Mixer settings.

That last nitpick notwithstanding: if Human Resource Machine seems like your cup of tea, it’s currently ten bucks on a variety of platforms. I consider that good money for a fun game. And maybe… so will you?

<< Back to page 1.

IF (Reader.Enjoyed(ThisReview)) THEN {TwitterFollow(Steven Beargal); SteamBefriend(Jarenth)}.
IF (Reader.Enjoyed(Indie Wonderland) & Reader.Enjoyed(Ninja Blues) THEN {ConsiderSupporting(our Patreon campaign)}?


  1. Argh! You didn’t close your curly braces! Or if you did WordPress ate them.

    Please fix, also please fix your TERRIBLE lack of whitespace!

Leave a Reply

Your email address will not be published. Required fields are marked *