Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Games I have played

7 Billion Humans

  • The sequel to Human Resource Machine

Lessons Learned

  • ...

Levels and the patterns / processes used to solve them

  1. You're Hired (cutscene)
    1. Robots have been able to take over all useful work, but people are complaining that they want work, so they're going to be given busywork. You see an alien hand reach from out-of-frame twice, making me think aliens are behind both the robots and this new jobs plan. Your job is to write the instructions for the humans to follow.
  2. Welcome, New Employees
    • Introduces the step, pickUp, and drop commands.
  3. Transport Squad
    • Introduces you to the idea of repeating commands (in this case, you put two step commands in a row to have the workers step two times).
  4. Long Distance Delivery
    • Introduces you to the jump command, which lets you loop your commands (in this case, looping the step command).
  5. An Important Decision
    1. Introduces you to the if/else commands.
  6. Little Exterminator 1
    1. Introduces you to the concept of a bug: there's a problem in a pre-existing program and your task is to find it and fix it.
  7. Collation Station
    1. This one seems to be the first puzzle where you need a nested if/else statement.
    2. Introduces you to the comment command.
  8. Intro to Morale Officers (cutscene)
    1. Doesn't seem to advance the plot. It's just two robots congratulating you on your progress and explaining how to congratulate a worker (with a kind word and a pat on the butt).
  9. Dynamic Angles
    1. Introduces optional size and speed challenges, which you can ask the boss about.
  10. Emergency Escapades
    1. Has a four-level-deep nested if/else statement.
    2. Has you control a person based on the number on a data cube at their location.
  11. Injection Sites 1
  12. Unzip
  13. Injection Sites 2
  14. Intro to Shredding
  15. Shred Lines
  16. Little Exterminator 2
  17. Content Creators
  18. Uniquely Disposed
  19. Content Creators Bug Fix
  20. Reverse Line
  21. Big Data
  22. Number Royale
  23. Sorting Hall
  24. Budget Brigade 1
  25. My First Shredding Memory
  26. Budget Brigade 2
  27. Fitness Program (cutscene)
  28. Neural Pathways
  29. Biometric Access
  30. Fill the Floor
  31. Checkerboard Organization
  32. Creative Writhing
  33. Data Backup Day
  34. Seek and Destroy 1
  35. Intro to Calc for Art Majors
  36. Seek and Destroy 2
  37. Dangerous Spreadsheeting
  38. Seek and Destroy 3
  39. Printing Etiquette 1
  40. Printing Etiquette 2
  41. Image Decrypter
  42. Important Email Organization
    1. Task: A 6x10 area of randomly-numbered data cubes ("emails") numbered 0 through 99 needs to be sorted into shredders numbered 0 through 9, depending on the tens-place of the email.
    2. You have to deal with how to get the human to know which shredder to drop the cube in. I used a Memory slot to store their number divided by 10 and then just compared the label below them to that result.
    3. You have to deal with the "pick up nearest data cube" command leading the humans to pick up the labels above the shredders. I dealt with this by having them walk up to the top of the room before looking for their next data cube.
    4. You have to deal with the humans trying to pick up the label data cubes after they've exhausted all the 'normal' data cubes. I did this by having each human deal with 12 data cubes and then stop (because there are 60 total cubes that need to be shredded).
  43. Multiplication Table

Factorio

Human Resource Machine

...

  • Crashes
  • Basic Execution Node
    • Registers
      • ACC - Stands for 'accumulator'.
      • BAK - Stands for 'backup'(?). Only accessible through the SAV and SWP instructions.
        • You can't read directly from this register, so you can't add, subtract, or JMP based on this register's value.
      • NIL - Reading NIL produces the value zero.
        • This is useful if you have a node that accepts an input from another node, and under certain conditions the input from that other node isn't needed, and your node needs to use its ACC register to store something (so you can't do "MOV <DIRECTION>, ACC"). You can just say "MOV <DIRECTION>, NIL" to clear the input from that other node.
        • It's also useful to keep your code easy to understand in situations where your node doesn't need to use ACC (so you could just say "MOV <DIRECTION>, ACC"), because it'll be clear that that input was unneeded.
      • LEFT, RIGHT, UP DOWN
      • ANY - I still haven't used this one.
      • LAST - I still haven't used this one.
    • Instruction Set
      • # Comments
        • You can name your program in the segment list by adding a line with two leading hashmarks, like this: "## test"
      • <LABEL>:
      • NOP - "No operation", it's equivalent to "ADD NIL".
      • MOV
      • SWP
      • SAV
      • ADD
      • SUB
      • NEG - Negate.
      • JMP <LABEL>
      • JEZ
      • JNZ
      • JGZ
      • JLZ
      • JRO <SRC>
        • -1 refers to the instruction before the current line.
        • 2 skips the next instruction
        • ACC will use the value in ACC to determine what line to jump to.
  • Stack Memory Node
    • Attempting to write to a full memory node or trying to read from an empty memory node will result in a block.
  • Keyboard shortcuts
    • Ctrl + Z - Undo last change
    • Ctrl + Y - Redo last change
    • Ctrl + X - Cut
    • Ctrl + C - Copy
    • Ctrl + V - Paste
    • Ctrl + Arrow - Navigate to the adjacent execution node
    • F1 - View instruction set quick reference
    • F5 - Begin running the current program
    • F6 - Step or pause the current program
  • Breakpoints
    • Put an exclamation point (!) at the beginning of a line.
    • When you hit a breakpoint, click 'Play' to resume execution. Execution will stop again if the breakpoint is hit again.
  • Visualization Module
    • The format for out put is 1) the starting X coordinate, 2) the starting Y coordinate, 3) one or more color values, and 4) a terminating negative value (e.g. -1).
    • The coordinate system starts at (0,0), which is in the top-left of the display.
    • Available colors:
      • 0 - Black
      • 1 - Dark grey
      • 2 - Bright grey
      • 3 - White
      • 4 - Red
    • Resolution - 30 characters wide and 18 characters tall.
      • The sandbox is 36 wide and 22 tall.

Levels and the patterns / processes used to solve them

Misc

  • Your cycle/node/instruction statistics show your best results across all of your solutions. So, like, if one of your solutions has the best node count, and the other has the best cycle count, both will have those values used for these stats.

...