With the success of The Last of Usand the “successes” of The Super Mario Bros. Movieand Uncharted, we’re firmly in the era of video games as Hollywood’s next coveted IP goldmine. Not even the most beloved of franchises is safe: Fresh off the fumes of Chris Pratt’s Mario, Nintendo recently announced that it’s been developing a live-action The Legend of Zelda movie.
Although it will be a while before we pack our bags for Hyrule, that won’t keep gamers from reacting to and speculating about the prospect of a live-action Zelda film. Who will play Link? What makes the Zelda games good source material? And most importantly, what are the chances it will stay true to the spirit of the games? Vulture critic Nick Quah and editors Eric Vilas-Boas and Nic Juarez dig into what makes the Zelda games so intriguing to adapt.
Nick Quah: Last week, Shigeru Miyamoto, the godfather of Nintendo, publicly revealed that plans are afoot for a Hollywood adaptation of the much-beloved Zelda franchise — and that he had apparently been cooking up ideas over the past decade with Avi Arad, the film producer who’s been involved in a good deal of the Marvel movies that aren’t part of Kevin Feige’s MCU kingdom. So we’re talking stuff going all the way back to Blade and the James Marsden X-Men movies, but also: Tom Hardy’s Venoms and, uh, Morbius.
Worth noting: Arad seems to be working on more video-game adaptations of late, including the 2022 Uncharted film starring Tom Holland. I can barely remember that movie, but it was a box-office hit as well. I hesitate to speak ill of the legendary Miyamoto, but I’ll be honest here: This team-up doesn’t inspire much confidence when it comes to what is arguably Nintendo’s most artistically potent franchise. Worse still is another key aspect of the announcement: that the film is going to be live-action. Not to be purely reactionary, but I’m verklempt. Eric, how do you feel about all this? I know that any possible release is quite a ways off, and Miyamoto himself acknowledged that there are still tons of hurdles, but how does the idea of a live-action Zelda sound to you?
Eric Vilas-Boas: I am reactionary! This was gutting news. The Maze Runner guy’s involvement instills no confidence in me. I do not want to see a live-action Zelda movie. More than most other games, this franchise runs on immersion: embodying a wordless, typically young and wide-eyed elfen protagonist, whose appeal is partly that he could be anyone, losing himself in eclectic environments and finding his way out of them through the player’s puzzle-solving. I don’t think that translates well to the form of a live-action narrative film — let alone a Hollywood-style blockbuster. And as much as I might theoretically enjoy an animated version instead (shoutout to Breath of the Wild for borrowing half its ideas from Hayao Miyazaki’s Castle in the Sky!!!), the existence of 1989’s terrible, single-season The Legend of Zelda cartoon gives me pause even when I consider that. The Mario movie may have made off with $1.36 billion, but real heads know rupees have always been harder to come by in the Zelda series. Nic, how about you?
Nic Juarez: Let’s take a deep breath here, really consider the news and players involved, and trust the process … Just kidding, they’re going to fuck it up. I will say that the Zelda franchise makes for better source material than the Mariosand Uncharteds of the world, not only for all the aspects you’ve mentioned, Eric, but also for how the games have always contained interesting themes and unique aesthetics that are ripe for adaptation: time travel, fallen kingdoms, forgotten civilizations, ancient technology, the weight of unfulfilled prophecies. Zelda games have almost always found a way to balance those themes and aesthetics with gameplay and storytelling that rewards self-paced exploration and discovery, which are things that big-budget, live-action blockbusters have ZERO patience for. All things considered, I have no faith in this project. I’m willing to admit I’m wrong if they pull it off (but I doubt they will). So we’re all in agreement that this will suck — discussion over?
EVB: This has me thinking about the video-game adaptations that actually worked. And “worked” can mean different things. The Last of Us was an already cinematic narrative that found critical success in episodic TV. The Super Mario Bros. Movie was a ubiquitous platformer that captured mass box office appeal. If this Zelda movie is happening, I wonder: As longtime Zelda fans, what would work for us? And what about The Legend of Zelda makes it The Legend of Zelda and not just some other fantasy IP?
NQ: What’s challenging about that question is just how creatively varied Zelda has been as a franchise. Wind Waker’s cel-shaded seafaring is nothing like Breath of the Wild’s quiet, Miyazaki-esque landscapes. None of the other installments in the series share Majora’s Mask’s interest in coping with the moment right before the end of the world. Not to mention all the 2-D stuff!
Each entry does reckon with a similar set of foundational components that you pointed out, Nic — not least a thematic mix of innocence and grand tragedy — but the wonder is in how differently they end up being expressed in its various iterations. What I look forward to with each new installment is seeing the creative team grappling with the new visual and narrative frontiers, and how they integrate that into a deep philosophy of gameplay. I suppose the thing that makes me hesitant about the Hollywood adaptation is the likeliness it’s going to be, in a word, simple.
Eric, I like the idea of thinking through different models of video-game adaptations. Something like The Last of Us was pretty straightforward, because the game itself already felt like a TV show; the actual show essentially took what was there and physically realized it. It seems to me there’s a fundamental choice to make at the outset: to adapt one of the installments or to cook up something brand new. I’m not sure which feels less unnerving. Nic, what do you think?
NJ: I think the safest route would be to cook up something brand new to take away some ammunition from fans who are ready to freak out that they “did it wrong.” Like you said, the basic story blocks are used in pretty much every installment, so it would make sense for the film to also use them to create something new. But honestly, even if they manage to find a satisfying way to tell the story, it doesn’t really address their biggest issue: Who will play live-action Link?
EVB: I find it really hard to imagine any actor in the role, but I strongly feel they need to evoke “meek and unassuming” — something like Asa Butterfield doing Otis in Sex Education (sans the ego-tripping about being an untrained, unlicensed sex therapist to his classmates). The kid’s got that “I can project awkwardness and vocalize nothing but audible strains as I scale a mountain” look about him, I guess, but then he still needs to scowl convincingly when he meets Ganon. I need my Link to overindex for seeming utterly pathetic, externally, until the one moment where greatness is required of him. Nick?
NQ: … Troye Sivan? Manny Jacinto? Yahhhh, I mean, here already we’re running into a cascade of thorny elemental questions. A Hollywood adaptation almost certainly means a Link that speaks, which pulls us away from the guy’s historical role in the franchise: a squeaky-clean blank slate who serves as some metaphorical avatar of goodness. A live-action movie means an actor who immediately imparts all sorts of things onto Link: a race, a sexuality, a material height. (Same goes, of course, for Zelda.) Gah, I really can’t get past the live-action thing; I’m preemptively bracing all the CGI choices with respect to the Gerudos, the Rito, Ganon, and whatnot. (Tingle?)
But listen: I don’t want to just wail about how much I don’t want this. We’re in the best possible stage with this kind of thing: pre-pre-pre-production, the moment at the outset when we can imagine a future in which the best outcome is still theoretically possible. So let’s wrap this up with some wishcasting. Part of what Miyamoto had talked about, rolling off The Super Mario Bros. Movie, is how Nintendo has learned a big lesson when it comes to its film-production ventures, which is to strike up partnerships with established Hollywood studios that know how to navigate the movie business. (Let’s set aside the growing question of whether any Hollywood studio really, truly knows how to navigate the modern movie business for now.) So, in my mind, the best possible outcome is to bundle Arad with an actually interesting studio partner. I don’t want to be obvious and say A24 or something, so I’ll zag and say … oh, I don’t know, Lucasfilm. They’re not working on anything right now, right? Nic, what’s your dream scenario here?
Nic: If we must have a Zelda movie, then it should be animated. I’d love to see them team up with Titmouse (fresh off of Scavengers Reign), Science Saru (which produced the upcoming Scott Pilgrimanime), or Blur Studios (which produces Love, Death & Robots) and make animated series out of Majora’s Mask and Link’s Awakening, two of the darker, weirder Zelda games in the franchise. What about you, Eric?
Eric: If there’s one perk of a property as big as Zelda getting a major live-action blockbuster, it’s that animated TV projects sometimes accompany them. That’s how we got Batman: The Animated Series, after all. (And the Monsters vs. Aliens show, granted.) Any of those studios would probably relish a shot. But assuming this live-action version of The Legend of Zelda does happen, I just hope it makes time for at least a few quiet moments that let Link sit, cook, and build stuff. Maybe over some tasteful ocarina tunes.
By submitting your email, you agree to our
Terms and Privacy Notice
and to receive email correspondence from us. This site is protected by reCAPTCHA and the Google
Privacy Policy and
Terms of Service apply.
or
Already a subscriber?
What is your email?
This email will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
Password must be at least 8 characters and contain:
Lower case letters (a-z)
Upper case letters (A-Z)
Numbers (0-9)
Special Characters (!@#$%^&*)
This password will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
You’re in!
As part of your account, you’ll receive occasional updates and offers from New York, which you can opt out of anytime.
or
Already a subscriber?
What is your email?
This email will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
Password must be at least 8 characters and contain:
Lower case letters (a-z)
Upper case letters (A-Z)
Numbers (0-9)
Special Characters (!@#$%^&*)
This password will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
You’re in!
As part of your account, you’ll receive occasional updates and offers from New York, which you can opt out of anytime.
Already a subscriber?
Already a subscriber?
`;
// integrate Sub(x) scripts and elements
if (hostname !== 'subs.nymag.com') { // do not integrate on this subdomain
document.head.appendChild(trackingScript);
document.body.insertAdjacentHTML('beforeend', subXAnimationElements);
}
There was an error processing the request. Please try again later."}).catch(e=>console.error("Error verifying email: ",e)))(r.querySelector(".content"),o.bannerCTAVerification)})):(l.remove(),s.remove()),o.dismissable||n.remove(),o.useAlertIcon||a.remove(),r.classList.add("show"),n.addEventListener("click",()=>{u(),r.classList.remove("show")})}else r.remove()}});
}, {"1":1,"6":6,"12":12,"35":35,"40":40}];
window.modules["global-nav.client"] = [function(require,module,exports){"use strict";const dom=require(4),auth=require(12),signInButton=dom.find(".user-signin"),signOutButton=dom.find(".user-signout"),globalNav=dom.find('[class^="global-nav"]'),body=dom.find("body"),dropdownItems=dom.findAll(".dropdown-wrap"),gtm=require(1),appendLandingPageParams=require(135),pageUri=require(124).getPageUri(),subscriptionPromoLinks=dom.findAll(".persist-params"),searchString=window.location.search||"";function closeDropdowns(e){let n=globalNav.querySelectorAll(".dropdown.open");dropdownItems.forEach(function(t){let o=t.querySelector(".dropdown");!n||t.contains(e.target)&&27!==e.keyCode||o.classList.remove("open")})}function gtmSendReport(e,n,t){let o={eventCategory:"ecommerce",eventAction:"componentClick",brand:e,dimension23:"global-nav",list:pageUri,pageZone:"header",variant:"nav-link"};"global-nav-link"===t&&(o.eventLabel=n.href),gtm.reportNow(o)}function updateElementTargetUrlsIfQueryStrings(e){if(searchString){const n=new URLSearchParams(searchString);let t=e.href;if(t.includes("?")){const o=t.split("?"),i=new URLSearchParams(o[1]);for(let e of n.entries())i.set(e[0],e[1]);t=`${o[0]}?${i.toString()}`,e.href=t}else e.href=`${t}?${n.toString()}`}}function init(e){const n=e.querySelectorAll(".to-landing-page");window.addEventListener("auth:init",()=>{signInButton.addEventListener("click",function(e){e.preventDefault(),auth.showEmbeddedLoginFlow("top navigation")}),signOutButton.addEventListener("click",function(e){e.preventDefault(),gtmSendReport("Sign Out",e.target,"user-info-link"),auth.logout()}),auth.isAuthenticated()&&e.classList.add("signed-in"),auth.isSubscriber()&&e.classList.add("subscribed"),e.querySelectorAll(".user-link").forEach(e=>{e.classList.add("active")}),subscriptionPromoLinks.forEach(e=>{updateElementTargetUrlsIfQueryStrings(e)}),appendLandingPageParams(n)})}dropdownItems.forEach(function(e){e.addEventListener("click",function(){e.querySelector(".dropdown").classList.toggle("open")})}),body.addEventListener("click",closeDropdowns),document.addEventListener("keydown",closeDropdowns),globalNav.addEventListener("click",function(e){let n=e.target;n.classList.contains("global-nav-track")&>mSendReport(n.text,n,"global-nav-link")}),module.exports=init;
}, {"1":1,"4":4,"12":12,"124":124,"135":135}];
window.modules["aaa-module-mounting.legacy"] = [function(require,module,exports){"use strict";const _pickBy=require(221),_each=require(406),Fingerprint2=require(408),DS=require(407),Eventify=require(246);function registerGlobals(){window.DS=DS,window.Eventify=Eventify,window.Fingerprint2=Fingerprint2,DS.value("Eventify",Eventify),DS.value("Fingerprint2",Fingerprint2),DS.value("$document",window.document),DS.value("$window",window)}function mountDollarSliceComponents(){DS.service("components",["$document","$module",function(e,n){var o=_pickBy(n.definitions,e=>e.providerStrategy===n.providers.controller),r=Object.keys(o);function t(e){return o=>{try{n.get(e,o)}catch(e){logMountError(o,e)}}}_each(r,n=>{var o=e.querySelectorAll('[data-uri*="/_components/'+n+'/"]'),r=e.querySelectorAll('[data-uri$="/_components/'+n+'"]');_each(o,t(n)),_each(r,t(n))}),this.components=r}]),DS.get("components")}function logMountError(e,n){const o=e.outerHTML.slice(0,e.outerHTML.indexOf(e.innerHTML));console.error("Error attaching controller to "+o,n)}registerGlobals(),"loading"===document.readyState?document.addEventListener("DOMContentLoaded",()=>{mountDollarSliceComponents()}):mountDollarSliceComponents();
}, {"221":221,"246":246,"406":406,"407":407,"408":408}];
window.modules["ads.legacy"] = [function(require,module,exports){"use strict";const _map=require(118),_forEach=require(107),_isString=require(268),_intersectionWith=require(409),_isEqual=require(274),_each=require(406),_debounce=require(182),_sortBy=require(205),page=require(124),visit=require(114);DS.service("adService",["Eventify","$cid","$document","$window",function(e,t,a,i){var o,n,s,r,d,c,u,l,g={},p=this,h=[],f=visit.getQueryParamsObject(["utm_campaign"]),m=document.querySelector('script[data-type="ad-a9"]'),b=[],w=!1,v=[],y=document.querySelector('script[data-name="ad-doubleverify"]');document.querySelector('script[data-name="concert-ads"]')||(i.NYM={},i.NYM.analytics={},i.NYM.analytics.adStartTime=i.performance.now(),i.googletag=i.googletag||{},i.googletag.cmd=i.googletag.cmd||[],u=i.googletag,(m||y)&&(i.googletag.cmd=i.googletag.cmd||[],i.googletag.cmd.push(function(){i.googletag.pubads().disableInitialLoad()})),m&&(l=i.setInterval(function(){void 0!==window.apstag&&void 0!==window.apstag.timeout&&(i.clearInterval(l),window.apstag.cleared=!0,l=null)},10),setTimeout(function(){l&&(i.clearInterval(l),i.googletag.pubads().refresh(),window.apstag||console.log("MESSAGE: Timeout for A9 load exceeded, aborting"))},500)),y&&(b.push(new Promise(function(e){w?e():v.push(e)})),c=i.setTimeout(T,2500)),o=function(e){var t,a,o=e.data,n=[];return o.loaded?e:(o.loaded=!0,t=null,(t=o.sizes?u.defineSlot(o.name,o.sizes,o.id).addService(u.pubads()):u.defineOutOfPageSlot(o.name,o.id).addService(u.pubads())).setTargeting("adid",o.id),f.hasOwnProperty("utm_campaign")&&t.setTargeting("utmcamp",f.utm_campaign),a=p.getAdCount(o.label),t.setTargeting("label",o.label+"_"+o.site+"-"+a),u.display(o.id),u.pubads().addEventListener("slotOnload",function(){i.NYM.analytics.firstAdLoadTime||(i.NYM.analytics.firstAdLoadTime=i.performance.now(),i.NYM.analytics.firstAdLoadLabel=e.data.label)}),n=_(o),Promise.all(b).then(function(){n?window.apstag&&window.apstag.cleared?window.apstag.fetchBids({slots:[n],timeout:window.apstag.timeout},function(){u.cmd.push(function(){window.apstag.setDisplayBids(),u.pubads().refresh([t],{changeCorrelator:!1})})}):y&&u.pubads().refresh([t],{changeCorrelator:!1}):u.pubads().refresh([t],{changeCorrelator:!1})}),e.slot=t,e)},n=function(e){var a,i,o,n=t(),s=e.getAttribute("data-name"),r=e.getAttribute("data-sizes"),d=e.getAttribute("data-label"),c=e.getAttribute("data-site");n=e.id,r&&r.length?(r=r.split(","),a=[],_map(r,function(e){e=e.split("x"),i=parseInt(e[0]),o=parseInt(e[1]),a.push([i,o])})):(e.classList.add("oop"),a=!1),this.data={id:n,name:s,sizes:a,loaded:!1,label:d,site:c},g[n]=this},r=function(e){u.cmd.push(function(){var t=o(e);g[e.data.id]=t})},s=function(e){var t=[];e.slot?(t=_(e))&&window.apstag&&window.apstag.cleared&&window.apstag.fetchBids({slots:[t],timeout:window.apstag.timeout},function(){u.cmd.push(function(){window.apstag.setDisplayBids(),u.pubads().refresh([e.slot],{changeCorrelator:!1})})}):e&&r(e)},u.cmd.push(function(){var e,t,o,n=page.getMeta("article:tag"),s=page.getMeta("author"),r=i.location.href,d=(e=a.head.querySelector(".head-gtm"),t=a.body.querySelector(".gtm"),e&&"top"===e.getAttribute("data-gtm")?"gtmtop":t&&"bottom"===t.getAttribute("data-gtm")?"gtmbottom":"");o=[],_forEach([n,s,d],function(e){_forEach(e.split(","),function(e){(e=e.trim().toLowerCase().replace(/\s/g,"-").replace(/\'|\’/g,"")).length&&o.push(e)})}),u.pubads().setTargeting("kw",o),u.pubads().setTargeting("entry_group",o),r=r.slice(r.lastIndexOf("/")+1),u.pubads().setTargeting("pn",r),u.companionAds().setRefreshUnfilledSlots(!0),u.pubads().enableAsyncRendering(),u.enableServices()}),this.load=r,this.create=function(e){return new n(e)},this.refresh=function(e){var t;_isString(e)?(t=this.getById(e),s(t)):s(e)},this.remove=function(e){var t=e.data.id;a.getElementById(t).innerHTML=""},this.getAdCount=function(e){var t,a=0,i=Object.keys(g);return _each(i,function(i){(t=g[i]).data.loaded&&t.data.label===e&&a++}),a},this.getById=function(e){return g[e]},d=_debounce(function(){var e={TopLeaderboard:1,RightColTopMPU:2,outOfPage:99,"homepageTakeover/TopLeaderboard":1},t=_sortBy(h,function(t){return e[t.data.label]||10});_forEach(t,function(e){return e.data.sizes?r(e):i.setTimeout(function(){r(e)},2e3)}),y&&window.PQ.cmd.push(()=>{try{window.PQ.loadSignals(["ids","bsc","vlp"],T)}catch(e){T(),console.error(`There has been an error loading Double Verify signals: ${e}`)}}),h=[]},10),this.addToPageLoadQueue=function(e){h.push(e),d()});function _(e){var t,a=e.sizes;return a=_intersectionWith(a,[[970,250],[970,90],[728,90],[300,600],[300,250],[320,100],[320,50]],_isEqual),e.sizes&&e.sizes.length&&(t={slotID:e.id,sizes:a,slotName:e.label}),t}function T(){i.clearTimeout(c),w=!0,_forEach(v,function(e){e()})}}]);
}, {"107":107,"114":114,"118":118,"124":124,"182":182,"205":205,"268":268,"274":274,"406":406,"409":409}];
window.modules["cid.legacy"] = [function(require,module,exports){"use strict";DS.service("$cid",function(){var r=Math.floor(100*Math.random());return function(){return"cid-"+ ++r}});
}, {}];
window.modules["client.legacy"] = [function(require,module,exports){"use strict";require("cid.legacy"),require("ads.legacy"),require("facebook.legacy"),require("aaa-module-mounting.legacy");
}, {"cid.legacy":"cid.legacy","ads.legacy":"ads.legacy","facebook.legacy":"facebook.legacy","aaa-module-mounting.legacy":"aaa-module-mounting.legacy"}];
window.modules["facebook.legacy"] = [function(require,module,exports){"use strict";DS.service("facebook",[function(){this.fb=function(i){window.FB&&window.FB[i].apply(this,Array.prototype.slice.call(arguments,1))}}]);
}, {}];
require=(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o typeof key === 'string' && key.match(/\.legacy$/)).forEach(key => window.require(key));
}
function tryToMount(fn, el, name) {
try {
fn(el); // init the controller
} catch (e) {
const elementTag = el.outerHTML.slice(0, el.outerHTML.indexOf(el.innerHTML));
console.error(`Error initializing controller for "${name}" on "${elementTag}"`, e);
}
}
/**
* mount client.js component controllers
*/
function mountComponentModules() {
Object.keys(window.modules).filter(key => typeof key === 'string' && key.match(/\.client$/)).forEach(key => {
let controllerFn = window.require(key);
if (typeof controllerFn === 'function') {
const name = key.replace('.client', ''),
instancesSelector = `[data-uri*="_components/${name}/"]`,
defaultSelector = `[data-uri$="_components${name}"]`,
instances = document.querySelectorAll(instancesSelector),
defaults = document.querySelectorAll(defaultSelector);
for (let el of instances) {
tryToMount(controllerFn, el, name);
}
for (let el of defaults) {
tryToMount(controllerFn, el, name);
}
}
});
}
// Make sure that a `window.process.env.NODE_ENV` is available in the client for any dependencies,
// services, or components that could require it
// note: the `` value is swapped for the actual environment variable in /lib/cmd/compile/scripts.js
window.process = window.process || {};
window.process.env = window.process.env || {};
if (!window.process.env.NODE_ENV) {
window.process.env.NODE_ENV = '';
}
// note: legacy controllers that require legacy services (e.g. dollar-slice) must
// wait for DOMContentLoaded to initialize themselves, as the files themselves must be mounted first
mountLegacyServices();
mountComponentModules();
// ]]