Human Resource Machine
the game is basically learning assembly language
2020-12-09
The game Human Resource Machine involves giving instructions to an office worker to complete tasks such as sorting. It's essentially a game of computer programming, in particular assembly, but with a little office worker.
You can get a bonus for writing the "smallest" or "fastest" program. Here are my "programs", click the button to reveal. SPOILER if you disable javascript and can see the solutions.
Any jump pointing to an instruction means place the destination above that instruction.
-
Year 01 - Mail Room
This satisfies both the size and speed challenge.
Display Solutioninbox outbox inbox outbox inbox outbox
-
Year 02 - Busy Mail Room
Speed solution, just an unrolled loop (if it doesn't do all, just make more inbox/outbox commands)
Display Solutioninbox outbox inbox outbox inbox outbox inbox outbox inbox outbox inbox outbox inbox outbox inbox outbox inbox outbox inbox outbox inbox outbox
Size solution, just a loop
Display Solutioninbox <-+ outbox | jump -----+
-
Year 03 - Copy Floor
Speed and size solution
Display Solutioncopyfrom 4 outbox copyfrom 0 outbox copyfrom 3 outbox
-
Year 04 - Scrambler Handler
Speed and size solution
Display Solutioninbox <----+ copyto 0 | inbox | outbox | copyfrom 0 | outbox | jump ------+
-
Year 06 - Rainy Summer
Speed and size solution
Display Solutioninbox <--+ copyto 0 | inbox | add 0 | outbox | jump ----+
-
Year 07 - Zero Exterminator
Speed and size solution
Display Solutioninbox <------+<+ | | jump if zero-+ | outbox | jump ----------+
-
Year 08 - Tripler Room
Speed and size solution
Display Solutioninbox <--+ copyto 0 | add 0 | add 0 | outbox | jump ----+
-
Year 09 - Zero Preservation Initiative
Size solution
Display Solutioninbox <---------+<+ jump if zero -+ | | jump ---------|-+ | outbox <-+ | jump -------------+
Speed solution, basically an unroled version of the size solution
Display Solutioninbox <---------+ jump if zero -+ | jump ---------|-+ outbox <-+ inbox <---------+ jump if zero -+ | jump ---------|-+ outbox <-+ inbox <---------+ jump if zero -+ | jump ---------|-+ outbox <-+ inbox <---------+ jump if zero -+ | jump ---------|-+ outbox <-+ inbox <---------+ jump if zero -+ | jump ---------|-+ outbox <-+ inbox <---------+ jump if zero -+ | jump ---------|-+ outbox <-+
-
Year 10 - Octoplier Suite
Speed and size solution
Display Solutioninbox <----+ copyto 0 | add 0 | copyto 1 | add 1 | copyto 2 | add 2 | outbox | jump ------+
-
Year 11 - Sub Hallway
Speed and size solution
Display Solutioninbox <----+ copyto 0 | add 0 | copyto 1 | add 1 | copyto 2 | add 2 | outbox | jump ------+
-
Year 12 - Tetracontiplier
Speed and size solution
Display Solutioninbox <----+ copyto 0 | add 0 | copyto 1 | add 1 | copyto 2 | add 2 | copyto 3 | add 3 | copyto 4 | add 4 | add 3 | outbox | jump ------+
-
Year 13 - Equalization Room
Speed solution (need to find/add size solution)
Display Solutioninbox <--------+ copyto 0 | inbox | sub 0 | jump if zero-+ | | | jump ----------+ | ^ copyfrom 0 <-+ | outbox | inbox | copyto 0 | inbox | sub 0 | jump if zero-+ | | | jump ----------+ | copyfrom 0 <-+ (... and it just repeats)
-
Year 14 - Maximization Room
Size and speed solution
Display Solutioninbox <----------+ copyto 0 | inbox | sub 0 | jump if neg -+ | add 0 | | jump ----------+ | | | | copyfrom 0 <-+ | | outbox <-------+ | jump ------------+
-
Year 16 - Absolute Positivity
Size solution
Display Solutioninbox <--------+<+ jump if neg -+ | | outbox | | | jump ----------+ | | | copyto 0 <---+ | sub 0 | sub 0 | jump ------------+
-
Year 17 - Exclusive Lounge
Size solution
Display Solutioninbox <------------+ jump if neg -+ | inbox | | jump if -------+ | jump ------------+ | | | | | inbox <------+ | | | jump if neg -----+ | | | | copyfrom 5 <---+ | | jump --------+ | | | | | copyfrom 4 <-----+ | | | outbox <-----+ | jump --------------+
-
Year 19- Countdown
Size solution
Display Solutioninbox <-------+-----+ copyto 0 | | outbox <------|-+ | copyfrom 0 | | | jump if zero -+ | | jump if neg ----|-+ | bump- 0 | | | jump -----------+ | | | | bump+ 0 <---------+ | jump ---------------+
-
Year 20 - Multiplaction Workshop
Size solution
Display Solutioncopyfrom 9 <------+ copyto 2 | inbox | copyto 0 | inbox | copyto 1 | <----------+ | jump if zero -|-+ | copyfrom 0 | | | add 2 | | | copyto 2 | | | bump- 1 | | | jump ---------+ | | copyfrom 2 <----+ | outbox | jump -------------+
-
Year 21 - Zero Terminated Sum
not a size or speed solution
Display Solutioncopyfrom 5 <------+ copyto 0 | inbox <---------+ | sub 5 | | jump if zero -+ | | add 0 | | | copyto 0 | | | jump -----------+ | | | copyfrom 0 <--+ | outbox | jump -------------+
-
Year 22 - Fibonacci Visitor
Size solution
Display Solutionbump+ 9 copyfrom 9 <-+ copyto 0 | copyto 1 | inbox | copyto 3 | copyfrom 3 | sub 0 | jump if neg -+