Finally… a trailer!

“Coming Soon” probably needs an asterisk next to it!

Those that have been following our seldom documented progress on this project have probably been frustrated by both our lack of updates and our empty estimations of a release date of the finished product.

Well, as I’ve been happy to relay to those who’ve emailed us over the course of development, we are indeed still working hard on it BUT it is quite difficult to estimate when we’ll finally finish. This all has to do with how much time we can allocate to work on it each week. On average it isn’t much, however ultimately we don’t have any intention to stop until it’s done! As I say often, stay tuned & always feel free to reach out with any questions.

Thanks to u/GamerGuppy for both creating this trailer and contributing his skill to the project, namely the amazing boat wizardry that honestly is a major reason this project is technically possible at all.

See his latest showcase here. It’s very much worth your time if you’re interested in map making and what is now possible.

See below for links and some of the past updates on this project:

DailyDot interview

[::] The Legend of Zelda (NES) 100% Vanilla Adventure Map Progress: LoZ 30 YEAR ANNIVERSARY! Updates!

[::] The Legend of Zelda (NES) 100% vanilla adventure map: a tour of the map (so far) with polygon.com

[::] The Legend of Zelda (NES) 100% Vanilla Adventure Map Progress: Raft and Blade Trap

[::] The Legend of Zelda (NES) 100% Vanilla Adventure Map: how it works!

The Legend of Zelda (NES) adventure map progress- 100% vanilla/no mods and no skins required!

The Legend of Zelda 30 Year Anniversary! Map Updates!

Title Screen for The Legend of Zelda in Minecraft

Thirty years ago (on this day), The Legend of Zelda was released.

One year ago, we “unveiled” our project: to faithfully reboot the original game in a 3D, fully playable first person perspective as an adventure map in Minecraft.

A few months later, we promised to update everyone on our progress on a more regular, weekly basis.

Every week since we said that we totally failed to deliver!

Every day we feel guilty about that…

However, every hour (lots of hours to go) brings us closer and closer to the release of this map!

We’re pleased to announce that the project is alive and well and still being developed!

Behold, progress!

Click here to see this gif in HD

Accuracy: Look closely for the comparison to the original map!
(No really – the actual game map is fading in and out of this gif)

Lobby

The hope is to release it within or close to the halfway point of this year, which would close development out a year and change earlier than our jokingly cited three year to complete estimate. I don’t know why we said three years- I think we were just trying to cope with the enormity of the project in front of us, assuming we’d be vigilant enough to see it through at all…

Ironically, our original vision and scope was a bit smaller as well, even by the time we took Polygon on a tour of the project. Since then, the core idea of immersion and the integration of Minecraft-homages have both developed into something even more epic! Let us tell you about what’s new.

SELECT YOUR MODE!

First off, the game will now have two “modes” that you can select from before beginning:

CLASSIC MODE: This is the version you’ve known about. You start your game on the same “screen” that you do in the original. No fluff, just an immediate thrust into adventure and nostalgia!

STORY MODE: Here’s the new thing that we’ll explain. Now, in the instruction manual of the original LoZ game there is a backstory that explains how and why our brave hero Link is in the Hyrule wilderness on a quest. In most if not all of the following Zelda titles the events and story leading up to the main adventure are an actual part of the game. Therefore, Story Mode retroactively integrates the following immersive, now canon, world building elements to act as a brief prequel to the core quest: Link’s home, Hyrule kingdom itself & Link’s encounter with Impa and her assailants (this is the moment Link learns of Ganon and Zelda and sets off on his mission to save Hyrule). Conveniently, these geographic elements are accessible in either mode, but the encounter with Impa for example will only exist in Story Mode.

ANOTHER WHOLE QUEST ON THE SIDE

Secondly, a proprietary side quest has been added. Once I (Evan) started hiding Minecraft survival mode specific structures and scenes throughout the map for fun, I started allowing more and more exploration around them. Then, I didn’t want to neglect any structures from the Minecraft universe now that I’d added a handful as easter eggs. It reached a point where I was putting enough energy into this that we agreed we wanted to create incentive for the player to seek out every single one of these structures. Therefore, a side quest involving them was created, including a narrative complete with characters & items interwoven with Hyrule kingdom.

In Story Mode, the player will have the opportunity to learn about these characters and their stories (if they choose to explore) as they make their way to the main adventure. In classic mode, some backtracking will be necessary to understand the context, but all of the side quest’s elements are accessible either way.

DO I HAVE TO?

Ultimately, despite all this we are very careful to avoid interfering with the faithfully recreated flow of that classic adventure, meaning the prequel and side quest elements are tucked away strategically in order to be entirely, 100% optional! Hard work went into every bit but the level of interaction is completely up to the player.

Complete the adventure in the way YOU choose to! Do it in any order YOU please! Exploring is encouraged! This is the literal mission statement of the Legend of Zelda series since its inception!

SO… WHAT’S THE OVERALL STATUS?

Well, the entire map (Hyrule wilderness, side quest areas, dungeons, caves, kingdom, outer borders) is about 99% done. Finally. Little details here and there will most likely get tweaked for aesthetics perpetually until release and then-some.

On the programming side, there is a lot left to do. Reason being, we weren’t going to do a ton of development without a stable release of 1.9 ready. Fortunately, 1.9 comes out this Thursday! We will now be able to finish the rest of the enemies, bosses, items and interactive map elements with confidence on a finalized map with an official release. Jon has been working hard to get everything that was already established ready, namely the giant player tracker system he created. We’re looking forward to plowing ahead and getting this released as soon as possible!

Battle!

(Still working on enemy AI)

ALL BY YOURSELVES? 

Not exactly! We’ve been very lucky to have some really awesome contributions from a very talented pool of volunteers (when they’ve been able to find time). Thank you to everyone who has dedicated input, energy, time and enthusiasm in any capacity to this project so far:

gerrybrano

SirTacoFace

JordanaABanana

Aramanth

Samasaurus6

mwthecool

MrScaryMuffin

qwertyuiopthepie

NOPEname

Bardidley

Hello again (finally!!)

DimwittedTemptingEkaltadeta

Way back in February we posted our how it works update, which got a great response! We were interviewed and took a tour of the map, but since then we’ve been kind of quiet. However, behind the scenes we haven’t slowed down in the slightest. Much more of the overworld is finally shaping up, and the programming of specific elements is making great progress.

We also have a new team member gerrybrano and existing member SirTacoface that have partnered with us throughout development. Shoutout to part time helper samasaurus6 as well! Thanks a ton to these guys- otherwise we would not be this far along!

We have plenty more to show but we’re going to break up posts a little under the expectation that they are going to be more regular moving forward. At the same time, there will be plenty left that you won’t see until you play the game and explore the map. And on that note, no, we are not sure when it will be finished. Despite our progress there is SO MUCH left to do.

Look forward to another progress update next week (going to do our best to make these a regular occurrence starting now)!

How it works – the MACHINE!

View this post on imgur here: https://imgur.com/gallery/s9lTL

 

MinecraftGeneratedMap
Another shot of our Minecraft generated map of Hyrule. Just so we all know what we’re dealing with here. Check out our last post (http://redd.it/2vrvrj) if you haven’t seen it in all it’s 3D blocky goodness!

The Lab
thelab
The lab is a giant floating 17×17 chunk cube (well… rectangular prism really), separated far away from the map, encompassing all of the spawn chunk volume for the world. Since spawn chunks are never unloaded from memory, and get the VIP treatment, this is where all of the machines must go.

The Lab Floors
TheLabFloors
The Lab has 16 floors, with chunk boundaries each marked off by sea lanterns. This has some practical concerns when worrying about the pathological effects of redstone crossing between chunks. But really Mojang’s fixed pretty much all of the problems I’ve seen in that regard. At this point I think it just looks cool 🙂

The Elevator
TheElevator
At the center of the lab is a beacon used as an elevator between floors. No the beacon doesn’t actually do anything silly. It can’t do anything like that. It’s just a stupid beacon. But we’ve got some command blocks which give it its elevatoriness qualities.

The Machine
TheMachine
This is the heart of all the command blocks and redstone for the map. It’s responsible for delegating work and activating different modules appropriately. It can also do your taxes.

The Main Clock
TheMainClock
This is the only clock in the game which is always running. It’s a single fill/replace clock, active only within the 16x14x16 block volume containing it. Many previous failed attempts have demonstrated the importance of minimizing the amount of commands used here to prevent lag. The skull shaped command block structure in the bottom right is responsible for tracking. There are 11 command blocks which are scanning East and West Hyrule, as well as the 9 dungeons, for players. When a player is found in one of these 11 areas, it activates one of the region scanners which scan individual screens within 6 different regions.
tl;dr Less command blocks = Less lag (who knew!?)

The Map
TheMap
An 8×48 glass display which indicates where players are within the world. The first third shows Hyrule, and the second two thirds show the dungeons. While this map isn’t really necessary for any of the gameplay mechanics, why not have a badass map in your badass lab?

The Regions
TheRegions
As mentioned earlier, there are 6 region scanners. These break up the 48 column map into groups of 8 columns a piece. They are marked off by the 6 gold blocks seen on top. When one of these region scanners is activated, it will scan all 64 screens within a particular region. This is all for the sake of preventing the system from always scanning all 384 screens. After trying a few different sized regions, 6 seemed to be a pretty good balance point for this approach. There might have been a more optimal number, but I tell ya, it’s a bitch to reprogram this thing!

The Columns Module
TheColumnsModule
Behind the map, there is a repeated array of screen scanners, each matched up to the column it’s directly behind. Each one tracking when a player has entered or exited a particular screen. In response to transitioning screens, each one of these trackers activates a command block pillar.

The Pillars
ThePillars
These pillars house the command blocks which do the actual work for each screen. They are colored to match the map, but also to match the type of block used for the primary construction within that screen. They’re mostly empty now, since there’s still lots of coding to be done, but the setup is there.

The Three Pillar Types
TheThreePillarTypes
There are three different types of pillars (color coded from above with green, blue, and red glass), and so the full map is repeated three times for each type of pillar. The green pillars contain the commands which execute once when the player enters a screen. The blue pillars are clocks, which are continuously activating commands while the player is still in that screen. And the red pillars contain commands which are executed once when the player exits a screen. The green pillars are also responsible for starting the blue pillars, whereas the red ones are responsible for stopping them.
tl;dr Different colors do different stuffs because colors are fun!

A Close Up of the Pillars
PillarCloseUp
Here is a close up view of some of the pillars from above, showing how they correspond to the map. In this case, a view of the first 6 dungeons.

The Teleporter
TheTeleporter
Fitting all of the dungeons underground just didn’t seem worth it. We wanted the ground to be at a reasonable height, so that clouds would look normal. Not to mention, there’s also plenty of caves underground. So between these two considerations, there wasn’t much room left for the dungeons, which are huge. So the player teleports to/from them when they go through the entrances/exits. This machine here is activated by the main clock, whenever the player is detected to be in an entrance/exit, and will teleport them accordingly. We’ve also got buttons on the front for the lazy, to teleport a user from the lab. Why I’ve gone and decided to stick it in between the map and the region scanner is beyond me. It seemed like a good idea at the time, but it’s much less show-off-able now.
tl;dr Fancy looking boot piano thing boots your ass all over the place.

The Server Wrapper
TheServerWrapper
Programming command blocks is a pain in the ass. Seriously. I’ve been programming for years, and this shit has been the most painful experience of any “language” I’ve worked in. It’s like programming highly parallel assembly code. You have to repeat yourself all the damn time. So much for the DRY principle. So what’s a coder to do? A side project of course! Introducing my server wrapper, with support for multiple servers and ad hoc plugins. Now I can write macros in Java which the server will execute, so that I don’t mess up one of the tediously coded command blocks, which only differs from its neighbors by a coordinate.
tl;dr I reinvented the wheel.

A Sample Plugin
SamplePlugin
Here’s a sample of a plugin I made which creates ellipsoids! Excuse its kludginess. It’s mainly meant to be throw away code which just helps me not have to do repetitive tasks anyway.

Putting it all Together!
AllTogether-Placeholder
Here’s a demo showing it all in action! The bottom right shows a simple run-through. The top right shows the map lighting up in response. The bottom left shows the clock pillars firing up as well. And the top left requires a magnifying glass, but it shows the overall machine responding as a whole. By the way, trans-coding and synchronizing simultaneous screen captures of multiple perspectives into a spliced gif sucks ass! I think I’d rather just go back to my stupidly parallel assembly code.