Recently, my gaming bandwidth has been taken up by the new Zelda game, A Link Between Worlds. It’s been a while since my last trip to Hyrule, but I’ve always loved the ingenuity behind the dungeons, especially the ones in Ocarina of Time which could take upwards of hours (Water Temple, I’m looking at you) to complete on the first run. One of them jumps to mind particularly: The Forest Temple, a dungeon you encounter in the early-mid game immediately after gaining access to adult Link.
At first glance, it seems like a completely normal dungeon–You’ve got your wolves, you’ve got your carnivorous plants, and the obvious puzzle in the form of 4 torches that have to be lit. Fairly straightforward, until the game hits you with this:
The first time you hit the twisting hallway, you have to follow it as-is to the other side, your perspective being warped, to end up in a room with you standing on its “wall”. On the “floor” is a chest, inaccessible in your current state, and further on is a door you don’t have the key to. After a few more rooms and a battle with some wolves, you end up with the bow which allows you to hit a switch to un-twist the hallway, bringing a completely new perspective to the rooms–Most obviously, the chest from the earlier “floor” is now reachable, and after a little contemplation and a lot of climbing, you get the key to the previously locked door… Which you can’t access until you re-twist the hallway.
This simple sequence is, in essence, what makes the classical Zelda dungeons challenging and oh so much fun. In addition to an “item of the moment”, each area contains an inventive mechanic that completely changes the landscape of the entire dungeon. A room is completely different when your perspective is rotated, platforms become traversable after you flood the floor with sand, and so on. It’s no longer just Push a block over here, it’s Push a block over here to change the water level so we can push that other block, and then change the water level back to align the two blocks properly and maybe we can finally get to that chest over there. Oh wait, that didn’t work, maybe if I switch the water level back BEFORE moving the second block…
Sound familiar? The hardest dungeons’ mechanics tend to use some piece of outside state to introduce exponentially more complex interactions between the existing items that Link already has access to. Interactions that now depend not only on the current environment, but also the configuration of surrounding environments, and probably the order that everything was done as well. Keeping track of all that is welcome, even enjoyable, when I’m playing Zelda. But I have no wish to be dealing with such things when I’m trying to make sure my code is doing what I want it to.