We’ve joked about the day when someone would finally take all the technical complexity of hand-built computers we’ve seen in Minecraft and use it to build a video game inside the video game. This is no longer a joke. A group of what must be wizards are building a fully functioning version of the early Nintendo game The Legend of Zelda strictly within the confines of Minecraft.
The masterminds behind the project shared a selection of images from their Minecraft build, as well as a technical explanation as to how the game-within-a-game works, on Imgur on Wednesday. Building the Zelda map and the dungeon levels sounds like the easy part.
To make their Minecraft build function as a recreation of the NES game, these practitioners of the pixel arts of Minecraft had to construct and program a computer to keep track of everything. The Daily Dot spoke with Evan and Jon, the lead designer and lead programmer respectively, who go by “Senselesswander” and “Thejonwithnoh” on Reddit. They were able to provide a layman’s explanation of how it all works.
The short answer is: Command blocks. Without command blocks, none of this would function.
“Minecraft has a predefined set of commands that the player can choose from, that do various (usually oddly specific) things,” said Jon (who used to teach math, incidentally). “For instance, there is a ‘fill’ command which allows us to fill a region with a bunch of blocks, and a ‘tp’ command which allows us to teleport the player to a specific location. The individual commands themselves are moderately useful, but the real magic happens when you start stringing them together, and using command blocks to start triggering other command blocks in an organized way.”
What the team has accomplished with interconnected command blocks is to build a computer that tracks the player’s position within the Zelda world—or, to use lingo from the original NES game, which screen the player is on. This makes it easier for the computer to crunch the program that generates the game simulation.
“One of the commands we have available is called ‘testfor.’ With this command, we can ask a question like ‘Is there a player in West Hyrule?’, and the command block will give us a yes or no answer,” Jon said. “We can then have other command blocks hooked up so that if the answer is yes, then they will ask more specific questions like ‘Is there a player near Level 6?’ By hooking up command blocks appropriately, the player can be tracked pretty effectively.”
Pinpointing the precise location of the player is important for the purpose of generating only as many monsters as necessary for the simulation to run smoothly. Otherwise, lag would slow the simulation down. “We haven’t settled on a final design, but we only intend on having enemies in one or two screens. We don’t want our monsters to keep appearing and disappearing just because the player happens to be stepping back and forth between screens, but we also don’t want to overwhelm the game and introduce lag,” Jon said.
The position-tracking computer is built within a giant structure divided into several floors, called The Lab. The structure is so large that Jon and Evan need an elevator to move from floor to floor.
Splitting functions up between floors helps the builders organize all the different machines. While one floor might manage how the shops in the game work, another floor could contain the machine that is in charge of generating the enemies. They all connect back to the main machine on the first floor.
The coolest part is that the entire computer is built inside a huge, floating cube set so far away from the Zelda map that players on the map can’t see the giant computer controlling the whole show.
What we have here, then, is a computer built in Minecraft, that controls a Legend of Zelda map that is a simulation of the game in the real world. We’re talking about some Matrix-level stuff, here.
The limitations of Minecraft prevent a 100 percent accurate recreation of The Legend of Zelda, but the design team has figured ways around some of those issues. For example, trying to build the dungeons directly beneath the Overworld map wasn’t practical.
“Instead of burying the dungeons, we kept them separate from the overworld for space reasons, especially considering the caves themselves take up plenty of space,” Evan said. “So when you enter a dungeon entrance you will go down faux stairs then will warp into the doorway to the first room of that dungeon. A title like ‘Level 4: The Snake’ will show up centered on screen and similarly ‘Hyrule’ when exiting.”
One of the most iconic sequences in the game, when the Old Man hands Link his very first sword, also took some latitude to replicate. “We have created the effect of the Old Man giving you the sword,” Evan said. “It being Minecraft, we’re using a villager, the text ‘Old Man: It’s dangerous to go alone! Take this,’ appears with the sword spawning on the ground in front.
The example of the Old Man also provides a perfect demonstration of how the command block machine that runs the entire simulation functions. “Upon entering the cave, the machine will detect your presence and kick off the appropriate set of command blocks,” Jon said. “These will check if you have the sword in your inventory, and if you don’t, it will spawn the Old Man, with the sword sitting in front of him.”
Evan and Jon are enthusiastic about tackling the recreation of the iconic enemies from The Legend of Zelda that have reappeared in decades’ worth of Zelda games. “Some will be much easier than others since they’re practically already in Minecraft (Stalfos from Zelda is basically just a Skeleton from Minecraft for instance),” Jon said. “We’ve already started working on some of the more difficult ones and had some good results. But in general the enemies, especially the bosses, will be one of our biggest challenges.”
Considering Minecraft is owned by Microsoft, and The Legend of Zelda is a game developed by Nintendo, we asked whether Evan and Jon thought they might be opening themselves up to legal action.
“Not really,” Jon said. “We’re not looking to make any money on the project, and if anything we’re promoting both Zelda and Minecraft for free. And considering the amount of money that both companies have in comparison to us, I don’t know what they’d really expect to get out of it.”
Now that the control computer, the Overworld map, and all the dungeons have been constructed, Evan and Jon have to tackle the most important part: Make sure the game simulation actually works. And when the project is done, this recreation of The Legend of Zelda in Minecraft will be free for anyone to download and play.
“We have some big plans for what will happen when the player first starts the game. I won’t go into too many details, but I will say that the first thing the player will see is the title screen. Pixel perfect. In full detail,” Jon said. “Also, we’ll be testing the map on several different computers to make sure that you don’t need top-of-the-line specs just to play the game.”
Photo via @Daman/Flickr (CC BY 2.0) | Remix by Fernando Alfonso III