unfluff
Version:
A web page content extractor
847 lines (731 loc) • 95.5 kB
HTML
<!doctype html>
<!--
===================================================================
== lovingly brought to you by... ==================================
===================================================================
______ __ __ ______ ______ __ __ ______
/\ ___\ /\ \_\ \ /\ __ \ /\ == \ /\ \/\ \ /\ ___\
\ \ \____ \ \ __ \ \ \ \/\ \ \ \ __< \ \ \_\ \ \ \___ \
\ \_____\ \ \_\ \_\ \ \_____\ \ \_\ \_\ \ \_____\ \/\_____\
\/_____/ \/_/\/_/ \/_____/ \/_/ /_/ \/_____/ \/_____/
===================================================================
===================================== http://jobs.voxmedia.com/ ===
===================================================================
-->
<!--[if IE 8]> <html class="ie8 desktop" lang="en"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="desktop no-js" lang="en"> <!--<![endif]-->
<head data-network="polygon">
<script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"beacon-5.newrelic.com","errorBeacon":"bam.nr-data.net","licenseKey":"e425f33c7f","applicationID":"754272","transactionName":"IVtWTBAMDVlXQh9BCg5NX1cMPARbRkJZVBZNR1BXFQ==","queueTime":5,"applicationTime":92,"ttGuid":"","agentToken":null,"agent":"js-agent.newrelic.com/nr-411.min.js"}</script>
<script type="text/javascript">window.NREUM||(NREUM={}),__nr_require=function(t,n,e){function r(e){if(!n[e]){var o=n[e]={exports:{}};t[e][0].call(o.exports,function(n){var o=t[e][1][n];return r(o?o:n)},o,o.exports)}return n[e].exports}if("function"==typeof __nr_require)return __nr_require;for(var o=0;o<e.length;o++)r(e[o]);return r}({D5DuLP:[function(t,n){function e(t,n){var e=r[t];return e?e.apply(this,n):(o[t]||(o[t]=[]),void o[t].push(n))}var r={},o={};n.exports=e,e.queues=o,e.handlers=r},{}],handle:[function(t,n){n.exports=t("D5DuLP")},{}],G9z0Bl:[function(t,n){function e(){var t=l.info=NREUM.info;if(t&&t.agent&&t.licenseKey&&t.applicationID&&p&&p.body){l.proto="https"===f.split(":")[0]||t.sslForHttp?"https://":"http://",i("mark",["onload",a()]);var n=p.createElement("script");n.src=l.proto+t.agent,p.body.appendChild(n)}}function r(){"complete"===p.readyState&&o()}function o(){i("mark",["domContent",a()])}function a(){return(new Date).getTime()}var i=t("handle"),u=window,p=u.document,s="addEventListener",c="attachEvent",f=(""+location).split("?")[0],l=n.exports={offset:a(),origin:f,features:[]};p[s]?(p[s]("DOMContentLoaded",o,!1),u[s]("load",e,!1)):(p[c]("onreadystatechange",r),u[c]("onload",e)),i("mark",["firstbyte",a()])},{handle:"D5DuLP"}],loader:[function(t,n){n.exports=t("G9z0Bl")},{}]},{},["G9z0Bl"]);</script>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=yes" />
<meta content="authenticity_token" name="csrf-param" />
<meta name="csrf-token" />
<meta property="og:description" content="Shovel Knight is inspired by the past in all the right ways — but it's far from stuck in it." />
<meta property="fb:app_id" content="400103126722312" />
<meta property="og:image" content="http://cdn2.vox-cdn.com/uploads/chorus_image/image/34834129/jellyfish_hero.0_cinema_1280.0.png" />
<meta property="og:site_name" content="Polygon" />
<meta property="og:title" content="Shovel Knight review: rewrite history | Polygon" />
<meta property="og:type" content="website" />
<meta property="og:url" content="http://www.polygon.com/2014/6/26/5842180/shovel-knight-review-pc-3ds-wii-u" />
<meta name="description" content="Shovel Knight is inspired by the past in all the right ways — but it's far from stuck in it." />
<meta name="twitter:card" content="summary" />
<meta name="twitter:url" content="http://www.polygon.com/2014/6/26/5842180/shovel-knight-review-pc-3ds-wii-u" />
<meta name="twitter:title" content="Shovel Knight review: rewrite history" />
<meta name="twitter:description" content="Shovel Knight is inspired by the past in all the right ways — but it's far from stuck in it." />
<meta name="twitter:image" content="http://cdn2.vox-cdn.com/uploads/chorus_image/image/34834127/jellyfish_hero.0_cinema_400.0.png" />
<meta name="twitter:site" content="polygon" />
<meta name="twitter:creator" content="griffinmcelroy" />
<link rel="canonical" href="http://www.polygon.com/2014/6/26/5842180/shovel-knight-review-pc-3ds-wii-u" />
<link rel="shortcut icon" href="http://cdn1.vox-cdn.com/community_logos/42931/favicon.ico" />
<link rel="apple-touch-icon" href="/images/polygon/apple-touch-icon.png" />
<link href="http://cdn1.vox-cdn.com/uploads/hub/sbnu_logo_minimal/405/touch_icon_ipad_retina_1000x1000.7014.png" rel="apple-touch-icon-precomposed" sizes="144x144" type="image/png"/>
<link href="http://cdn3.vox-cdn.com/uploads/hub/sbnu_logo_minimal/405/touch_icon_iphone_retina_1000x1000.7014.png" rel="apple-touch-icon-precomposed" sizes="114x114" type="image/png"/>
<link href="http://cdn1.vox-cdn.com/uploads/hub/sbnu_logo_minimal/405/touch_icon_ipad_retina_1000x1000.7014.png" rel="apple-touch-icon-precomposed" sizes="72x72" type="image/png"/>
<link href="http://cdn3.vox-cdn.com/uploads/hub/sbnu_logo_minimal/405/touch_icon_iphone_retina_1000x1000.7014.png" rel="apple-touch-icon-precomposed" type="image/png"/>
<title>Shovel Knight review: rewrite history | Polygon</title>
<link rel="alternate" type="application/rss+xml" title="Polygon" href="/rss/index.xml" />
<link rel="stylesheet" href="http://cloud.typography.com/706184/753582/css/fonts.css" type="text/css" />
<link href="http://cdn0.vox-cdn.com/stylesheets/vox_universal.v83d83381d45be505.css" media="all" rel="stylesheet" type="text/css" />
<link href="http://cdn2.vox-cdn.com/stylesheets/polygon_a.v0dc9ed0a6f830d88.css" media="screen" rel="stylesheet" type="text/css" />
<link href="http://cdn2.vox-cdn.com/stylesheets/polygon_b.v69e3df3965902c9f.css" media="screen" rel="stylesheet" type="text/css" />
<!--[if lte IE 9]>
<script src="http://cdn1.vox-cdn.com/javascripts/polygon_ie.vc9988abf0c401394.js" type="text/javascript"></script>
<link href="http://cdn1.vox-cdn.com/stylesheets/polygon_ie9.vbd870b98c35abf43.css" media="screen" rel="stylesheet" type="text/css" />
<![endif]-->
<!--[if lte IE 8]>
<link href="http://cdn2.vox-cdn.com/stylesheets/polygon_ie8.vc90ebd70ad32de32.css" media="screen" rel="stylesheet" type="text/css" />
<![endif]-->
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript">window.jQuery || document.write('<script src="http://cdn3.vox-cdn.com/javascripts/vendor/jquery-1.10.2.min.vda41706.js"><\/script>');</script>
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/underscore.js/1.5.2/underscore-min.js"></script>
<script type="text/javascript">window._ || document.write('<script src="http://cdn0.vox-cdn.com/javascripts/vendor/underscore-1.5.2.min.vd22f881.js"><\/script>');</script>
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/backbone.js/1.0.0/backbone-min.js"></script>
<script type="text/javascript">window.Backbone || document.write('<script src="http://cdn3.vox-cdn.com/javascripts/vendor/backbone-1.0.0.min.v3541019.js"><\/script>');</script>
<script src="http://cdn0.vox-cdn.com/javascripts/polygon_head.v3f508fc05ce0c3b5.js" type="text/javascript"></script>
<!-- Google Analytics -->
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-29192711-1', 'auto');
ga('set', 'dimension1', 'Polygon Entry Page')
ga('set', 'dimension2', 'review')
ga('set', 'dimension3', 'Logged Out')
ga('set', 'dimension4', 'Griffin McElroy')
ga('set', 'dimension5', '2014-06-26 09:00')
ga('send', 'pageview');
</script>
<!-- End Google Analytics -->
<script type="text/javascript">var _sf_startpt=(new Date()).getTime()</script>
<script type="text/javascript">
if (Math.random() <= 0.0005 ){
jQuery(function($) {
$.scrollDepth && $.scrollDepth({ elements: ["#review-body","#review-wrapup","#comments","#article-body","#feature-body"] });
});
}
</script>
<script class="kxct" data-id="JImcqyW7" data-timing="async" data-version="1.9" type="text/javascript">
window.Krux||((Krux=function(){Krux.q.push(arguments)}).q=[]);
(function(){
function retrieve(n){
var m, k='kx'+n;
if (window.localStorage) {
return window.localStorage[k] || "";
} else if (navigator.cookieEnabled) {
m = document.cookie.match(k+'=([^;]*)');
return (m && unescape(m[1])) || "";
} else { return ''; }
}
Krux.user = retrieve('user');
Krux.segments = retrieve('segs') ? retrieve('segs').split(',') : '';
})();
(function(){
var k=document.createElement('script');k.type='text/javascript';k.async=true;
var m,src=(m=location.href.match(/\bkxsrc=([^&]+)/))&&decodeURIComponent(m[1]);
k.src = /^https?:\/\/([a-z0-9_\-\.]+\.)?krxd\.net(:\d{1,5})?\//i.test(src) ? src : src === "disable" ? "" :
(location.protocol==="https:"?"https:":"http:")+"//cdn.krxd.net/controltag?confid=JImcqyW7";
var s=document.getElementsByTagName('script')[0];s.parentNode.insertBefore(k,s);
}());
</script>
<script type="text/javascript">
window._umbel = window._umbel || [];
(function() {
var u = document.createElement('script'); u.type = 'text/javascript'; u.async = true;
u.src = document.location.protocol + '//tags.api.umbel.com/lcojgvtzjxmbjdgh/w.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(u, s);
var d = new Date();
d.setDate(d.getDate() + 365);
document.cookie = "umbel_api_key=lcojgvtzjxmbjdgh; expires=" + d.toUTCString();
if (document.location.href.indexOf('utm_source=umbel') !== -1) {
if (typeof Chorus !== 'undefined' && typeof Chorus.Video !== 'undefined') {
Chorus.Video.autoplay = true;
jQuery(document).ready(function(){
document.location.hash = jQuery('.chorus-video-embed').first().attr('id');
});
}
}
})();
</script>
<script type="text/javascript" src="http://ox-d.sbnation.com/w/1.0/jstag"></script><script type="text/javascript">
//<![CDATA[
var SBN = SBN || {};
if (typeof(OX) != "undefined") {
// we have successfully loaded via the external OpenX JS
SBN.OpenX = new OXH(); // OpenX helper/wrapper
SBN.OpenX.setAdUnitScopes({"304991":{"large":null,"xlarge":null,"xxlarge":null},"":{"desktop":null},"304994":{"browser_width":["large","xlarge","xxlarge"],"device_type":["desktop"]},"304996":{"browser_width":["large","xlarge","xxlarge"],"device_type":["desktop"]},"304993":{"browser_width":["large","xlarge","xxlarge"],"device_type":["desktop"]},"304995":{"browser_width":["large","xlarge","xxlarge"],"device_type":["desktop"]},"304997":{"browser_width":["large","xlarge","xxlarge"],"device_type":["desktop"]},"304992":{"browser_width":["large","xlarge","xxlarge"],"device_type":["desktop"]},"549376":{"browser_width":["large_medium","large","xlarge","xxlarge"],"device_type":["desktop"]},"305002":{"browser_width":["medium","large","xlarge","xxlarge"],"device_type":["tablet"]},"305001":{"browser_width":["medium","large","xlarge","xxlarge"],"device_type":["tablet"]},"423846":{"browser_width":["medium","large","xlarge","xxlarge"],"device_type":["tablet"]},"423847":{"browser_width":["medium","large","xlarge","xxlarge"],"device_type":["tablet"]},"563443":{"browser_width":["xsmall","small","medium"],"device_type":["mobile"]},"563445":{"browser_width":["xsmall","small"],"device_type":["mobile"]},"556359":{"browser_width":["xsmall","small"],"device_type":["mobile"]}});
SBN.OpenX.setAdUnitGroups({"13823":[304995,304993],"13824":[304995,304997],"13822":[304995,304992],"13826":[304994,304993],"13827":[304994,304997],"13825":[304994,null],"17976":[561878,304995]});
if (typeof Util === 'object' && Util.UserAgentProfiler) {
SBN.OpenX.setPageScope({
browser_width: Util.UserAgentProfiler.browserWidthForOpenX(),
device_type: Util.UserAgentProfiler.deviceTypeForOpenX()
});
}
SBN.OpenX.addContentTopic(17, 'Interior Page');
SBN.OpenX.addVariable('network', 'polygon');
SBN.OpenX.addVariable('entry_id', '5606221');
SBN.OpenX.addVariable('entry_type', 'review');
SBN.OpenX.addVariable('entry_group', '12127,12135,12139,12141,12145,12147,12465,22875');
SBN.OpenX.addVariable('hub_page', 'pc,3ds,wii-u,windows,mac,linux');
SBN.OpenX.addVariable('forum', 'shovel-knight');
SBN.OpenX.addVariable('polygon_game', '11135');
SBN.OpenX.addVariable('polygon_game_genre', '1176');
if (window.Krux) { SBN.OpenX.addVariable('kuid', Krux.user); SBN.OpenX.addVariable('ksg', Krux.segments); }
SBN.Campaigns.Components.logActivation(
'Polygon General Audience ',
5353,
56,
'tracking-pixel'
);
SBN.Campaigns.Components.setCustomVarsFromActiveComponents();
// no Criteo on this network
SBN.OpenX.setAdUnitsOnPage([561878,304992,305001,304996,423847,556359]);
SBN.OpenX.fetchAds();
} else {
if (console && console.log) {
console.log("Warning: OpenX did not load! Trying to fail gracefully.");
}
SBN.OpenX = {};
SBN.OpenX.showAd = function(id) {
if (console && console.log) {
console.log("OpenX did not load so we cannot render ad " + id + ".");
}
};
}
//]]>
</script>
<script type="text/javascript">
window.Chorus = window.Chorus || {};
window.Chorus.Context = {
logged_in : false
, user_id : 0
, network_slug : "polygon"
, community_id : 405
, entry_id : 5606221
, short_url : "http://sbn.to/1v9g3s4"
, emc_admin : false
};
if (!window.Vox && window.Chorus) {
Vox = {
Video: Chorus.Video
}
}
</script>
<script type="text/javascript">var _sf_startpt=(new Date()).getTime()</script>
<meta name="google-site-verification" content="z3yEZeXcpcypG8--dIMIB9YSWbuTHS0mLyMkj_rhDp0" />
<meta name="google-site-verification" content="5kyTj32sfWKxDJSmLzSehLP-USWxo10RMQSvE_vwppg" />
<!-- ad hoc -->
<!-- helios -->
</head>
<body class="polygon theme-default review template_review" data-entry-type="review">
<div id="body-wrapper" class="l-inner-wrap">
<div id="fb-root"></div>
<script type="text/javascript">
if (typeof(SBN) != "undefined") {
SBN.Facebook.SDK.init(400103126722312);
}
</script>
<div id="open_x_ad_unit_561878" class="open_x_ad" data-cb-ad-id="Athena prelude" data-cb-dfp-id="unit=561878">
<script type="text/javascript">
SBN.OpenX.showAd(561878);
</script>
</div>
<script type="text/javascript">
jQuery(function($) {
$('#nav_search').live_search(
{
callback : function(result){
window.location = $(result).attr('href');
}
}
);
});
</script>
<script type="text/template" id="search_results_template">
<div class="m-site-nav__search-results-list">
[% if (data.results.length > 0) { %]
<a id="view_all_results" href="#" class="m-site-nav__all-search-results-link all_results_link">All Results ›</a>
<ul class="m-site-nav__search-results-game-list searched_games">
[% _.each(data.results, function(result, index) { %]
<li class="m-site-nav__search-result-item result_item">
<a class="m-site-nav__search-results-link result_link" data-title="[%= result.title %]" href="[%= result.url %]">
[% if (result.image) { %]
<div class="m-site-nav__search-results-image image_container" style="background-image: url([%= result.image %])"></div>
[% } %]
<p>[%= result.title %]</p>
</a>
</li>
[% }); %]
</ul>
[% } else { %]
<p class="results_title">No games found</p>
[% } %]
</div>
</script>
<div class="m-site-nav ">
<nav class="m-site-nav__polybar sticky_nav" id="polybar">
<div class="m-site-nav__wrapper super">
<div class="m-site-nav__item nav-toggle">
<a href="#" id="mobile-nav-toggle" class="m-site-nav__mobile-slideout-button">Menu</a>
</div>
<div id="nav_logo" class="m-site-nav__item logo">
<a href="/" class="m-site-nav__logo-link">Polygon</a>
</div>
<ul class="m-site-nav__list">
<li class="m-site-nav__item lazy" id="pane-news" data-pane="news">
<a class="m-site-nav__primary-link" href="/news">News</a>
<div class="m-site-nav__shelf news">
<div class="m-site-nav__sub-menu news">
<ul class="m-site-nav__group-selector">
<li class="group sub-report" data-slug="report">
<a href="/report">Reports</a>
</li>
<li class="group sub-culture" data-slug="culture">
<a href="/culture">Culture</a>
</li>
<li class="group sub-news active" data-slug="news">
<a href="/news">Recent</a>
</li>
<li class="m-site-nav__group-selector-more-link">
<a href="/news">All News</a>
</li>
</ul>
<div class="m-site-nav__shelf-container"></div>
</div>
</div>
</li>
<li class="m-site-nav__item lazy" id="pane-e3" data-pane="e3">
<a class="m-site-nav__primary-link" href="/e3-2014">E3 2014</a>
<div class="m-site-nav__shelf news">
<div class="m-site-nav__sub-menu e3">
<div class="m-site-nav__shelf-container"></div>
<a href="/e3-2014">All E3 News</a>
</div>
</div>
</li>
<li class="m-site-nav__item lazy" id="pane-reviews" data-pane="reviews">
<a class="m-site-nav__primary-link" href="/games/reviewed">Reviews</a>
<div class="m-site-nav__shelf reviews">
<div class="m-site-nav__sub-menu reviews">
<ul class="m-site-nav__group-selector">
<li class="group sub-recent active" data-slug="recent">
<a href="/games/reviewed">Recent</a>
</li>
<li class="group sub-nintendo" data-slug="nintendo">
<a href="/games/nintendo/reviewed">Nintendo</a>
</li>
<li class="group sub-playstation" data-slug="playstation">
<a href="/games/playstation/reviewed">Playstation</a>
</li>
<li class="group sub-xbox" data-slug="xbox">
<a href="/games/xbox/reviewed">Xbox</a>
</li>
<li class="group sub-mobile" data-slug="mobile">
<a href="/games/mobile/reviewed">Mobile</a>
</li>
<li class="group sub-pc" data-slug="pc">
<a href="/games/pc/reviewed">PC</a>
</li>
<li class="m-site-nav__group-selector-more-link">
<a href="/games/reviewed">All Reviews</a>
</li>
</ul>
<div class="m-site-nav__shelf-container"></div>
</div>
</div>
</li>
<li class="m-site-nav__item lazy" id="pane-features" data-pane="features">
<a class="m-site-nav__primary-link" href="/features">Features</a>
<div class="m-site-nav__shelf features">
<div class="m-site-nav__sub-menu features">
<ul class="m-site-nav__group-selector">
<li class="group sub-this-week active" data-slug="this-week">
<a href="/features">This Week</a>
</li>
<li class="group sub-last-week" data-slug="last-week">
<a href="/features">Last Week</a>
</li>
<li class="group sub-human-angle" data-slug="human-angle">
<a href="/human-angle">Human Angle</a>
</li>
<li class="m-site-nav__group-selector-more-link">
<a href="/features">All Features</a>
</li>
</ul>
<div class="m-site-nav__shelf-container"></div>
</div>
</div>
</li>
<li class="m-site-nav__item video lazy" id="pane-videos" data-pane="videos">
<a class="m-site-nav__primary-link" href="/videos">Videos</a>
<div class="m-site-nav__shelf videos">
<div class="m-site-nav__sub-menu videos">
<ul class="m-site-nav__group-selector">
<li class="group sub-recent active" data-slug="recent">
<a href="/videos">Recent</a>
</li>
<li class="group sub-polygon-live" data-slug="polygon-live">
<a href="/polygon-live">Polygon Live</a>
</li>
<li class="group sub-friends-list" data-slug="friends-list">
<a href="/friends-list">Friends List</a>
</li>
<li class="group sub-overview" data-slug="overview">
<a href="/overview">Overview</a>
</li>
<li class="group sub-human-angle" data-slug="human-angle">
<a href="/human-angle">Human Angle</a>
</li>
<li class="m-site-nav__group-selector-more-link">
<a href="/videos">All Videos</a>
</li>
</ul>
<div class="m-site-nav__shelf-container"></div>
</div>
</div>
</li>
<li class="m-site-nav__item lazy" id="pane-forums" data-pane="forums">
<a class="m-site-nav__primary-link" href="/forums">Forums</a>
<div class="m-site-nav__shelf forums">
<div class="m-site-nav__sub-menu forums">
<ul class="m-site-nav__group-selector">
<li class="group sub-recent active" data-slug="recent">
<a href="/forums">Recent</a>
</li>
<li class="group sub-polynauts" data-slug="polynauts">
<a href="/forums/polynauts">Polynauts</a>
</li>
<li class="group sub-off-topic" data-slug="off-topic">
<a href="/forums/off-topic">Off-Topic</a>
</li>
<li class="group sub-ps4" data-slug="ps4">
<a href="/forums/ps4">Playstation 4</a>
</li>
<li class="group sub-xb1" data-slug="xb1">
<a href="/forums/xbox-one">Xbox One</a>
</li>
<li class="group sub-wiiu" data-slug="wiiu">
<a href="/forums/wii-u">Wii U</a>
</li>
<li class="group sub-meta" data-slug="meta">
<a href="/forums/meta">Meta</a>
</li>
<li class="m-site-nav__group-selector-more-link">
<a href="/forums">All Forums</a>
</li>
</ul>
<div class="m-site-nav__shelf-container"></div>
</div>
</div>
</li>
<li class="m-site-nav__item lazy" id="pane-opinion" data-pane="opinion">
<a class="m-site-nav__primary-link" href="/opinion">Opinion</a>
<div class="m-site-nav__shelf news">
<div class="m-site-nav__sub-menu opinion">
<ul class="m-site-nav__group-selector">
<li class="group sub-opinion active" data-slug="opinion">
<a href="/opinion">Opinion</a>
</li>
<li class="group sub-friends-list" data-slug="friends-list">
<a href="/friends-list">Friends List</a>
</li>
<li class="group sub-the-besties-podcast" data-slug="the-besties-podcast">
<a href="/the-besties-podcast">The Besties</a>
</li>
<li class="m-site-nav__group-selector-more-link">
<a href="/opinion">All Opinion</a>
</li>
</ul>
<div class="m-site-nav__shelf-container"></div>
</div>
</div>
</li>
<li class="m-site-nav__item more">
<a class="m-site-nav__primary-link" href="#">More</a>
<div class="m-site-nav__shelf more">
<div class="m-site-nav__sub-menu more">
<ul class="m-site-nav__shelf-entries more">
<li class="m-site-nav__entry more platforms">
<ul class="m-site-nav__more-list">
<li class="m-site-nav__more-header">Platforms</li>
<li class="m-site-nav__more-item"><a href="/nintendo">Nintendo</a></li>
<li class="m-site-nav__more-item"><a href="/playstation">Playstation</a></li>
<li class="m-site-nav__more-item"><a href="/xbox">Xbox</a></li>
<li class="m-site-nav__more-item"><a href="/mobile">Mobile</a></li>
<li class="m-site-nav__more-item"><a href="/pc">PC</a></li>
</ul>
</li>
<li class="m-site-nav__entry more rss">
<ul class="m-site-nav__more-list">
<li class="m-site-nav__more-header">RSS Feeds</li>
<li class="m-site-nav__more-item"><a href="/rss/index.xml">All</a></li>
<li class="m-site-nav__more-item"><a href="/rss/group/news/index.xml">News</a></li>
<li class="m-site-nav__more-item"><a href="/rss/group/reviews/index.xml">Reviews</a></li>
<li class="m-site-nav__more-item"><a href="/rss/group/features/index.xml">Features</a></li>
</ul>
</li>
<li class="m-site-nav__entry more">
<ul class="m-site-nav__more-list">
<li class="m-site-nav__more-item"><a href="/pages/about">Who We Are</a></li>
<li class="m-site-nav__more-item"><a href="http://jobs.voxmedia.com">Jobs</a></li>
<li class="m-site-nav__more-item"><a href='/pages/write-a-feature-article-for-polygon'>Pitch a Story</a></li>
<li class="m-site-nav__more-item"><a href="/pages/contact">Tip Us</a></li>
<li class="m-site-nav__more-item"><a href="/pages/contact">Contact Us</a></li>
</ul>
</li>
</ul>
</div>
</div>
</li>
</ul>
<div class="m-site-nav__search-container no-touch" id="nav_search">
<form action="/search" method="get" id="live_search_form" class="m-site-nav__search-form">
<input name="q" id="nav_search_input" class="m-site-nav__search-input mousetrap" type="text" placeholder="Search Games & Reviews" autocomplete="off" />
<input id="nav_search_submit" type="submit" value="search" class="m-site-nav__search-submit submit" />
<div id="nav_search_loader" class="m-site-nav__search-loader loader"></div>
<a href="#" id="close_search_results_btn" class="search_results_close">Close</a>
</form>
<div id="nav_search_results" class="m-site-nav__search-results results">
</div>
</div>
<div class="m-site-nav__user-container no-touch">
<a href="http://www.polygon.com/login?return_to=http%3A%2F%2Fwww.polygon.com%2F2014%2F6%2F26%2F5842180%2Fshovel-knight-review-pc-3ds-wii-u" class="m-site-nav__login-button" data-chorus-auth="login">Login</a>
</div>
</ul>
<ul class="m-site-nav__left-side">
<li class="m-site-nav__left-side__item">
<a class="m-site-nav__left-side__link" href="/news">News</a>
<ul class="m-site-nav__left-side__sub-list">
<li class="m-site-nav__left-side__sub-list-item">
<a class="m-site-nav__left-side__sub-list-link" href='/report'>Reports</a>
</li>
<li class="m-site-nav__left-side__sub-list-item">
<a class="m-site-nav__left-side__sub-list-link" href='/culture'>Culture</a>
</li>
<li class="m-site-nav__left-side__sub-list-item">
<a class="m-site-nav__left-side__sub-list-link" href='/news'>News</a>
</li>
</ul>
</li>
<li class="m-site-nav__left-side__item"><a class="m-site-nav__left-side__link" href="/e3-2014">E3 2014</a></li>
<li class="m-site-nav__left-side__item"><a class="m-site-nav__left-side__link" href="/forums">Forums</a></li>
<li class="m-site-nav__left-side__item"><a class="m-site-nav__left-side__link" href="/games/reviewed">Reviews</a></li>
<li class="m-site-nav__left-side__item"><a class="m-site-nav__left-side__link" href="/opinion">Opinion</a></li>
<li class="m-site-nav__left-side__item"><a class="m-site-nav__left-side__link" href="/features">Features</a></li>
<li class="m-site-nav__left-side__item"><a class="m-site-nav__left-side__link" href="/videos">Videos</a>
<ul class="m-site-nav__left-side__sub-list">
<li class="m-site-nav__left-side__sub-list-item">
<a class="m-site-nav__left-side__sub-list-link" href='/videos'>All Videos</a>
</li>
<li class="m-site-nav__left-side__sub-list-item">
<a class="m-site-nav__left-side__sub-list-link" href='/overview'>Overview</a>
</li>
<li class="m-site-nav__left-side__sub-list-item">
<a class="m-site-nav__left-side__sub-list-link" href='/polygon-live'>Polygon Live</a>
</li>
<li class="m-site-nav__left-side__sub-list-item">
<a class="m-site-nav__left-side__sub-list-link" href='/friends-list'>Friends List</a>
</li>
<li class="m-site-nav__left-side__sub-list-item">
<a class="m-site-nav__left-side__sub-list-link" href='/human-angle'>Human Angle</a>
</li>
</ul></li>
<li class="m-site-nav__left-side__item"><a class="m-site-nav__left-side__link" href="/">More</a>
<ul class="m-site-nav__left-side__sub-list">
<li class="m-site-nav__left-side__sub-list-item">
<a class="m-site-nav__left-side__sub-list-link" href='/pages/about'>Who We Are</a>
</li>
<li class="m-site-nav__left-side__sub-list-item">
<a class="m-site-nav__left-side__sub-list-link" href='http://jobs.voxmedia.com'>Jobs</a>
</li>
<li class="m-site-nav__left-side__sub-list-item">
<a class="m-site-nav__left-side__sub-list-link" href='/pages/write-a-feature-article-for-polygon'>Pitch a Story</a>
</li>
<li class="m-site-nav__left-side__sub-list-item">
<a class="m-site-nav__left-side__sub-list-link" href='/pages/contact'>Contact Us</a>
</li>
</ul>
</li>
</ul>
</div>
</nav>
<div class="m-user-msg__root">
</div>
</div>
<div id="polybar_spacer"></div>
<div class="m-event-widget__container">
<div class="chorus-emc__content" data-emc-slug="PolygonEventWidgetCell">
</div>
</div>
<div id="nav_leaderboard"></div>
<div class="cover vox-lazy-load" data-imgkey="34817507:cinema:18" data-original="http://cdn2.vox-cdn.com/uploads/chorus_image/image/34834123/jellyfish_hero.0_cinema_640.0.png" data-ratio="1.8" id="feature_cover"></div>
<div class="super">
<div class="content">
<style type="text/css">
.-font-serif{font-family:Georgia,serif}.-font-sans-serif{font-family:Arial,sans-serif}.-font-monospace{font-family:Consolas,"Andale Mono WT","Andale Mono","Lucida Console","Lucida Sans Typewriter","DejaVu Sans Mono","Bitstream Vera Sans Mono","Liberation Mono","Nimbus Mono L",Monaco,"Courier New",Courier,monospace}.-font-gotham{font-family:"Gotham SSm A","Gotham SSm B",Arial,sans-serif}.-font-mercury{font-family:"Mercury SSm A","Mercury SSm B",Georgia,serif}*{-webkit-font-smoothing:antialiased}.is-hidden{display:none}.-float-right{float:right}.-float-left{float:left}.-no-border{border:0}.-no-margin{margin:0}.-no-padding{padding:0}.-background-cover{-webkit-background-size:cover;-moz-background-size:cover;-ms-background-size:cover;-o-background-size:cover;background-size:cover}@media (max-width: 68.75em){.-hide-at-large{display:none}}@media (max-width: 50em){.-hide-at-medium{display:none}}@media (max-width: 37.5em){.-hide-at-small{display:none}}.clearfix{zoom:1}.clearfix:before,.clearfix:after{content:"\0020";display:block;height:0;overflow:hidden}.clearfix:after{clear:both}.no-margin-child:first-child,p:first-child{margin-top:0}.no-margin-child:last-child,p:last-child{margin-bottom:0}a{text-decoration:none}p{line-height:1.5}.polygon-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000;opacity:0.7;display:none;z-index:214645}body.chorus-modal-loading .m-chorus-modal__wrapper:after{background-image:url("/images/polygon/loader.gif")}.harmony-tooltip{background-color:#222;display:block;height:1px;max-width:400px;position:absolute;padding:1em;margin-top:5px;color:#fff;font-size:0.8em;z-index:5;opacity:0;-webkit-animation:0.3s ease;transition:0.3s ease}.harmony-tooltip:before{content:'';display:block;position:absolute;top:-5px;left:20px;border-style:solid;border-width:0 5px 5px 5px;border-color:transparent transparent #000 transparent}@media (max-width: 37.5em){.harmony-tooltip:before{left:50%}}.harmony-tooltip.shown{opacity:1;height:auto}.large,.large p,.large div p{font-size:1.05em !important;color:#444}.polygon.review .super .content article .wrapup blockquote{font-weight:bold !important;font-size:2.5em !important}.ng{background-color:transparent !important;max-width:35em;color:#efefef;background-image:url("http://cdn2.sbnation.com/assets/3465941/Untitled-1.png");font-weight:500}.ng h3{font-size:2em !important;font-weight:600 !important}.ng p{font-family:'Arial', san serif;font-size:1em !important}
</style>
<article id="entry-top">
<div class="float_wrapper">
<header>
<div class="header-container">
<h1 data-remote-headline-edit="title" data-remote-admin-entry-id="5606221">Shovel Knight review: rewrite history</h1>
<p class="byline">
By <em><a href="http://www.polygon.com/users/griffinmcelroy">Griffin McElroy</a></em>
<a href='http://twitter.com/griffinmcelroy' class="twitter">@griffinmcelroy</a> <br />
<span class="timestamp">on June 26, 2014
at 9:00a
</span>
<span class="m-entry-admin-button" data-remote-admin-entry-type="button" data-remote-admin-entry-id="5606221"></span>
</p>
</div>
</header>
<div class="m-share-buttons">
<div class="m-share-buttons__inner-wrapper">
<div class="p-button social facebook">
<a href="#" onclick="window.open('https://www.facebook.com/sharer/sharer.php?u='+encodeURIComponent('http://www.polygon.com/2014/6/26/5842180/shovel-knight-review-pc-3ds-wii-u'), 'height=279, width=575'); return false;">Share</a>
</div>
<div class="p-button social twitter">
<a href="https://twitter.com/intent/tweet?text=Shovel+Knight+review%3A+rewrite+history&url=http%3A%2F%2Fwww.polygon.com%2F2014%2F6%2F26%2F5842180%2Fshovel-knight-review-pc-3ds-wii-u&via=Polygon">Tweet</a>
</div>
</div>
</div>
<section class="body" id="review-body">
<div class="review_table">
<div class="pane">
<table>
<tbody>
<tr class="info_title">
<td>
Game Info
</td>
</tr>
<tr class="box_art">
<td>
<span class="game_img" data-original="http://cdn3.sbnation.com/hermano/small/7242/small_shovelknight.png" style="background-image: url(http://cdn3.sbnation.com/hermano/small/7242/small_shovelknight.png);"></span>
</td>
</tr>
<tr class="platform">
<td>
<small>Platform</small>
<strong>Win, Wii U, 3DS, Mac, Linux</strong>
</td>
</tr>
<tr class="publisher">
<td>
<small>Publisher</small>
<strong>Yacht Club Games</strong>
</td>
</tr>
<tr class="developer">
<td>
<small>Developer</small>
<strong>Yacht Club Games</strong>
</td>
</tr>
<tr class="release">
<td>
<small>Release Date</small>
<strong>2014-06-26</strong>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="ad_article_right">
<div class="ad">
<div id="open_x_ad_unit_304992" class="open_x_ad" data-cb-ad-id="Half page" data-cb-dfp-id="unit=304992">
<script type="text/javascript">
SBN.OpenX.showAd(304992);
</script>
</div>
<div id="open_x_ad_unit_305001" class="open_x_ad" data-cb-ad-id="Tablet half page" data-cb-dfp-id="unit=305001">
<script type="text/javascript">
SBN.OpenX.showAd(305001);
</script>
</div>
</div>
</div>
<p class="m-entry__intro intro"><span class="large"><em>Shovel Knight</em> is inspired by the past in all the right ways — but it's far from stuck in it.</span>
</p>
<!-- ######## BEGIN SNIPPET ######## -->
<div class="chorus-snippet single_column large" style="max-width:43em; margin-left:Auto; margin-right:auto;">
<p>Countless games have attempted to exploit our nostalgia for the 8 and 16-bit golden age, but none have cherry-picked the era's best attributes as judiciously as <em>Shovel Knight</em>. It's the stuff our childhood dreams were made of, assuming you dreamt of combining your favorite platformers from the '80s and early '90s into a single, streamlined package.</p>
<p>The magic of <em>Shovel Knight</em> is how it accomplishes that recombination without becoming derivative. The all-too-common praise for these sorts of modern-retro projects is lauding them as "the best NES game never made." <em>Shovel Knight</em> is, by leaps and bounds, the most authentic retro game ever made, and might actually be deserving of that designation.</p>
<p>Though tons of NES games make up <em>Shovel Knight</em>'s DNA, the most obvious mechanical comparison is Capcom's 1990 platformer DuckTales. <em>Shovel Knight</em>'s unique, titular weapon behaves like Scrooge McDuck's cane, allowing him to flip enemies, bounce over obstacles or unearth hidden treasures. Bouncing is really the main order of the day — it allows you to dispatch enemies without putting yourself in harm's way, and lets you cross gaps by chaining together head-stomps.</p>
</div>
<!-- ######## END SNIPPET ######## --> <!-- ######## BEGIN SNIPPET ######## -->
<div class="chorus-snippet image_overlay quote_only quote_right">
<div class="big_image"><div class="video-wrap p-scalable-video"><div data-chorus-video-id="49373" class="chorus-video-embed" id="chorus-video-49373"></div></div></div>
</div>
<!-- ######## END SNIPPET ######## --> <!-- ######## BEGIN SNIPPET ######## -->
<div style="max-width:52em; margin-left:auto; margin-right:auto;" class="chorus-snippet single_column large">
<p>Simple as it may be, it's amazing how well that one mechanic has held up. Figuring out how to combo-bounce through an entire screen of flying enemies, killer spikes and projectiles is endlessly rewarding, which is fortunate, because you'll do it a lot throughout <em>Shovel Knight</em>'s campaign.</p>
<p><em>Shovel Knight</em> revives a lot of great ideas from the 8-bit era, but its biggest strength might just be what it leaves out. The (occasionally charming) obtuseness present in the games it draws from has been excised entirely — there's no repetition in its exploration, no confusion in how its systems operate. More notably, there's very, very little referential humor or retro-parody in <em>Shovel Knight</em>'s writing, making it feel less like a cheeky dissertation, and more like a franchise that actually could have existed (and wildly succeeded) on the NES.</p>
</div>
<!-- ######## END SNIPPET ######## --> <!-- ######## BEGIN SNIPPET ######## -->
<div class="chorus-snippet single_column_big_photo large" style="max-width:52em; margin-left:auto; margin-right:auto;">
<div class="big_photo"><img alt="Campfire_narrow" class="photo" src="http://cdn3.vox-cdn.com/assets/4672103/campfire_narrow.gif"></div>
<div class="float">
<p>Those lovingly reimagined mechanics are bolstered by a handful of more modern designs that help <em>Shovel Knight</em> establish itself as more than just a retro knock-off. It has a novel, almost Dark Souls-ian take on death, forcing you to drop a large portion of your collected gold when you die, but giving you a single chance to get back to the scene of your death and reclaim your loot. It's a system that reinforces constant, challenging risk-reward evaluations — can you even get back to that point without dying again, starting that cycle anew?</p>
<p>The game's biggest achievement is how it has — no exaggeration — perfected the idea of checkpoints. If you ever find the distribution of checkpoints is making your playthrough too casual, you can, at any point, smash a checkpoint, granting you the huge pile of gold within. It's a huge gamble, as destroying a checkpoint renders it inert, ostensibly sending you way closer to the level's start point (and even farther from your dropped loot) upon death. Considering each level takes about a half hour to complete, that distance can become enormous.</p>
</div>
</div>
<!-- ######## END SNIPPET ######## --> <!-- ######## BEGIN SNIPPET ######## -->
<div class="chorus-snippet browser_wide_media image_overlay">
<div class="big_image"><span> <img alt="Shovel_hero" class="photo" src="http://cdn2.vox-cdn.com/assets/4672063/shovel_hero.png"> </span></div>
<div class="overlay ng">
<h3>Kickstarter stretch features</h3>
<p>When <em>Shovel Knight</em> launches, it will include some, but not all of the features that were added to the game's feature list as Kickstarter stretch goals. Elements that made the cut include a music player, Achievements, a New Game + mode and an entire level which recognizes some of the campaigns donors. Others, which will be added as free updates throughout the year, include a four-player Battle Mode, a Challenge Mode and additional player characters modeled after the game's bosses.</p>
<p>Also incoming is a Gender Swap mode, which will affect the game's male main protagonist and area bosses, as well as the female Shield Knight and main antagonist, The Enchantress.</p>
</div>
</div>
<!-- ######## END SNIPPET ######## --> <!-- ######## BEGIN SNIPPET ######## -->
<div style="max-width:52em; margin-left:auto; margin-right:auto;" class="chorus-snippet single_column large">
<p>And do not get it twisted: You're going to die in <em>Shovel Knight</em>, and often. Its earlier levels throw a few curveballs at you while introducing the game's mechanics, while the last few levels are just curveballs top-to-bottom. Spikes and bottomless pits are one-hit kills, and there are a lot of enemies (and bosses!) in those stages that are very, very good at pushing you into them. It's not quite as unfair as, for example, a Castlevania Clock Tower, but at points it does come awfully close.</p>
<p>The game's sole weak link is its economy, which somewhat undermines the cleverness of its death mechanics. There's a bunch of upgrades, equipment and items to purchase from the vendors in <em>Shovel Knight</em>'s world, but you'll earn enough cash to buy all of them well before the game's ending. I cleaned out every store shelf when I was about three-quarters of the way through the game, making the remainder just a little less compelling.</p>
<p>It's not just the mechanics of old-school games that <em>Shovel Knight</em> nails, though; it also has that undefinable, metaphysical look and feel of an NES classic. The game's setting is memorable and quirky, with inexplicable animal-human hybrid inhabitants like the Goatician, a goat-man Magician who sells health upgrades, or the Troupple King, a gigantic, apple-shaped fish who, after a ceremonial dance, spits out various flavors of helpful potions. It's a bizarre, lovable world that can stand toe-to-toe with any Hyrule or Mushroom Kingdom.</p>
</div>
<!-- ######## END SNIPPET ######## -->
</section>
<section class="wrapup" id="review-wrapup">
<h4>Wrap Up:</h4>
<blockquote>Shovel Knight is the kind of game people write love letters about</blockquote>
<p>
<p class="large">
There is a reason we can all remember so much from games that are almost 30 years old, and <em>Shovel Knight</em> has tapped into that reason in a profound way. We don't love the brands of our youth; we love the characters, the settings, the way actually playing those games made us feel. <em>Shovel Knight</em> doesn't settle for acknowledging those aspects; it includes them around every single corner. <em>Shovel Knight</em> is so much more than a love letter to the genre — it is, in fact, the kind of game people write love letters about.</p>
<p><em>Shovel Knight was reviewed using code provided by Yacht Club Games. You can find additional information about Polygon's ethics policy <a href="http://polygon.com/pages/ethics-statement" target="_blank">here</a>.</em></p>
</p>
<a class="about_reviews_link" href="/pages/about-reviews"> About Polygon's Reviews</a>
</section>
<section class="reviews">
<div class="review">
<div class="review_meta">
<div class="review_score score_90"></div>
<div class="review_scores">
<div class="score">
<strong>9</strong> Win
</div>
</div>
</div>
</div>
</section>
</div>
</article>
<div class="carousel wide tall latest_reviews">
<h5>Latest Reviews</h5>
<div class="pane">
<ul class="carousel_list">
<li>
<a class="carousel_img vox-lazy-load" data-imgkey="34853627:portrait:18" data-original="http://cdn1.vox-cdn.com/uploads/chorus_image/image/34857931/ufc-hero.0_portrait_347.0.jpg" data-ratio="0.7" href="http://www.polygon.com/2014/6/26/5846322/ea-sports-ufc-review-xbox-one-ps4">
<em class="score">5.0</em>
</a> <div class="meta">
<a href="http://www.polygon.com/reviews" class="type">Review</a>
<a href="http://www.polygon.com/2014/6/26/5846322/ea-sports-ufc-review-xbox-one-ps4" class="title">EA Sports UFC review: losing ground</a>
<a href="http://www.polygon.com/2014/6/26/5846322/ea-sports-ufc-review-xbox-one-ps4" class="byline">Arthur Gies</a>
</div>
<a href="http://www.polygon.com/2014/6/26/5846322/ea-sports-ufc-review-xbox-one-ps4" class="review_score">
<em class="score score_50">5.0</em>
</a>
</li>
<li>
<a class="carousel_img vox-lazy-load" data-imgkey="34817507:portrait:18" data-original="http://cdn0.vox-cdn.com/uploads/chorus_image/image/34834929/jellyfish_hero.0_portrait_347.0.png" data-ratio="0.7" href="http://www.polygon.com/2014/6/26/5842180/shovel-knight-review-pc-3ds-wii-u">
<em class="score">9.0</em>
</a> <div class="meta">
<a href="http://www.polygon.com/reviews" class="type">Review</a>
<a href="http://www.polygon.com/2014/6/26/5842180/shovel-knight-review-pc-3ds-wii-u" class="title">Shovel Knight review: rewrite history</a>
<a href="http://www.polygon.com/2014/6/26/5842180/shovel-knight-review-pc-3ds-wii-u" class="byline">Griffin McElroy</a>
</div>
<a href="http://www.polygon.com/2014/6/26/5842180/shovel-knight-review-pc-3ds-wii-u" class="review_score">
<em class="score score_90">9.0</em>
</a>
</li>
<li>
<a class="carousel_img vox-lazy-load" data-imgkey="34754875:portrait:19" data-original="http://cdn1.vox-cdn.com/uploads/chorus_image/image/34783247/spirits_hero.0_portrait_347.0.jpg" data-ratio="0.7" href="http://www.polygon.com/2014/6/25/5839108/the-last-tinker-review-pc-windows">
<em class="score">7.0</em>
</a> <div class="meta">
<a href="http://www.polygon.com/reviews" class="type">Review</a>
<a href="http://www.polygon.com/2014/6/25/5839108/the-last-tinker-review-pc-windows" class="title">The Last Tinker review: rainbow connection</a>
<a href="http: