I work at a video game development studio- but I don’t actually make games. As a Marketing Assistant, my primary responsibilities involve writing about and promoting our games through in-person and digital channels. While I love my job, I can’t help but have a tremendous amount of appreciation for the work our game developers do on a daily basis- everyone from the artists who translate ideas from their imaginations into tangible art assets to the producers who work tirelessly to meet deadlines and ensure projects are completed on budget.
Of all the players involved in the creation of Filament’s games, I am perhaps most in awe of our game engineers and programmers. As someone with zero coding knowledge or experience myself, I oftentimes find myself peeking over at their computer screens and staring in admiration at the seemingly infinite lines of code the team outputs on daily basis. While I acknowledge that I may never achieve the programming proficiency of the talented folks on our team, in recent weeks I have developed a newfound interest in learning basic computer science fundamentals...and what better way to try to learn something new than with one of the games available on our online Filament Learning storefront, Human Resource Machine EDU.
Developed by the same team behind beloved indies World of Goo and Little Inferno, Human Resource Machine EDU is a mind-bending puzzle game that teaches the basics of programming via bite-sized, challenging levels. Players assume the role of a corporate office worker tasked with carrying objects between an inbox, an outbox, and storage areas. In order to progress through each level, one must automate their employee to complete a specific task using a handful of pre-selected commands- a challenge that escalates quickly as new complications are continually introduced by your supervisor. For instance, one early level asks players to grab two numbers from the inbox and put only the bigger of the two in the outbox. Players create a list of instructions and watch as their worker either succeeds in their automated efforts, or fails and is scolded by their supervisor.
At its core, Human Resource Machine EDU serves as a visual metaphor for assembly language, a low-level programming language used by some computers and other programmable devices. As players assign their worker instructions, their actions mirror a real life programmer writing commands in an actual programming language. Similarly, the ability for the in-game worker to store objects on the floor mirrors the function of memory on a real computer. What makes the game so effective as a teaching tool, more so than a textbook or online module for instance, is its use of visuals to display and demystify complex and abstract programming concepts, a feature which proved to be incredibly helpful for a first-time programmer like myself. Players watch as their worker scurries around the office performing each instruction step-by-step, which makes working through complicated problems and debugging errors a comprehensible, enjoyable, and overall satisfying learning experience.
Further aiding its power as an educational tool, Human Resource Machine EDU cleverly scales its difficulty depending on the needs of the individual player. I certainly appreciated the hints and advice made available by pestering the in-game supervisor. These words of wisdom became increasingly necessary as the challenges became brutally difficult towards the end of my playthrough. On the other hand, some players will undoubtedly have prior programming experience, so the developers included optional optimization challenges for each level that require the player to complete the stage using the bare minimum number of commands and steps. By giving players the option to tailor the difficulty to their liking, the game simultaneously widens its appeal to players of all programming ability levels and allows learners to continuously improve their skills by replaying old levels and attempting new optimization challenges.
Looking back on my time with Human Resource Machine EDU, I can safely say that it succeeded in teaching me basic coding principles such as designing simple algorithms while also introducing me to more advanced concepts like boolean logic, subroutines, and loops. While it is unlikely that the skills I’ve acquired will allow me to immediately transfer from my marketing role to a game engineering one, the game was highly effective in immersing me in its universe and teaching me more about computer programming than I had previously imagined possible.
But don’t just take my word for it- Dr. Kurt Squire, one of the most influential game-based learning researchers in the world, also strongly recommends you play this game. If there is anyone whose learning game suggestions you should listen to, it’s his.