;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL

Topo

The Legend of Zelda: Link's Awakening é uma overdose de fofura no Switch

Siga o UOL Start no

Tiago Alcântara

Colaboração para o START

26/09/2019 04h00

Você não precisa nem ar da tela de abertura de "The Legend of Zelda: Link's Awakening" para perceber que "adorável" é o adjetivo perfeito para o principal lançamento do Nintendo Switch em setembro. É tudo muito fofo e rico em detalhes, desde os cenários até os inimigos. Uma homenagem fantástica ao jogo original de Game Boy, lançando em 1993, e um dos melhores jogos do Switch em 2019.

Nesse mais novo remake que a Nintendo faz com a série Zelda, fica provado o comprometimento em melhorar as reedições, entregando jogos muito bonitos sem perder a essência da emoção para quem jogou os títulos originais.

Um naufrágio e várias surpresas

Zelda Naufrágio - Reprodução - Reprodução
Imagem: Reprodução

"Link's Awakening" é mais uma surpresa da casa de Mario para 2019. Esse remake do título de Game Boy foi anunciado de forma inesperada em fevereiro. E não poderia ser uma escolha mais estratégica, já que o game é um dos episódios mais irreverentes e adorados da série. Para melhorar, essa nova versão ficou a cargo do mesmo time que cuidou dos remakes de "Ocarina of Time" e "Majora's Mask" para o Nintendo 3DS.

Se você não está familiarizado com a história de 26 anos atrás, vai um resumo: Link sai para velejar sozinho após o encerramento do clássico "A Link to the Past" (1992) e enfrenta uma forte tempestade, naufragando com seu barco. Ele é resgatado por uma garota chamada Marin e acorda em uma pequena vila completamente desconhecida onde todos os habitantes se veem intrigados com a presença de um ovo gigante no topo da montanha. Esse lugar, chamado Koholint, é onde se a toda a história, e cabe ao herói cumprir o chamado de despertar a criatura que está nesse ovo.

Trata-se de uma recriação fiel do jogo original, o que agrada aos puristas mas pode incomodar quem esperava mais por um jogo que custa o valor de um lançamento de primeira linha da empresa

Na edição de 2019, a Nintendo não inventou nem adicionou nada ao conteúdo da história principal. Trata-se de uma recriação fiel do jogo original, o que agrada aos puristas, mas pode incomodar quem esperava mais por um jogo que custa o valor de um lançamento de primeira linha da empresa. Além dos visuais, a única inclusão é um modo de desenvolvimento de dungeons que não empolga por ser extremamente simples.

Escorregão no desempenho

Zelda Ação - Divulgação - Divulgação
Imagem: Divulgação

O game utiliza a Unreal Engine 4, poupando tempo e custos (trata-se do segundo jogo interno da Nintendo a utilizar a ferramenta de desenvolvimento, sendo "Yoshi's Crafted World" o primeiro). O fato é interessante por mostrar a Nintendo utilizando ferramentas terceirizadas e confirmar a versatilidade do console híbrido, que conquistou o mercado e os criadores de jogos mais variados. Especialmente, por conhecermos o quanto a companhia é fechada com suas próprias engines e seu foco em performance e equilíbrio com jogos próprios. Mas será que realmente saiu tudo bem aqui?

O game original de Game Boy mostrava todas as limitações possíveis do popular portátil na época, como telas independentes sem scroll, poucos inimigos simultâneos na tela, imagens em preto e branco (houve uma reedição de Game Boy Color em 1998 aproveitando o embalo do lançamento de "Ocarina of Time" com cores) e, por se tratar de um jogo portátil, uma aventura mais reduzida.

A Nintendo trabalha com a resolução dinâmica no game, trunfo comum dos desenvolvedores hoje em dia, e ele roda em até 1080p, focando nos 60 frames por segundo. Os gráficos em cel-shading e os truques com efeitos seguram muito bem a resolução, e o game roda nítido no modo portátil - bem diferente do game do Yoshi - mas há um dilema que tem incomodado as pessoas: o framerate solto.

Há, sim, casos de slowdown com gramas e muitos inimigos em partes específicas. Os desenvolvedores optaram por não travar o framerate do game e o que vemos, especialmente na transição de áreas, é uma queda acentuada e momentânea da taxa de 60 para 30 quadros, subindo repentinamente para os 60 atuais logo em seguida. É algo que deve ser considerado em um patch futuro e que deixa uma sensação estranha aos olhos do jogador.

A empresa é sempre lembrada por priorizar ao máximo a performance dos seus jogos, mesmo que sacrifique o visual (basta lembrarmos de "A Link Between Worlds" no 3DS com suas formas geométricas bem simples mas compensando na direção de arte esperta e sempre com estáveis 60fps), então o que vemos aqui talvez seja o custo exigido para se lançar um Zelda sem adiamento, em tempo curto e em uma engine que não seja própria.

Zelda Voando - Divulgação - Divulgação
Imagem: Divulgação

Uma overdose de fofura

De fato, a parte visual é a que mais empolga. Os gráficos são lindos, com aquele visual isométrico clássico dos Zeldas 2D exaustivamente copiados, mas com uma cara de maquete 3D, com animações que usam e abusam de partículas, efeitos de glow e luz, além de uma borda esfumaçada que realça o sentido de miniatura do mundo.

A cada novo item conquistado ou a cada interação de Link com o jogador, há uma sensação de divertimento e, de certa forma, um senso de aventura nessa versão do game.

Zelda Dungeon - Divulgação - Divulgação
Imagem: Divulgação

Com exceção da queda na taxa de frames, "Link's Awakening" realmente é lindo como qualquer foto e vídeo mostram. Não são raros os momentos em que estive jogando o game no modo portátil e algum colega soltou algum tipo de exclamação sobre o quão fofo era o conteúdo. É nesse modo, inclusive, que o visual e a temática de certa forma descompromissados brilham mais.

O enredo também conta com cenas de animação, deixando claro que o visual é um dos pontos-chave dessa nova versão. Outro ponto alto fica por conta da trilha sonora, recriada de maneira orquestrada, como já esperado pelos fãs da franquia.

É divertido ser Link

Zelda Mario - Divulgação - Divulgação
Imagem: Divulgação

A combinação de todos esses elementos é um gameplay no qual os controles do Switch permitem que você adicione itens aos botões e e bem menos os menus que o game original, o que favorece muito a jogatina.

A bússola dentro das cavernas agora funciona como um pequeno radar que indica se aquela sala possui ou não um tesouro e o herói Link pode se movimentar tridimensionalmente, mas apenas com o analógico e em 8 direções (como a Nintendo fez em "Super Mario 3D World", 2013). Talvez fosse mais adequado para o remake a movimentação livre em 360° graus, mas é possível dizer que essa foi uma opção de design dos criadores.

'Link's Awakening' se destaca por parecer algo novo e completamente atual, provando que o design dos jogos clássicos de Zelda é realmente atemporal

Por falar em design, o jogo é realmente um teste de tempo. É um título de Game Boy recriado em uma geração muito mais moderna e para um público mais exigente. Mesmo assim, "Link's Awakening" se destaca por parecer algo novo e completamente atual, provando que o design dos jogos clássicos de Zelda é realmente atemporal.

Para quem teve "Breath of the Wild" como ponto de entrada na série, essa é uma ótima lição de como os game designers da marca japonesa sempre conseguiram fazer arte apesar de todas as limitações de hardware. No remake de "Link's Awakening", o senso de exploração e progressão é bem diferente do game de 2017, com elementos que acontecem em momentos chave da trama.

Por outro lado, o título segue com várias das marcas registradas da série: a sensação de descoberta a cada novo quebra-cabeça resolvido, o senso de exploração e de que o protagonista, assim como o jogador, se preparam a cada nova conquista para um desafio maior. O que, por si só, torna fácil entender por que a série é uma das mais bem-sucedidas entre público e crítica do mundo dos videogames.

Ao que parece, a gigante japonesa está decidida a manter seu console abastecido de conteúdo da franquia Zelda.Após "Breath of the Wild", que estreou com o videogame, a empresa já trouxe uma edição definitiva de "Hyrule Warriors" e se juntou com a equipe de "Crypt of Necrodancer" para realizar o criativo "Cadence of Hyrule". Além de tudo, temos ainda os games clássicos por meio de seu serviço de s, e por isso fizemos um breve guia explicando por onde começar.

Para o público que nunca se aventurou nos títulos mais antigos ou que realmente não conhece a marca, "Link's Awakening" é um título mais conciso e, sob vários aspectos, menos assustador que o grandioso "Breath of the Wild".

The Legend of Zelda: Link's Awakening

Zelda Capa - Divulgação - Divulgação
Imagem: Divulgação
Apesar dos problemas técnicos que podem ser resolvidos no futuro, "Links Awakening" é um dos melhores games do ano, tanto por sua carga de nostalgia quanto por ser uma aula de como arriscar ao fazer um remake. Trata-se de uma recriação fiel do jogo original, o que agrada aos puristas mas pode incomodar quem esperava mais por um jogo que custa o valor de um lançamento de primeira linha da empresa.

Lançamento: 20/09/2019
Plataformas: Nintendo Switch
Preço sugerido: R$ 250,79
Classificação indicativa: Livre
Desenvolvimento: Nintendo
Publicação: Nintendo

*O Review foi realizado com uma cópia do jogo cedida pela Nintendo.