The thirteenth level of human resource machine. Why oh Why is there not an equals to or compare command. The thirteenth level of human resource machine. Why oh Why is there not an equals to or compare command.
Human Resource Machine | Table of Contents | Walkthrough
Table of Contents
Instructions[edit]
Strategy[edit]
For the first time in a while, the boxes on the floor come pre-loaded with a set of values. There's a 0 in box 4 and a 1 in box 5. You'll be using those as the values that you'll ultimately place in the OUTBOX. So to start, let's just setup the OUTBOX portion of the code. We'll set up something like this:
Now when you detect two numbers that are the same, you'll jump up above the COPYFROM 4, and when you detect two numbers that are different, you'll jump up above the COPYFROM 5.
For the rest of the program, you'll want to create a branching path that resembles the following decision tree:
Is the first number negative? | No: Is the second number negative? | No: Jump to the COPYFROM 4 instruction. |
Yes: Jump to the COPYFROM 5 instruction. | ||
Yes: Is the second number negative? | No: Jump to the COPYFROM 5 instruction. | |
Yes: Jump to the COPYFROM 4 instruction. |
Turning that into a program looks like so:
Optimizing Size[edit]
The above solution is pretty well optimized, and it will meet the speed challenge of the level, but it won't meet the size challenge. Intuitively carving an instruction out of the above program is not easy. It may feel as though everything that's there needs to be there in order for the program to work, so how can you remove anything?
The trick here again is to cut back on the number of jumps you need to make. In particular, the jump up to COPYFROM 4 and then another jump down to OUTBOX is slightly inefficient (although not incredibly so.) Never the less, it is possible to rearrange some of the instructions so that you can remove at least one JUMP command.
To do this, we'll bring the COPYFROM 4 instruction down from the top and drop it in below the second JUMP IF NEGATIVE. From there, we'll jump back to the OUTBOX. Likewise, move the third JUMP IF NEGATIVE to just above the newly moved COPYFROM 4. Now you can eliminate the JUMP that used to be below the COPYFROM 4 when it was at the top. Your new solution will look like so:
Additional Optimization (Speed)[edit]
We can speed up the program even further by eliminating the first jump and adding some redundant code.
Performance[edit]
Human Resource Machine | |
---|---|
Developer(s) | Tomorrow Corporation |
Publisher(s) |
|
Designer(s) | |
Programmer(s) | Allan Blomquist |
Artist(s) |
|
Composer(s) | Kyle Gabler |
Platform(s) | |
Release | Microsoft Windows, OS XWii U
|
Genre(s) | Puzzle |
Mode(s) | Single-player |
Human Resource Machine is a visual programming-based puzzlevideo game developed by Tomorrow Corporation. The game was released for Microsoft Windows, OS X and Wii U in October 2015, being additionally released for Linux in March 2016, for iOS in June 2016, for Android in December 2016[1] and for the Nintendo Switch in March 2017.[2]Human Resource Machine uses the concept of a corporate office worker assigned to perform tasks that involve moving objects between an inbox, an outbox, and to and from storage areas as a metaphor for assembly language concepts. The player works through some forty puzzles in constructing a program to complete a specific task.
A sequel, 7 Billion Humans, was released on August 23, 2018.[3]
Gameplay[edit]
The game includes approximately 40 programming puzzles, each considered one 'year' of the player's avatar tenure in a corporate structure. In each puzzle, the player creates a list of instructions from rudimentary commands to control the movements of their avatar on an overhead view of an office; the office includes two conveyor belts, one an inbox that sends in either an integer or a single alphabetic character represented as a small box, the other an outbox to receive these. The office floor typically also includes a number of marked number spaces that can hold one box each. For each puzzle, the player is told of a specific task, such as adding two numbers as they come in on the inbox, or sorting a zero-terminated string of characters, delivering these results in the proper order to the outbox.
The player uses simple commands to create a list of instructions to perform the given task. Such commands include picking up the first item at the inbox, placing the item the avatar is currently carrying at the outbox, copying the carried item to a marked square, performing addition or subtraction of the carried item with the item at the marked square, and making decisions based on the value of the carried item such as if it is zero or negative. As such, these mimic the elements of assembly language: the simple instructions equivalent to opcodes, the ability of the avatar to hold an item mirroring a processor register, and the spaces on the office floor representing main memory. Later, the player gains the ability to use the concept of memory addresses, in which they can direct instructions to operate on a specific floor space that is labeled with the number of a different floor space. The visual approach to the language also allows the player to place simple handdrawn notes as labels in both the list of instructions or to label floor spaces for clarity. The loops and jump commands are also marked with arrows to help the player identify the logic flow. Once they have created the program, they can run it through, increasing the speed for longer programs, or pause and move step by step for debugging purposes. If the outbox received any boxes it is not expected for that program, the program will immediately terminate and the player will need to figure out how to correct it. Though the player will be only be shown their list of instructions operation on one set of input and the expected output, the game will also test the list against other randomized sets of input and output, and will alert the player if any of these also fail. The player can receive a reminder of their puzzle task and an example of what type of output it should produce from a supervisor character that watches their avatar work, and the player can also gain hints on how to solve some programs.
Once the player has completed a puzzle, they are shown how many instructions it took and how long it took to process that program on average. Most puzzles have two challenges based on reaching or beating these two metrics; meeting both challenges may be mutually exclusive, but the player has the ability to return to any puzzle once solved to optimize it.
The game has a number of cutscenes shown after certain puzzles that show that the city that the player's avatar is working for is coming under attack by robots, who later gradually replace other workers with robots.
Development[edit]
Human Resource Machine was developed by Tomorrow Corporation, a development company founded by Kyle Gabler, Allan Blomquist and Kyle Gray. The game is considered by Gabler as an extension of earlier titles where they have applied gamification to other principles; World of Goo (developed by Gabler and Ron Carmel under 2D Boy) applied the game idea to the concept of Hooke's law, while Little Inferno used the game nature to explore the value of time.[4] The development team saw that the same principles could be applied to computers and used that as the basis of Human Resource Machine.[4] In contrast to Little Inferno, which Gabler stated was difficult to talk to the press without revealing a major revelation of the second half of the game, the concept of Human Resource Machine was very simple to grasp and without any secrets to keep hidden.[4] They decided on using the office environment as it made it easy to create real-life analogs for assembly language concepts that players could grasp, and making it easier for the player to build up the list of instructions.[4] The game was fleshed out by developing the on-screen dialog of the supervisor explaining the task in language that was clear to understand but still has 'a little bit of sassiness' to it, and that such language was used consistently across the whole game.[4]
Reception[edit]
Human Resource Machine Free Download
Reception | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Reviews for Human Resource Machine were generally positive, crediting the game for being able to distill the complexities of assembly programming into an easily understood visual metaphor. Angus Morrison of PC Gamer rated the game 75 out of 100, considered the puzzle progression to be strong and taught important programming concepts though would have appreciated more instruction on some of the advanced approaches; Morrison also felt the setting and story of the game was under utilized.[10]Laura Kate Dale of Destructoid, giving the game a 6 out of 10, also found the lack of instructional material for advanced concepts in the second half of the game to be troublesome, and felt that the game didn't fully commit to either being a good instructional game for new programmers or a difficult challenge for advanced ones.[11] Laura Hudson of Boing Boing believed the game's approach to programming and its visual style, matching that of Little Inferno, helps to avoid scaring off would-be players, and that some of the puzzles were designed to help make the player feel smart after completing them.[12]
Sequel[edit]
In January 2018, Tomorrow Corporation announced a sequel to Human Resource Machine, titled 7 Billion Humans, which was released on August 23, 2018. The game is based on the same visual programming principles as Human Resource Machine, but now sees the player controlling multiple human agents with the same program to complete tasks.[13][14][15]
See also[edit]
References[edit]
- ^'Androids! It's time to download… Human Resource Machine'. Tomorrow Corporation. Retrieved December 6, 2016.
- ^'World Of Goo, Little Inferno, Human Resource Machine Heading To Switch'. Game Informer. Retrieved January 24, 2017.
- ^'Tomorrow Corporation: 7 Billion Humans'. Tomorrow Corporation. Retrieved January 29, 2018.
- ^ abcde'Why a World of Goo dev made a puzzle game about programming humans'. Gamasutra. Retrieved November 6, 2015.
- ^'Human Resource Machine for PC Reviews'. Metacritic. CBS Interactive. Retrieved December 6, 2018.
- ^'Human Resource Machine for Wii U Reviews'. Metacritic. CBS Interactive. Retrieved December 6, 2018.
- ^'Human Resource Machine for iPhone/iPad Reviews'. Metacritic. CBS Interactive. Retrieved December 6, 2018.
- ^'Human Resource Machine for Switch Reviews'. Metacritic. CBS Interactive. Retrieved December 6, 2018.
- ^Funnell, Rob (June 9, 2016). ''Human Resource Machine' Review – Sine of Greatness'. TouchArcade. Retrieved December 6, 2018.
- ^'Human Resource Machine'. PC Gamer. Retrieved November 6, 2015.
- ^'Human Resource Machine'. Destructoid. Retrieved November 6, 2015.
- ^'Human Resource Machine will teach you to program and it will be adorable'. Boing Boing. Retrieved November 6, 2015.
- ^Madnani, Mikhail (January 24, 2018). 'Tomorrow Corporation Announces '7 Billion Humans', a Follow up to 'Human Resource Machine' and It Isn't Coming to iOS for Now'. TouchArcade. Retrieved January 24, 2018.
- ^Tarason, Dominic (August 15, 2018). '7 Billion Humans puts a cheerily dystopian face on programming next week'. Rock Paper Shotgun. Retrieved August 15, 2018.
- ^O'Conner, Alice (August 23, 2018). 'Tomorrow Corporation's 7 Billion Humans is out now'. Rock Paper Shotgun. Retrieved August 23, 2018.