Robotropolis is a terrible place. Not a minute after arriving via subway escalator, I realized that the streets surrounding the exit were a Lost Woods-type situation where every direction led to an identical set of paths until you take a specific pattern through it, and when you do, what's next is a maze undergoing a raging magnetic storm that kills your batteries.
Nearby, a storm shield component could be collected, and a device that could modify one of my sensors to detect storm clouds. I didn't really see the point of doing that; I could just wire the storm shield component to be permanently on while traveling the maze and disconnect once through it.
An extra power crystal is found in the maze, and a conspicuously placed token gets repulsed around in the storm. You can't pick it up, but a robot can.
One passage out of the maze leads to a scene.
A keycard can be fished out of the trash and used to unlock the elevator - I hold onto the keycard, of course. The elevator leads to a '5' chip, and a puzzle.
Like in the subway, this is going to take cooperation, but this time, there's a barrier that only the robots can cross. We're going to need two robots working in coordination. Maybe even three.
Scanner's up/down wiring is easily modified to drop the token when he hits the slot.
Sparky can find his way to the lever as-is, and with a few wiring modifications, can be made to pull on it.
That leaves me with Checkers, who will need to grab the goods, come back, and signal to Sparky that it's okay to let go once he returns.
Sparky's wall-hugging behavior would be useful here, and thankfully, this circuit is already saved on the disk's reverse side, along with a few others.
I load it onto the blank '3' chip and wire Checkers accordingly. The signal will come from a crystal sensor, and the spare crystal is placed one room to the south. Sparky is modified to let go once he gets Checkers' signal.
I let 'em go at it, and...
...it's a failure. The wall-hugging chip isn't smart enough to get inside the vending machine. Arghhh! The crystal killswitch works fine, at least. I just have to chase down Checkers and disengage his motors before he gets carried away.
I found a simpler design that didn't need the chip, but did need a bit of manual intervention.
- When you're not carrying anything, move up, and move right too if you're touching the roof.
- Once you pick up the ticket, go down and left.
- Hitting the floor sends the signal to Sparky to let go.
The one bit of manual control is that Checkers must be started after Sparky opens the vending machine - too soon and Checkers hits the token slot instead of the roof and moves right too early.
Following this little adventure, Scanner is starting to look a little low on energy. I've got two spare crystals, at least, but the only recharging station I've seen is past the point of no return.
One last untaken exit from the stormy maze leads to a residential area - another non-Euclidean maze with a bunch of items scattered around including a '6' chip and a bunch of sensors. And my inventories are looking very cluttered by now.
Skulking around, I see an inaccessible bureau-bo-crat, demanding F-12s like what I just picked up.
A room in this area has another puzzle:
Doesn't seem too difficult - just wire a robot to move right until he hits the wall, and then up and left to the switch, and the other bot can get the other one.
One room over,
I can't cross through the force field connecting these rooms, but the robots can. But then what? The map I've been making says the gatekeeper should be one more room over to the right, and up/down don't really go anywhere, but there's a solid wall to the right. And furthermore, this district already doesn't follow a strictly orthogonal grid pattern, so can we really count on my map to be accurate?
I expect the challenge is to get the robot into the center of the room and touch the thing in the middle. The room on the left is identical except for lacking the button, making it a good place to test logic; I just need to substitute another object - either a key or a crystal - if I want to use position sensors.
Using a positional sensor to guide the robot seems like a good idea, but I soon realize a problem; the moment my robot enters the room, the sensor momentarily fires to the left, and if I've wired the robot to move left on that condition, then it leaves the room and gets stuck in a loop.
After some attempts at a logic table-based solution were foiled by race conditions, I instead used a flip-flop to change machine state - the robot goes right until it hits the wall, and only then do we allow the button sensor logic to take any effect.
|Right bumper also means "go up."
Almost there. We just need Scanner to move down, so I add some circuitry to let him do that on three conditions - that the flip-flop has flopped, that the button sensor detects it southward, and that he is not currently touching the right wall.
|This mess of stuff gets difficult to work with!
The door opens to the right, and thankfully, the force field also deactivates. I did not wish to have to reprogram Scanner even further to hand-deliver the F-12 himself.
I hand over the form, and the gatekeeper processes it, confiscates Sparky's shield, and lets me take the teleporter up to the next level - the control center.