Human Resource Machine: Difficult Problems and Introduction of Video


Playing Human Resource Machine (link for HRM 1), I have learned something about myself. Puzzle games that are actually challenging are intensely frustrating. Fortunately, successfully completing them is rewarding, even if to some people they might seem insignificantly easy, and this does alleviate the exasperation that accompanies them. Strangely, I did not feel this frustration with The Talos Principle. It was probably a simpler game.

On to the end of HRM, but I can't actually speak to the ending of the game, not having finished it yet. But I really dug in and managed to make some progress on the end third of the game.

Today, in addition to talking about some of these puzzles, I'm introducing a new feature: in-game video. As I work to incorporate it, the first feel times are going to be a bit rough, but it will improve. Incorporating video will always be helpful, but especially with a puzzle game that requires a bit of explanation.

In HRM we'll start with level 25, Cumulative Countdown. In this puzzle, the player needs to take each number from the inbox and place the sum of it, plus all numbers down to zero, in the outbox. If the number were ten, the answer would be 10+9+8+7+6+5+4+3+2+1 = 55.

My though process for creating the program was the following.

Start by taking X from the inbox. Place X in space 0. Place X-1 in spot 1. Add X and X-1 and place in spot 2. Create X-2, and add to spot 2. Repeat until X-Y is 0. Then place whatever is in spot 2 in the outbox. There are caveats, like what if the original block is 0.

Here is the resulting transcript, and after it is the video.

A
Inbox
Jump if Zero to D
Copy To 0
Copy to 1
-Bump 1
Jump if Zero to F
Add 0
Copy To 3
B
-Bump 1
Jump if Zero to C
Add 3
Copy To 3
Jump to B
C
Copy from 3
D
E
Outbox
Jump to A
F
Copy From 0
Jump to E

As a note, before you start watching the video: I downloaded the free version of Fraps. If it seems effective, I plan to buy the full version. The free version only allows 30 second videos, but that's not a problem for HRM. So here is where I would like to compliment the designer on including a dial to adjust the speed. It is invaluable for me, creating thirty second videos where the entire level needs to be seen, but also for those eternal puzzles with over two hundred steps. One couldn't finish the longer puzzles if they had to be viewed at normal speed.
 

Ok, you've seen the video. The player builds their program on the right, from the commands that game provides. Looking back at my program for level 25, it seems crazily constructed: way too many Jump commands. It fails the size challenge (number of commands) by six, but beats the speed challenge (number of steps on average). Could I fix it? Hopefully, some other time.

Let's look at one more puzzle today. For level 31 I have two videos, mine and Mark Brown's from Pocket Gamer. I took his program and pasted it into the game without the creative labels.

Before I type the two programs, I need to introduce a new command. As you might have noticed, the later puzzles include a grid on the floor with numbered spaces. Previously, commands like CopyTo, CopyFrom, Bump, Subtract, Add, and so on, needed to be aimed at a particular numbered spot. In level 31, the player now aim indirectly. Meaning, if I tell the program to CopyTo 10, the worker will place the block he is holding in space 10. But, if I tell the program to CopyTo [10], the worker will look at the number in space 10, and if it is a 3, he will place the block in space 3.

Watch the video I made, which may help explain it. Not that there is any audio (haven't quite got it down yet, but it will come some day).




Back to level 31, String Reverse. As the name implies, one has to take the letters provided and at every zero, place in the outbox in reverse order. Thought process. Pick up block. If zero move on, if not place block in spot 1. Pick up next block and place in space 2. Repeat, placing the next block in space 3, and so on until reaching a zero. Then pick up in reverse order and place in outbox.

Here are the two programs. Mine's size is 14 and speed is 129. The other only uses 11 commands and 122 steps.

My Program Better Program
A A
B B
Inbox +Bump 14
Jump if Zero to C Inbox
CopyTo [14] Jump if Zero to C
+Bump 14 CopyTo [14]
Jump to A Jump to A
C C
CopyTo 13 -Bump 14
D D
-Bump 14 CopyFrom [14]
Jump if Negative to E Outbox
CopyFrom [14] -Bump 14
Outbox Jump if Zero to A
Jump to D Jump to D
E

CopyFrom 13

CopyTo 14

Jump to B


Now, I have my program first.


My program fails both challenges. But it works and that's something. I read on a steam forum, though I can't find it anymore, there is a limit on the number of steps the game allows. Now watch the better solution.


What differences are there? The most noticeable is I (for some reason) use two spaces for number blocks. At the time it made sense. It doesn't now. Also, and maybe this doesn't seem like too much of a difference, but mine takes about four more seconds on the highest speed. 

I would like to finish today by 1) Thanking you for accepting my new found enthusiasm for video, 2) Apologizing for my new found inability to create enjoyable video, and 3) Hoping you'll join us next Monday for the final article on Human Resource Machine.

As final note, how is the size of the embedded video?  Are they too large, too small, or something else entirely?

Comments