A game about computation, problem solving, and free thinking.
There is a game called: Human Resource Machine. Here is a description of the game from the Steam product title page.
“Program little office workers to solve puzzles. Be a good employee! The machines are coming… for your job. From the creators of World of Goo and Little Inferno.” Check out their website: https://tomorrowcorporation.com/humanresourcemachine for more information.

see wikipedia page: https://en.wikipedia.org/wiki/Human_Resource_Machine
This game is a gem. If you have not tried it, I highly recommend that you do. You will absolutely love the game if you are someone who wondered about programming, inner workings of computers, computation, data structures, algorithms, and logic. Best of all it is so accessible and friendly.
The game reminds me of Richard Feynman talking about computers. You can find it here: https://www.youtube.com/watch?v=EKWGGDXe5MA. As in the video, the game uses the office filing system and office worker as a model of computation, which is a very old and a powerful idea. I remember learning of this during my own university days. This idea holds up well today as HRM demonstrates.
On a related note, there is a similar model of computation called Little Man Computer:
โThe LMC model is based on the concept of a little man shut in a closed mail room (analogous to a computer in this scenario). At one end of the room, there are 100 mailboxes (memory), numbered 0 to 99, that can each contain a 3 digit instruction or data (ranging from 000 to 999). Furthermore, there are two mailboxes at the other end labeled INBOX and OUTBOX which are used for receiving and outputting data. In the center of the room, there is a work area containing a simple two function (addition and subtraction) calculator known as the Accumulator and a resettable counter known as the Program Counter. The Program Counter holds the address of the next instruction the Little Man will carry out. This Program Counter is normally incremented by 1 after each instruction is executed, allowing the Little Man to work through a program sequentially.โ
See Wikipedia entry: https://en.wikipedia.org/wiki/Little_man_computer
HRM is an educational game done right. Learning is natural, fun, and sometimes even a good bit of frustrating. What is learning without some frustration to get over the hurdle and the ultimate price of reward of solving the problem?
HRM trains the same kind of problem solving muscles that are needed for real world programming. There is literally no difference from the abstract problem solving perspective. There is an opportunity to think about the process of computation itself, how we think about information, and the processing of that said information. Best of all, so many complex things can be done with such simple tools. This realization alone to new comers will come as revolutionary. I certainly remember the feeling I had of awe when I learned of Universal Turing Machines. There is so much opportunity to explore how computers work which removes the mystery behind these magic boxes.
Naturally, after finishing the game, there was only one thing left to doโthat is write my own virtual machine to run HRM programs! HRM allows you to copy and paste code from and to anywhere. Your Imagination is the limit. I was compelled to make use of this feature, or at the very least try.
Check out the project at https://gitlab.com/deepnet42/cara. Cara is not an acronym. I imagined Cara as one of the characters in the game, and therefore she can solve any of the levels in the game and more. The project is written in C++.
Lastly, when I was playing HRM I could not help but to be reminded of the following books:
- Code: The Hidden Language of Computer Hardware and Software by Charles Petzold
- Feynman Lectures On Computation by Richard P. Feynman
If you liked HRM you will absolutely love these books.
Read Part 2. Part 2 takes a more detailed look at why HRM has a high educational value for first time programmers.