Human Resource Machine walkthrough - code solutions for Year 29 to Year 41

Human Resource Machine is a game about programming. And developer Tomorrow Corporation doesn't even try to hide that fact, like Spacechem or Infinifactory does.

You are literally writing code, complete with loops and logic gates, to manipulate data. You've even got a little memory space to play around with, drawn out as a grid on the floor.

As such, the game can be very tricky for non coders. Which is why we've put together this walkthrough, to help you get through a tricky level. Right now, this guide only covers the main stages on the critical path up the elevator.

If you've got a better solution (that hits an optimisation challenge we missed), please drop it in the comments below!

Year 29 - Storage Floor

Objective: Imagine each thing in the inbox is an address. And each address refers to a tile 0-9 on the floor. Your task: for each address in the inbox, pick up the letter at that address and outbox it.

Room layout:

HRM

Our code:

HRM

This code will complete the following optimisation challenges: Size and speed

Year 30 - String Storage Floor

Objective: Each thing in the inbox is an address of a tile on the floor. For each address provided in the inbox, outbox the requested item from the floor and all the following items on the floor until you reach a zero. Repeat!

Room layout:

HRM

Our code:

HRM

This code will complete the following optimisation challenges: Size and speed

Year 31 - String Reverse

Objective: For each zero terminated string in the inbox, reverse it and put the result in the outbox. Repeat!

Room layout:

HRM

Our code:

HRM

This code will complete the following optimisation challenges: Size and speed

Year 32 - Inventory Report

Objective: For each thing in the inbox, send to the outbox the total number of matching items on the floor.

Room layout:

HRM

Our code:

HRM

This code will complete the following optimisation challenges: Speed only

Year 34 - Vowel Incinerator

Objective: Send everything from the inbox to the outbox, except for vowels.

Room layout:

HRM

Our code:

HRM

This code will complete the following optimisation challenges: Size and speed

Year 35 - Duplicate Removal

Objective: Send everything from the inbox to the outbox, unless you've seen the same value before. Discard any duplicates.

Room layout:

HRM

Our code:

HRM

This code will complete the following optimisation challenges: Neither

Year 37 - Scavenger Chain

Objective: Each pair on the floor contains: 1. Data. 2. The address of another one of the pairs. A scrambled chain! Each thing in the inbox is an address of one of the pairs. Outbox the data for that pair, and also the data in all the following pairs in the chain. The chain ends when you reach a negative address. Repeat until the inbox is empty.

Room layout:

HRM

Our code:

HRM

This code will complete the following optimisation challenges: Speed only

Year 39 - Re-Coordinator

Objective: Each number in the inbox is an address of a tile on the floor. Send to the outbox the coordinates of that tile, column first, row second. For example, an address of 6 has coordinates 2, 1.

Room layout:

HRM

Our code:

HRM

This code will complete the following optimisation challenges: Neither

Year 41 - Sorting Floor

Objective: For each zero terminated string in the inbox, sort the contents of the string, smallest first, biggest last, and put the results in the outbox. Repeat for each string!

Room layout:

HRM

Our code:

HRM

This code will complete the following optimisation challenges: Neither

More Solutions

Year 1 - 6 | Year 7 - 25 | Year 29 - 41