[ad_1]

A assistir

spinner - Concrete Genie - Primeiras Impressões (artísticas) Antevisão

Publicidade

Foi há duas semanas que tivemos a oportunidade de jogar Concrete Genie, a nova aventura do pequeno estúdio da Sony, Pixelopus, que nos trouxe anteriormente Entwined. Durante a nossa visita a Berlim, onde decorreu a apresentação, os produtores mostraram-nos uma versão expandida da beta revelada durante a E3 2018, ilustrando o início da aventura de Ash, o nosso protagonista. Em adição a esta introdução às mecânicas, pudemos ainda ver o modo VR em ação e ficar a conhecer a data de lançamento do jogo – que chegará às lojas no dia 9 de outubro.

No início do jogo, vemo-nos em Denska, uma velha cidade à beira-mar. Um grupo de jovens vagueia pelas ruas, a bater em candeeiros e em janelas para lutar contra o aborrecimento. Ash deambula pelas mesmas rus, mas prefere passar o tempo a desenhar no seu caderno – onde desenha pequenos monstros e memórias do passado. Ele tem uma ligação à cidade, mas tudo mudou drasticamente há uns anos atrás. O jovem artista (vamos chamá-lo assim por causa do pincel no seu cabelo) sabe muito bem que não se pode afastar – e não apenas pelos rufias que andam à sua procura. Perdido nos seus desenhos, não sente a passagem do tempo e é surpreendido pelo gangue de miúdos, que rasgam o seu caderno e o fecham num teleférico enferrujado, que o transporta para um farol supostamente abandonado.

Na ilha, ficamos familiarizados com as mecânicas mais básicas – controlamos a câmara, saltamos entre plataformas e até temos tempo para dar festas a alguns dos animais que encontramos (que, apesar de não ter grande utilidade para o jogo, nunca deixa de ser amoroso). Pouco depois, encontramos o pincel mágico que nos introduz ao cerne de toda a jogabilidade, e com esta ferramenta, podemos pintar e transformar os cenários aborrecidos em cenas coloridas saídas de um livro. Esta é, em parte, a nossa missão em Concrete Genie – transformar a cidade acabada num enorme mar de cor.

A partir desta introdução, podemos usar o pincel como quisermos. Só podemos pintar nas paredes, e podemos fazê-lo ao escolher uma das inúmeras opções artísticas à nossa disposição. Desta forma, podemos encher o céu de estrelas, auroras e até de fogueiras, desenhando-as com o comando. Como podem esperar, isto não é imediatamente intuitivo e precisa de algum tempo de habituação, mas o sistema pareceu ser sólido – considerando o facto de que existem controlos por movimento, claro.

i - Concrete Genie - Primeiras Impressões (artísticas) Antevisão

Pintar a cidade inteira não é uma missão fácil, mas Ash não estará sozinho nesta missão, conseguindo dar vida a monstros amigáveis com a ajuda do pincel mágico. Podemos personalizar estes supostos “génios” individualmente, utilizando partes do corpo que lhe dão a habilidade de andar sem ajuda do jovem artista. Nós ficámos entusiasmados com a possibilidade de criarmos designs para os nossos companheiros de aventura, sendo possível apagar qualquer erro que cometamos durante o seu desenho.

Depois da área de tutorial, vemo-nos de regresso ao distrito de Denska. O nosso próximo objetivo foi o que acompanhar um dos génios e verificar onde podia usar as suas habilidades. O nosso primeiro companheiro era capaz de cuspir fogo, por exemplo, o que pode ser usado para abrir cortinas ou fechar janelas. O nosso progresso parece ser definido pela nossa criatividade, pois à medida que decoramos as paredes da cidade, ativamos luzes que encaminham o nosso génio pela área.

i - Concrete Genie - Primeiras Impressões (artísticas) Antevisãoi - Concrete Genie - Primeiras Impressões (artísticas) Antevisão

//connect.facebook.net/pt_PT/sdk.js // Load the SDK Asynchronously (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 = "http://connect.facebook.net/pt_PT/sdk.js#xfbml=1&version=v2.7&appId=286762725162567"; fjs.parentNode.insertBefore(js, fjs); (document, 'script', 'facebook-jssdk'));

window.fbAsyncInit = function() FB.init( appId : '286762725162567', channelURL : '//www.gamereactor.pt/fbchannel.php', status : true, cookie : true, xfbml : true, oauth : true, version : 'v2.7' );

if (typeof(postReview) == "function") postReview();

FB.Event.subscribe('edge.create', function(targetUrl) _gaq.push(['_trackSocial', 'Facebook', 'Like', targetUrl]); ); FB.Event.subscribe('edge.remove', function(targetUrl) _gaq.push(['_trackSocial', 'Facebook', 'Unlike', targetUrl]); ); FB.Event.subscribe('message.send', function(targetUrl) _gaq.push(['_trackSocial', 'Facebook', 'Send', targetUrl]); ); ;

document.addEventListener("DOMContentLoaded", function() DrawFacebookLikeNotification(); );

function FastRegister(tournament=false){ ajaxAgreementsPopUp(); if (typeof isSmartphoneLayout != 'undefined' && isSmartphoneLayout) window.location='/join'; else $.ajax( type: "POST", url: "/ajaxstuff/fastRegister.php", data: session: "screated":1564578343,"updated":1564578343,tournament:tournament

) .done(function (code) $('#re_loginbox').replaceWith(code); // console.log(code); $('.loginWrapper').show(); ) .fail(function(jqXHR, msg) console.log("request fail"); $(selectorForLoginMessage).text(msg).show(); );

return false; }

function FastRegisterResponse() $.ajax( type: "POST", url: "/ajaxstuff/fastRegister.php",

) .done(function (code) $('#re_loginbox').replaceWith(code); // console.log(code); $('.loginWrapper').show(); ) .fail(function(jqXHR, msg) console.log("request fail"); $(selectorForLoginMessage).text(msg).show(); ); return false;

function LoginWithFacebook(selectorForLoginMessage, fbUpdateUser) {

FB.login(function(response) { if (response.authResponse) { FB.api('/me', fields: 'email,last_name,name,first_name', function(user) { var main = false; if (user && !user.error) { // console.log(user); if(selectorForLoginMessage == '#fbLoginMessageMain') main = true; $.ajax( type: "POST", url: "/ajaxstuff/fblogin.php", data: userobj: user, fbUpdateUser: fbUpdateUser, main: main ) .done(function(code) { if(main){ console.log("Is logged"+code); if(code==0) if(!$('.signin').hasClass('active-signin')) $('.signin').addClass('active-signin'); if($('.login').hasClass('active-login')) $('.login').removeClass('active-login'); var request = new GRAsync(); var path = '/ajaxstuff/join.php?ajaxRequest'; request.setUrl(path) .setSelectors($('#joinContainer') ) .setData(register:true,facebookUser:user) .setDataType('html') .setType('POST') .sendRequest();

else window.location="/";

} else $('#re_loginbox').replaceWith(code); $('.loginWrapper').show(); //location.reload(true);

}) .fail(function(jqXHR, msg) console.log("request fail"); $(selectorForLoginMessage).text(msg).show(); );

} }); } else // console.log('User cancelled login or did not fully authorize.');

}, scope: 'email,publish_actions'); // TODO: don't ask for publish_actions by default. It might scare away some users. Ask later, when they actually want it. return false; }

function AddSearchParamsAndReload(newParamStr) var newParamArr = newParamStr.split("&"); if (window.location.search.length > 1) // don't count the initial '?' var oldParams = window.location.search.substr(1).split("&"); var paramsToAdd = []; for (var j = 0; j < newParamArr.length; j++) var found = false; for (var i = 0; i < oldParams.length; i++) if (newParamArr[j] == oldParams[i]) found = true; if (!found) paramsToAdd.push(newParamArr[j]); if (!paramsToAdd.length) window.location.reload(); else window.location.search += '&'+paramsToAdd.join("&"); else window.location.search = '?'+newParamStr;

[ad_2]