Connect with us

Microsoft

Alan Wake tuvo que rehacerse casi por completo en el tercer año de desarrollo

Published

on

[ad_1]

Remedy Entertainment se encuentra estos días celebrando el décimo aniversario del estreno de Alan Wake por todo lo alto con su llegada a Xbox Game Pass, entre otras cosas. Este juego de terror psicológico se convirtió pronto en un título de culto por su ambientación y narrativa, pero su desarrollo fue todo lo contrario a un paseo de rosas. Tras abandonar parte de la ambiciosa propuesta jugable que se pensó en un principio para Alan Wake, el juego tuvo que rehacerse casi por completo en el tercer año de desarrollo.

Aunque no es ningún secreto que Alan Wake en un principio iba a tener un mundo abierto, tal y como se enseñó en su presentación del E3 2005, el equipo de Sam Lake fue incapaz de hacer funcionar sus ambiciones dentro del juego, ni con el respaldo que supuso el acuerdo con Microsoft. Tal y como cuenta Sam Lake en una entrevista con Arsh Technica, durante el tercer año de desarrollo se tomó la difícil decisión de prescindir de gran parte de sus ideas de mundo abierto y rehacer el juego casi por completo para asemejarse al Alan Wake que llegó finalmente a las tiendas.

Microsoft enseñará un «montón de nuevos AAA first party» para Xbox Series X en el evento de julio

Algunas de las ideas del mundo abierto se mantuvieron, aunque de manera casi testimonial, y se rehicieron cosas como el propio aspecto del protagonista. Esto retrasó más de lo debido el desarrollo de Alan Wake hasta que finalmente saliera al mercado en 2010. Había ciertos indicios de ese mundo abierto en el juego final, pero cuesta imaginarse ahora el juego con un mundo abierto que encaje igual de bien con su apartado narrativo.

En estos momentos, el lanzamiento de una segunda entrega parece bastante improbable, pero Remedy dará respuesta a algunos de los misterios de Alan Wake a través del segundo DLC de Control. Veremos lo que la Agencia ha podido averiguar sobre los acontecimientos de Bright Falls durante estos años.

function resizeContentsMenu() { //bookmark positioning if(jQuery('.contents-menu-wrapper').length > 0) { var menuOffset = jQuery('.contents-menu-wrapper').offset().top - topOffset; var newWidth = jQuery('.contents-menu-wrapper').width() - 2; var btnWidth = jQuery('.contents-menu-wrapper ul.sort-buttons').width(); var lblWidth = jQuery('.contents-menu-wrapper .bar-label-wrapper').width(); var wrapperWidth = jQuery('#main-content').width() - 2; var barWidth = btnWidth + lblWidth; if (barWidth > wrapperWidth) { jQuery('.contents-menu-wrapper').addClass('vertical'); } if (!jQuery('.contents-menu-wrapper').hasClass('vertical') && jQuery(this).scrollTop() > menuOffset) { jQuery('.contents-menu').addClass('fixed').width(newWidth); } else { jQuery('.contents-menu').removeClass('fixed').removeAttr('style'); } //show the menu after scrolling and hide after a while (only for vertical layout) if(jQuery('.contents-menu-wrapper').hasClass('vertical')) { if(!jQuery('.contents-menu-wrapper').is(':visible')) { jQuery('.contents-menu-wrapper').stop().fadeIn(100); } } } if(jQuery('.contents-menu-wrapper').hasClass('vertical')) { var newOffset = 68; jQuery('body').data()('bs.scrollspy').options.offset = newOffset; // Set the new offset jQuery('body').data()('bs.scrollspy').process(); // Force scrollspy to recalculate the offsets to your targets jQuery('body').scrollspy('refresh'); // Refresh the scrollspy. } }

//if disqus is active need to adjust anchor link from comments to disqus thread function disqusContentsMenu() { if (jQuery("#disqus_thread").length > 0){ jQuery("#comments-anchor-wrapper a").attr("href", "#disqus_thread"); } }

//hide contents menu 2 seconds after scrolling has stopped (function() { var timer; jQuery(window).bind('scroll',function () { clearTimeout(timer); timer = setTimeout( refresh , 1800 ); }); var refresh = function () { //only want to do this for vertical style and only if mouse is not currently hovering over the menu if(jQuery('.contents-menu-wrapper').hasClass('vertical') && jQuery('.contents-menu-wrapper:hover').length == 0) { jQuery('.contents-menu-wrapper').fadeOut(1200); } }; })();

//hide contents menu after user mouses out (function() { var timer; jQuery('body').on('mouseenter', '.contents-menu-wrapper.vertical', function(e) { jQuery('.contents-menu-wrapper').stop(true, true).fadeIn(100); clearTimeout(timer); }); jQuery('body').on('mouseleave', '.contents-menu-wrapper.vertical', function(e) { clearTimeout(timer); timer = setTimeout( refresh , 1800 ); }); var refresh = function () { //only want to do this for vertical style and only if mouse is not currently hovering over the menu if(jQuery('.contents-menu-wrapper').hasClass('vertical') && jQuery('.contents-menu-wrapper:hover').length == 0) { jQuery('.contents-menu-wrapper').fadeOut(1200); } }; })();

/** * Check a href for an anchor. If exists, and in document, scroll to it. * If href argument ommited, assumes context (this) is HTML Element, * which will be the case when invoked by jQuery after an event */ function scroll_if_anchor(href) { href = typeof(href) == "string" ? href : jQuery(this).attr("href");

//do not interfere with bootstrap carousels if(jQuery(href).length > 0 && !jQuery(this).hasClass('no-scroll')) { var fromTop = 118;

//subtract contents menu height (and margin) if(jQuery('.contents-menu-wrapper').hasClass('vertical')) { fromTop = fromTop - 51; }

// If our Href points to a valid, non-empty anchor, and is on the same page (e.g. #foo) // Legacy jQuery and IE7 may have issues: http://stackoverflow.com/q/1593174 if(href.indexOf("#") == 0) { var $target = jQuery(href);

// Older browser without pushState might flicker here, as they momentarily // jump to the wrong position (IE < 10) if($target.length) { jQuery('html, body').animate({ scrollTop: $target.offset().top - fromTop }); if(history && "pushState" in history) { history.pushState({}, document.title, window.location.pathname + href); return false; } } } } } // When our page loads, check to see if it contains an anchor scroll_if_anchor(window.location.hash); // Intercept all anchor clicks jQuery("body").on("click", "a", scroll_if_anchor); //menu hovers function menuHovers() { jQuery(".menu .post-list a").hover( function() { jQuery(this).children('img').stop().animate({ opacity: .3 }, 150); }, function() { jQuery(this).children('img').stop().animate({ opacity: 1.0 }, 500); } ); } //new articles effects jQuery("#new-articles .selector").hover( function() { jQuery(this).addClass('over'); }, function() { jQuery(this).removeClass('over'); } ); jQuery("#new-articles .selector").click(function() { jQuery('#new-articles .post-container').animate({ height: 'toggle' }, 100, 'linear' ); jQuery(this).toggleClass('active'); }); //show search box jQuery("#menu-search-button").hover( function() { jQuery(this).toggleClass('hover'); } ); jQuery("#menu-search-button").click( function() { jQuery('#menu-search').fadeToggle("fast"); jQuery(this).toggleClass('active'); } ); //hide superfish more drop down on mobile if clicked again jQuery("#secondary-menu-selector").click( function() { if(jQuery('.secondary-menu-compact ul.menu').is(':visible')) { jQuery('.secondary-menu-compact ul.menu').hide(); } } ); //search form submission jQuery("#searchformtop input").keypress(function(event) { if (event.which == 13) { event.preventDefault(); var len = jQuery("#s").val().length; if(len >=3) { jQuery("#searchformtop").submit(); } else { alert("Search term must be at least 3 characters in length"); } } }); //email subscribe form submission jQuery("#feedburner_subscribe button").click(function() { jQuery("#feedburner_subscribe").submit(); }); //show login form jQuery("#sticky-login").click(function() { jQuery('#sticky-login-form').animate({ height: 'toggle' }, 100, 'linear' ); jQuery('#sticky-register-form').hide(); jQuery('#sticky-register').removeClass('active'); jQuery(this).toggleClass('active'); }); //show register form jQuery("#sticky-register").click(function() { jQuery('#sticky-register-form').animate({ height: 'toggle' }, 100, 'linear' ); jQuery('#sticky-login-form').hide(); jQuery('#sticky-login').removeClass('active'); jQuery(this).toggleClass('active'); }); //submit button hover effects jQuery(".sticky-submit").hover(function() { jQuery(this).toggleClass("active"); }); //login form submission jQuery(".sticky-login-form #user_pass").keypress(function(event) { if (event.which == 13) { jQuery("#sticky-login-form .loading").show(); jQuery("form.sticky-login-form").animate({opacity: "0.15"}, 0); event.preventDefault(); jQuery(".sticky-login-form").submit(); } }); jQuery("#sticky-login-submit").click(function() { jQuery("#sticky-login-form .loading").show(); jQuery("form.sticky-login-form").animate({opacity: "0.15"}, 0); jQuery(".sticky-login-form").submit(); }); //register form submission jQuery(".sticky-register-form #user_email").keypress(function(event) { if (event.which == 13) { jQuery("#sticky-register-form .loading").show(); jQuery("form.sticky-register-form").animate({opacity: "0.15"}, 0); event.preventDefault(); jQuery(".sticky-register-form").submit(); } }); jQuery("#sticky-register-submit").click(function() { jQuery("#sticky-register-form .loading").show(); jQuery("form.sticky-register-form").animate({opacity: "0.15"}, 0); jQuery(".sticky-register-form").submit(); }); //hide check password message jQuery(".check-password").click(function() { jQuery(this).animate({ height: 'toggle' }, 100, 'linear' ); }); //scroll all #top elements to top jQuery("a(href='#top')").click(function() { jQuery("html, body").animate({ scrollTop: 0 }, "slow"); return false; }); //image darkening jQuery('body').on('mouseenter', '.darken', function(e) { jQuery(this).find('img').stop().animate({ opacity: .4 }, 150); }).on('mouseleave', '.darken', function(e) { jQuery(this).find('img').stop().animate({ opacity: 1.0 }, 500); }); //reaction mouseovers jQuery('body').on('mouseenter', '.reaction.clickable', function(e) { jQuery(this).addClass('active'); }).on('mouseleave', '.reaction', function(e) { jQuery(this).removeClass('active'); }); // user rating panel display jQuery('body').on('mouseover', '.user-rating .rating-wrapper.rateable', function(e) { jQuery(this).addClass('over'); jQuery(this).find('.form-selector-wrapper').fadeIn(100); }); jQuery('body').on('mouseleave', '.user-rating .rating-wrapper', function(e) { jQuery(this).stop().delay(100) .queue(function(n) { jQuery(this).removeClass('over'); n(); }); jQuery(this).find('.form-selector-wrapper').stop().fadeOut(500); }); // user comment rating panel display jQuery('body').on('mouseover', '#respond .rating-wrapper.rateable', function(e) { jQuery(this).addClass('over'); jQuery(this).find('.form-selector-wrapper').fadeIn(100); }); jQuery('body').on('mouseleave', '#respond .rating-wrapper', function(e) { jQuery(this).stop().delay(100) .queue(function(n) { jQuery(this).removeClass('over'); n(); }); jQuery(this).find('.form-selector-wrapper').stop().fadeOut(500); }); // user comment rating jQuery( "#respond .form-selector" ).on( "slidestop", function( event, ui ) { var divID = jQuery(this).parent().parent().parent().attr("id"); var rating = jQuery(this).parent().siblings('.rating-value').html(); jQuery('#' + divID + ' .theme-icon-check').delay(100).fadeIn(100); jQuery('#' + divID + ' .hidden-rating-value').val(rating); });

//pinterest if(jQuery('#pinterest-social-tab').length > 0) { (function(d){ var f = d.getElementsByTagName('SCRIPT')(0), p = d.createElement('SCRIPT'); p.type = 'text/javascript'; p.async = true; p.src = "https://assets.pinterest.com/js/pinit.js"; f.parentNode.insertBefore(p, f); }(document)); }

//facebook if(jQuery('#facebook-social-tab').length > 0) { (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)(0); if (d.getElementById(id)) return; js = d.createElement(s); js.id = id; js.src = "https://connect.facebook.net/en_US/all.js#xfbml=1&status=0"; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'facebook-jssdk')); }

//WINDOW.LOAD jQuery(window).load(function() {

//flickr if(jQuery('#flickr-social-tab').length > 0) { jQuery('.flickr').jflickrfeed({ limit: 9, qstrings: { id: "https://www.somosxbox.com/" }, itemTemplate: '

  • '+ '' + '{{title}}' + '' + '
  • ' }, function(data) { }); }

    //tabs - these must go in window.load so pinterest will work inside a tab jQuery('.widgets-wrapper .it-social-tabs').tabs({ fx: { opacity: 'toggle', duration: 150 } }); jQuery('#footer .it-social-tabs').tabs({ active: 2, fx: { opacity: 'toggle', duration: 150 } }); jQuery('.share-wrapper').show(); equalHeightColumns(jQuery(".loop.grid .article-panel")); disqusContentsMenu();

    //show ads after mmenu is setup because it wraps the page in a div //causing google adsense to reload jQuery('.it-ad').animate({opacity: '1'}, 0);

    });

    jQuery.noConflict();

    [ad_2]

    Continue Reading
    Advertisement
    Click to comment
    Subscribe
    Notify of
    guest
    0 Comments
    Inline Feedbacks
    View all comments
    Advertisement

    Trending

    0
    Would love your thoughts, please comment.x
    ()
    x