;(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

Jogamos Resident Evil 3: Nemesis é ainda mais assustador que o original

Bruno Izidro e Makson Lima

Do START e colaboração para o START

25/02/2020 13h00

A aguardada reimaginação de Resident Evil 3 chega logo mais, em 3 de abril, para PS4, Xbox One e PC, mas o START já jogou uma demonstração do game a convite da Capcom. Tudo bem que era uma versão ainda incompleta, mas conseguimos explorar bem Raccoon City e comentamos sobre nossas impressões gerais no vídeo acima.

A grande pergunta, porém, é uma só: como está Nemesis, o grande (literalmente) vilão do game, que causou pesadelos em muitos jogadores na versão original? Então se prepare, porque ele vai aterrorizar ainda mais em sua versão 2020.

Nemesis: o que Mr. X sonha em ser, mas jamais será

Jogar Resident Evil 3 é estar em constante tensão. Não só pela mortualha tomando as ruas e estabelecimentos comerciais de Raccoon City, mas também porque o monstro de dois metros e trinta de altura pode surgir a qualquer momento.

O novo Nemesis de Resident Evil 3 prova que o também monstruoso Mr. X, de Resident Evil 2, era um mero aperitivo para o verdadeiro terror que os jogadores poderão sentir ao tentar fugir da criatura.

Sim, Nemesis também segue o jogador em locais fechados, como lojas ou prédios. Só que ele é um total contraste em comparação à movimentação comada de Mr. X. Nemesis pula, corre e não mede esforços para atingir Jill, seu alvo primordial.

Ele ainda transita entre prédios surgindo como um meteorito a poucos os de distância da protagonista, deixando as situações de fuga ainda mais desesperadoras.

Observar Nemesis por entre zumbis, mesmo que de soslaio, socando e tirando de seu caminho todo e qualquer obstáculo, é algo difícil de esquecer

Para completar, seu tentáculo serve como teia pegajosa, imobilizando as pernas de Jill, arrastando-a pelo concreto e forçando-a para mais próximo do monstro. É uma sensação de submissão atrelada a raiva absoluta.

Mr X - Reprodução - Reprodução
Mr. X em RE 2 foi só o começo do pesadelo que é fugir de Nemesis em RE3
Imagem: Reprodução

Nemesis é a fonte de inspiração para Mr. X enquanto ele levantava peso na academia das armas biológicas da Umbrella, um modelo de terror que ele mesmo sabe que nunca vai alcançar.

Vai pra onde, S.T.A.R.S?

Para se livrar dessa montanha de músculos e parasitas, vale de tudo: usar barris explosivos estrategicamente espalhados pelas ruas da cidade, fontes de energia que eletrocutam quem está ao redor ou usar uma das mecânicas mais úteis (e difíceis de dominar): a esquiva.

É bom se adaptar o suficiente ao novíssimo botão de esquiva para quando a coisa pegar de verdade - de súbito e como que saído de uma explosão, Nemesis surge com suas investidas, cruzados de direita e tentáculos virulentos.

Assim como no jogo original, há meios de derrubá-lo, mas apenas por tempo suficiente para apanhar a caixa de suprimentos para dar o fora o mais rápido possível.

Jogadores habilidosos podem usar e abusar das esquivas para se livrarem de Nemesis, mas haverá momentos de confrontos obrigatórios, assim como acontecia com William Birkin em Resident Evil 2.

Também tivemos um aperitivo de uma dessas luta bem no estilo de chefão de fase, com padrões de ataque e pontos fracos fáceis de perceber. Só que o monstro estava também equipado com uma das novidades do remake: o lança-chamas. Nesse momento, o calor das chamas na tela da TV parecia ser sentida também nas palmas das mãos suadas segurando o controle.

Nemesis  - Divulgação/Capcom - Divulgação/Capcom
Nemesis não vai medir esforços para acabar com Jill
Imagem: Divulgação/Capcom

Nemesis é um vilão bem mais emblemático do que Mr. X, William Birkin ou qualquer outra criatura da série jamais foi. A Capcom sabe disso, e parece que não vai se segurar para fazer dele a fonte de pesadelos dos jogadores.

O monstro está saindo da jaula, e não vemos a hora para que isso aconteça na tela da nossa TV muito em breve, mesmo que nos arrependamos disso logo em seguida.

Resident Evil 3 - Remake

SIGA O START NAS REDES SOCIAIS

Twitter: https://twitter.com/start_uol
Instagram: https://www.instagram.com/start_uol/
Facebook: https://www.facebook.com/startuol/
TikTok: http://vm.tiktok.com/Rqwe2g/
Twitch: https://www.twitch.tv/start_uol