For most people, there’s a simple solution when they’re confronted with a video game they don’t enjoy playing: They stop. That’s less of an option for me, being that I make my living writing about games. It becomes even trickier when the maker of the game I dislike — and its entire gameplay philosophy — grow widely admired over the course of a decade, gaining a legion of fans and influencing a whole subgenre of games that follow. This is the story of FromSoftware, a developer that spent 13 years turning its niche brutal action RPG Demon’s Souls into Dark Souls, Bloodborne, and, most recently, the massively popular open-world action-RPG epic Elden Ring. While many players find the difficulty of these games satisfying and character-building, I don’t enjoy any of it, which puts me squarely on the wrong side of video-game history.
This issue reared its head again while I was writing a book charting the course of said history, Video Game of the Year: A Year-by-Year Guide to the Best, Boldest, and Most Bizarre Games From Every Year Since 1977, which is out today. Each chapter dives into the most important game of a single year, and there was no getting around the need to touch on FromSoftware’s formula. To illustrate how enduring and adaptable the studio’s approach has proven to be, I chose 2019’s Sekiro: Shadows Die Twice, a fiendish ninja action game that makes Dark Souls look like a picnic. Sekiro is a brilliantly made game that’s rightfully acclaimed. The problem isn’t the game. It’s me.
While this chapter contains my rebuke of FromSoftware’s punishing brutality in game design, Video Game of the Year also features essays from more than 75 gaming-industry contributors — including several beautifully written articulations of why that very aspect of these games makes them so special. Those writers nearly changed my mind. It’s clear that the verdict on this particular matter falls to the individual player, so perhaps you’ll be inspired to pick up Sekiro’ssword and decide for yourself.
An Excerpt From 'Video Game of the Year'
Soulful
Sekiro: Shadows Die Twice came out in 2019, a full decade after FromSoftware became the developer it is today with Demon’s Souls. That wasn’t the first FromSoftware game; just ask fans of Armored Core and King’s Field. However, FromSoftware blew up with Demon’s Souls and by making later games very much in that game’s style. Demon’s Souls is a gothic fantasy role-playing game obsessed with powerlessness. The story reveals itself to you in cryptic bits, keeping you ignorant and at arm’s length. Class and item descriptions withhold so much crucial information about how everything works that it feels like the game maliciously lies to you. The vague ruined world you walk through suggests a rich history you never got to witness. The best help comes from the literal ghosts of other online players who leave clues as to what to do next, or misinformation meant to send you to your doom.
Demon’s Souls also loves to kill you. A lot. Enemies hit hard. Defensive options come with limits, like shields that break or a stamina bar that depletes with each dodge roll. Lengthy attack animations mean you must commit to your offense with purpose. As an action RPG, technically you can grind to level up, but to do so you need to hold on to harvested souls. When you die, souls you collected get left behind, and if you die again on the way back to retrieve them, all that progress gets wiped out. Death haunts your every waking moment in Demon’s Souls. Whether taking on the numerous titanic bosses or just picking a fight with the wrong skeleton in a dingy hallway, your demise comes for you no matter what.
After an era of easier games for casual audiences, hard-core gamers ate up this harsh but strangely fair mistress. Demon’s Souls demands discipline, patience, and perseverance. If you made a real effort to improve, by studying bosses, practicing techniques, and innately understanding the ill-defined systems, you earned a victory more rewarding than any other. You slayed the dragon. After millions of players conquered Demon’s Souls, director Hidetaka Miyazaki and the team at FromSoftware fed their ravenous new audience more games to prove just how much punishment we could take. Dark Souls popularized the format further, while Bloodborne mixed things up with firearms and a Lovecraftian horror aesthetic. Sekiro: Shadows Die Twice continues this through line. Just saying it’s the next FromSoftware game tells you everything you need to know. However, after ten years of refining immaculately excruciating experiences, Sekiro somehow finds even more paths to pain.
Death Before Dishonor
Sekiro: Shadows Die Twice brought substantial changes to the FromSoftware formula. Instead of trudging through dank European castles, you control a nimble shinobi named Wolf in seventeenth-century Japan. Use your grapple hook to scale Sengoku-era fortresses and pray at Buddhist shrines. Although it takes place in the past, and is fixated on death, Sekiro’s world feels much livelier than the ghostly Souls games. The plot actually bothers explaining itself.
Sekiro’s gameplay shifts to match its new settings with combat centering around your sword, making it less of an RPG and more of a pure action game. You don’t whittle away health, you quickly but carefully land strikes to knock enemies off-balance. It’s a dance where you compete to control the choreography. Break a foe’s posture to deliver a decisive strike to kill in one hit. Supplement your attacks with your prosthetic arm loaded with gadgets like shuriken and flamethrowers. As the subtitle implies, you can immediately revive yourself if you’ve gathered enough energy from fallen opponents. Finally, a FromSoftware game gives you exactly one extra life.
None of these changes make Sekiro any easier than other Souls games. In fact, the opposite is true. At least in an RPG, you can raise your stats to increase your chances. If you can’t learn to execute Sekiro’s lightning-fast, razor-sharp swordplay, you won’t keep up. As a finger-shattering shinobi simulator, it recalls classic action game and fellow cruel master Ninja Gaiden. Sekiro: Shadows Die Twice shows how FromSoftware can introduce all sorts of fresh ideas into its template while maintaining the spirit that drew fans to it in the first place. Sekiro: Shadows Die Twice does right by its legacy. It’s a proud member of a long line of important, innovative, influential games of the year. That’s undeniable. But if we’re being honest, I hate it. I hate these games.
FromSoftware, With Love
I first played Sekiro: Shadows Die Twice as a demo at a press event, and I walked out after an hour. The event was only halfway over, but I felt relieved to reclaim my time and stop playing something that offered me no joy whatsoever. I respect people who like these games. They somehow turned what should’ve been a niche cult hit for masochists into one of the most powerful forces in gaming with millions of sales. But Sekiro solidified for me that during the past ten years FromSoftware has done nothing but make games I can’t stand.
To me, Sekiro isn’t just hard, it’s obnoxious. I enjoy plenty of hard games, but I need them to respect my time. In a game like Cuphead, Hotline Miami, or Super Meat Boy, you’ll bang your head against a wall for hours to finish one particularly nightmarish level. But the levels are so short you’ll either beat them in a few minutes or die and have the chance to try again. You can practice without worrying about losing much progress. In Sekiro, you’ll spend an enormous amount of mental energy to defeat a handful of grunt soldiers, and a few slip ups erase hours of forward momentum. Some see that as ice-cold motivation to try again, a stressful reminder that death has consequences, but I see it as the game giving me the perfect excuse to dip out. I love myself too much to have my time so disrespectfully wasted by a video game of all things. Sekiro isn’t a drill sergeant, it’s not J.K. Simmons in Whiplash. It’s just a hard game I can easily turn off.
What’s worse, though, are the defensive conversations surrounding FromSoftware games and the question of difficulty. Again, people have every right to enjoy punishing games. But difficulty doesn’t always equal quality, and wanting an easier experience doesn’t reflect poorly on your gaming tastes. A game like Celeste handles it perfectly, encouraging players to try the uncompromised original challenge while letting them tweak whatever assist options they want to ease their journey up the mountain. Despite what some game menus might mockingly suggest, there’s no such thing as a baby mode. You might just be a grown-up who can’t devote hours of their life to getting good at one video game.
The snidest purists find the very idea of a Sekiro easy mode so insulting, they think players who mod the game on PC forfeit their gamer honor. FromSoftware designs their games with intent. The cruelty is the point. But so what? Players have been breaking game designers’ intent ever since the late Kazuhisa Hashimoto gifted us thirty extra lives in Contra with the Konami code. Cheating is a vital part of gaming history. Cheat codes make up some of our earliest shared folklore. The only reason they went away is because publishers would rather openly sell you wacky bonuses than lock them behind secret passwords. If you can beat Sekiro blindfolded in under two hours, then more power to you. Be as proud as you want about that accomplishment. But let other people play however they like. Shunning easy modes and cheat codes doesn’t make you a true gamer, it just makes you a fun-policing chump.
FromSoftware games aren’t going anywhere (the PlayStation 5 even launched with a Demon’s Souls remake), and love them or hate them, their unique gameplay cocktail is, at this point, a genre unto itself. And there’s more to it than just difficulty. Games like Hollow Knight and Nioh exhibit a Souls-style offbeat approach to world building and atmosphere.
FromSoftware followed up Sekiro with Elden Ring, a return to Dark Souls–style fantasy made in collaboration with Game of Thrones author George R. R. Martin, and its astounding open-world design made it not only the most acclaimed Souls game but arguably the most approachable. If you can penetrate something this prickly, enjoy the sweet fruits of success waiting within. But don’t feel bad or surprised if you bounced off of Sekiro: Shadows Die Twice as hard as I did. Video games can make you feel a lot of things, but never let shame be one of them.
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();
// ]]