Zoe Solution

How It Works

The instruction sheet has four practice maps designed to teach everything needed to navigate the final map's maze.

Guide Notation: O2O1 is operation. V2V1 is value. Each bit can be punched (1) or unpunched (0). All numbers here are specified in bit notation: 11 = decimal 3, 10 = decimal 2, 01 = decimal 1, 00 = decimal 0.

Move, Move, Move

Solution requires learning that operation = 01 causes the robot to move until it hits a wall and then turn right ninety degrees. Value is the number of times to do the move&rotate action.

O2O1V2V1Explanation
Move to wall and turn right, three times
Move to wall and turn right, twice
Move to wall and turn right, once
Move to wall and turn right, once

Lefty Lucy

Solution requires learning that operation = 10 causes the robot to rotate to the right without moving. Value is the number of times to rotate ninety degrees. So value = 11 is a left turn.

O2O1V2V1Explanation
Rotate 180 degrees
Move to wall and turn right
Rotate 180 degrees
Move to wall and turn right
Rotate 180 degrees
Move to wall and turn right

Blue's Moves

Assumes teams already understand move and rotate from the first two maps.

Solution requires learning that operation = 01 (move) actually has two modes. It starts in yellow mode which does a move until hit wall and then rotate. When the robot completes an instruction and is on a blue square then it switches to blue mode. While in blue mode it does a limited chess knight move: forward, forward, turn right, forward. Ending on yellow switches back to yellow mode.

There are several small details to discover here:

  • If any of the forward moves in blue mode hit a wall then the robot fails and stops execution of the program.
  • Moving over a colored square does not affect the robot's mode.
  • As a part of a value = 10 or value = 11 multistep move: Stopping, but not ending, on a colored square does not affect the robot's mode.
O2O1V2V1Explanation
Move to wall and turn right. Switches to blue mode.
Knight move once. Remains in blue mode.
Turn left.
Knight move three times. Remains in blue mode.
Turn left.
Knight move once. Switches to yellow mode.
Move to wall and turn right.

Solve Me In FOUR

Assumes teams already understand move and rotate from the first two maps.

Solution requires learning that operation = 11 repeats the last value instructions. You can repeat a repeat.

Understanding repeat is necessary to solve the final map within the twenty four instructions available on the punchcard but figuring out a route through the maze can be done without it.

#O2O1V2V1Explanation
OneRotate 180 degrees
TwoMove to wall and turn right
ThreeRepeat previous two instructions
* Rotate 180 degrees
* Move to wall and turn right
FourRepeat previous three instructions
* Rotate 180 degrees (instruction one)
* Move to wall and turn right (instruction two)
* Repeat the two instructions prior to instruction three
  * Rotate 180 degrees (instruction one)
  * Move to wall and turn right (instruction two)

Instruction Reference

The robot supports three operations and has two movement modes.

O2O1Explanation
No operation. Value must be zero.
Move, value times.
* In yellow mode, moves to wall and turns right.
* In blue mode, moves forward two squares, turns right, moves forward one square.
Rotate right, value times.
Repeat previous value instructions.

Dangerous Storage Room

Full solution requires understanding move, rotate, and repeat instructions and blue/yellow modes. Maze solve can be worked on without understanding repeat.

There are some minor variations in the upper left quadrant, but otherwise the route is fixed. When the simulator reaches the green square it reminds teams to bring their punchcard to the lab manager who will "execute" it in the real room.

Solution

Teams gave the on-site staff their completed punchcard and "the robot" retrieved an item with the answer XENON written inside it. The key would prove useful for solving the Failsafe puzzle.

Design Notes

The inspiration for this puzzle came from a couple of places. Jon originally had an idea to write a puzzle that involved programming a robot via punchcards. He shared this idea with Kim, who had recently been playing a lot of the board game Ricochet Robots (and Robot Ramble to a lesser extent), and she thought the maze solving concept would be a fun thing to program the robot to do.

Puzzle design took a number of iterations to make solveable in a reasonable time. By the time that was done every single person on staff had been used to play test the puzzle mechanics. Punchcard reader computer vision software took even longer. The one element of this puzzle that didn't get much revision at all was the final maze being solved. It was created the first night Jon and Kim started working on the puzzle as a placeholder to try out some of our ideas and determine whether it was possible to create mazes with a semi-deterministic and reasonably-lengthed solve path. Apparently the placeholder worked well, as it was never modified.

We wrote a solver for the maze that converts the problem into a graph with 1,733,961 edges and then finds the shortest path. The optimal instruction count that we are aware of is 20, but we weren't evil and didn't require teams to optimize to that extent.

The puzzle title is a reference to TV show Caprica. The main character Zoe finds herself stuck in a robot body.

Construction Notes

Installing Windows on thirteen identical computers simultaneously is super fun and amusing when the Windows startup sound plays thirteen times in rapid succession.