Valve ha acquisito Campo Santo, lo studio responsabile di uno dei miei giochi preferiti

Lo studio indie Campo Santo, responsabile della realizzazione di Firewatch, uno dei miei videogiochi preferiti di tutti i tempi (ok, lo so che continuo a dirlo, ma è davvero un piccolo gioiello), è stato ufficialmente acquisito da Valve, la piattaforma di distribuzione di giochi digitali più famosa al mondo (che sì, un tempo facevano anche videogiochi… un tempo).

 

Valve lascerà lo studio intatto e in grado quindi di continuare a lavorare sul nuovo titolo annunciato durante i Game Awards 2017: In the valley of Gods. Presto, tuttavia, lo studio sarà trasferito nella nuova sede di Seattle.

Una mossa inaspettata quella di Valve, della quale non vedo l’ora di scoprire quali saranno i futuri sviluppi. La notizia, trapelata online nella serata di ieri, è stata confermata anche attraverso un lungo post pubblicato sul blog ufficiale dello studio che potete trovare a questo indirizzo.

Cosa ne pensate? Fatecelo sapere tramite un commento qui sotto!

jQuery(document).ready(function() { var CONSTANTS = { productMinWidth : 185, productMargin : 20 }; var $adUnits = jQuery('.aalb-47-product-carousel-unit'); $adUnits.each(function() { var $adUnit = jQuery(this), $wrapper = $adUnit.find('.aalb-47-pc-wrapper'), $productContainer = $adUnit.find('.aalb-47-pc-product-container'), $btnNext = $adUnit.find('.aalb-47-pc-btn-next'), $btnPrev = $adUnit.find('.aalb-47-pc-btn-prev'), $productList = $productContainer.find('.aalb-47-pc-product-list'), $products = $productList.find('.aalb-47-pc-product'), productCount = $products.length; if (!productCount) { return true; } var rows = $adUnit.find('input[name=rows]').length && parseInt($adUnit.find('input[name=rows]').val(), 10); var columns = $adUnit.find('input[name=columns]').length && parseInt($adUnit.find('input[name=columns]').val(), 10); if( columns ) { var productContainerMinWidth = columns * (CONSTANTS.productMinWidth + CONSTANTS.productMargin) + 'px'; $adUnit.css( 'min-width', productContainerMinWidth ); $productContainer.css( 'min-width', productContainerMinWidth ); $products.filter( ':nth-child(' + columns + 'n + 1)' ).css( 'clear', 'both' ); } if (rows && columns) { var cutOffIndex = (rows * columns) - 1; $products.filter(':gt(' + cutOffIndex + ')').remove(); } function updateLayout() { var wrapperWidth = $wrapper.width(); var possibleColumns = columns || parseInt( wrapperWidth / (CONSTANTS.productMinWidth + CONSTANTS.productMargin), 10 ); var actualColumns = columns || possibleColumns < productCount ? possibleColumns : productCount; /** * The actual columns can be zero when the wraperwidth is less than sum of CONSTANTS.productMinWidth and * CONSTANTS.productMargin.The parseInt will use floor function and converts any value less than 1 to * zero.Therefore making actual columns 1 . **/ if( actualColumns == 0 ) { actualColumns = 1; } var productWidth = parseInt( wrapperWidth / actualColumns, 10 ) - CONSTANTS.productMargin; $products.css( 'width', productWidth + 'px' ); /** * Removing the Carousel navigation button when the number of products selected by admin is less * than the actual columns (the number of products) can be shown on screen **/ if( productCount > actualColumns ) { $btnNext.css( 'visibility', 'visible' ).removeClass( 'disabled' ).unbind( 'click' ); $btnPrev.css( 'visibility', 'visible' ).removeClass( 'disabled' ).unbind( 'click' ); } $productContainer.jCarouselLite( { btnNext : '#' + $adUnit.attr( 'id' ) + ' .aalb-47-pc-btn-next', btnPrev : '#' + $adUnit.attr( 'id' ) + ' .aalb-47-pc-btn-prev', visible : actualColumns, circular: false } ); } updateLayout(); jQuery(window).resize(updateLayout); }); }); /*! * jCarouselLite - v1.1 - 2014-09-28 * http://www.gmarwaha.com/jquery/jcarousellite/ * Copyright (c) 2014 Ganeshji Marwaha * Licensed MIT (https://github.com/ganeshmax/jcarousellite/blob/master/LICENSE) */ !function(a){a.jCarouselLite={version:"1.1"},a.fn.jCarouselLite=function(b){return b=a.extend({},a.fn.jCarouselLite.options,b||{}),this.each(function(){function c(a){return n||(clearTimeout(A),z=a,b.beforeStart&&b.beforeStart.call(this,i()),b.circular?j(a):k(a),m({start:function(){n=!0},done:function(){b.afterEnd&&b.afterEnd.call(this,i()),b.auto&&h(),n=!1}}),b.circular||l()),!1}function d(){if(n=!1,o=b.vertical?"top":"left",p=b.vertical?"height":"width",q=B.find(">ul"),r=q.find(">li"),x=r.size(),w=x0?z-b.scroll:z+b.scroll)}),b.auto&&h()}function h(){A=setTimeout(function(){c(z+b.scroll)},b.auto)}function i(){return s.slice(z).slice(0,w)}function j(a){var c;a<=b.start-w-1?(c=a+x+b.scroll,q.css(o,-(c*t)+"px"),z=c-b.scroll):a>=y-w+1&&(c=a-x-b.scroll,q.css(o,-(c*t)+"px"),z=c+b.scroll)}function k(a){0>a?z=0:a>y-w&&(z=y-w)}function l(){a(b.btnPrev+","+b.btnNext).removeClass("disabled"),a(z-b.scroll<0&&b.btnPrev||z+b.scroll>y-w&&b.btnNext||[]).addClass("disabled")}function m(c){n=!0,q.animate("left"==o?{left:-(z*t)}:{top:-(z*t)},a.extend({duration:b.speed,easing:b.easing},c))}var n,o,p,q,r,s,t,u,v,w,x,y,z,A,B=a(this);d(),e(),f(),g()})},a.fn.jCarouselLite.options={btnPrev:null,btnNext:null,btnGo:null,mouseWheel:!1,auto:null,speed:200,easing:null,vertical:!1,circular:!0,visible:3,start:0,scroll:1,beforeStart:null,afterEnd:null}}(jQuery);

 

Potrebbe piacerti anche