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

OPINIÃO

Iron Man em realidade virtual é uma boa aventura, mas exige estômago

Vestir a armadura, voar pelo céu e enfrentar vilões: tudo isso fica mais emocionante em realidade virtual - Divulgação
Vestir a armadura, voar pelo céu e enfrentar vilões: tudo isso fica mais emocionante em realidade virtual
Imagem: Divulgação

Makson Lima

Colaboração para o START

12/07/2020 04h00

Resumo da notícia

  • Voar e combater em realidade virtual exige concentração e preparo físico
  • Missões podem durar até 30 minutos, dependendo do nível de dificuldade
  • Christos Gage, roteirista da Marvel, ajudou a trazer a história do Homem de Ferro para o jogo

"Qual é o super-herói mais popular hoje?" deve ser um dos tópicos nas reuniões de pauta da divisão PlayStation nos últimos anos. Disposta a ampliar o público do seu console, a Sony viu nos heróis um atalho rentável para cumprir o objetivo.

O Homem de Ferro já estava na fila, bem atrás do Homem-Aranha, e fazendo uso de óculos de realidade virtual. Afinal, estamos lidando com ninguém menos que Tony Stark, o biliardário criador filantrópico, gênio das ciências e das piadinhas de procedência duvidosa. Mas quando a trama gira em torno da ideia de "o que um homem que já tem tudo pode querer?", a produtora Camouflaj precisa dar seus pulos.

"Eu sou o Homem de Ferro"

Iron Man VR é pensado para fãs do personagem. Da forma como promove a realização desse sonho infantil de vestir o traje, voar pelos céus e enfrentar vilões, e também porque oferece pouco pano de fundo para quem nunca leu nenhum gibi ou viu algum filme do herói.

Contando uma história totalmente original, porém inspirada num dos arcos mais aclamados do personagem, O Demônio da Garrafa —como contou ao START o game designer Ryan Darcey Marvel's Iron Man VR é bem mais que uma mera experiência em realidade virtual, como Batman Arkham VR, por exemplo. É um jogo robusto, com suas seis horas de duração, missões paralelas e um complexo sistema de controles.

Ser Iron Man é uma tarefa bastante exigente, tanto para suas habilidades com os dois controles Move, quanto para o seu próprio estômago

A Camouflaj foi inteligente em trazer Christos Gage, roteirista da Marvel, para o projeto. É uma trama bem menos barra pesada que a de seu objeto de inspiração, mas diversos pontos importantes no desenvolvimento do personagem são devidamente contemplados, e fazendo jus, em especial, ao universo cinematográfico da maior editora de quadrinhos do mundo.

"Para quem jogou Zone of the Enders ou Wipeout em realidade virtual, Iron Man seria como uma brisa", pensei. Ledo engano. Assim como conheci pessoas capazes de ar o aparelho por horas a fio sem qualquer tipo de efeito colateral, sou daqueles que necessitam de pausas. Iron Man VR pede de 20 minutos a meia hora de sua total atenção em cada um de suas missões principais (já as paralelas, que envolvem desafios de voo ou de combate, podem se estender mais dependendo do nível de dificuldade selecionado), com checkpoints inconsistentes dentro delas —a dificuldade está mais interligada a suas próprias condições fisiológicas, no caso.

Iron Man VR pede de 20 minutos a meia hora de sua total atenção em cada um de suas missões principais (já as paralelas, que envolvem desafios de voo ou de combate, podem se estender mais dependendo do nível de dificuldade selecionado)

Iron combate - Divulgação - Divulgação
Imagem: Divulgação

Pepper Potts faz parte da trama, recém-condecorada CEO das Indústrias Stark. Com a IA Gunsmith, criada para servir de companhia aos momentos introspectivos de Tony, aposentada, uma nova vilã surge para lembrar Iron Man de seus nefastos feitos do ado: as vidas tiradas por todas as suas criações bélicas.

Fantasma é a típica vilã de histórias de super-heróis, e também bastante familiar para quem acompanha as aventuras do personagem. Funciona para levar a trama adiante, e o Iron Man para certas regiões do mundo. O jogo todo é forjado dessa forma, é bom dizer.

Iron Man armadura - Divulgação - Divulgação
Imagem: Divulgação

Brincando de Tony Stark

Alcançado foco e atingida a altura e posicionamento especial corretos, é hora de um treino básico pelos arredores da mansão do magnata em Malibu. A IA amiga e ajudante, FRIDAY, dá os direcionamentos: os gatilhos servem como jatos na palma da mão e um pouco de física aplicada é importante para saber que, para voar para cima, é preciso propulsionar para baixo. Nada quântico, mas em meio a dezenas de drones malignos e seus projéteis, alguns nós na cabeça podem surgir quando aliamos os básicos movimentos de voo aos ataques primários e secundários da armadura mais poderosa do mundo. E ao Unibean, que não poderia ficar de fora da festa.

Missão após missão, pontos de habilidade são concebidos por desempenho e é possível acionar novas capacidades da Mark III na garagem da luxuosa mansão. O borbotoante magnata pode puxar ferro, ouvir podcast, treinar boxe, praticar arremesso a cesta, tudo enquanto sua IA prepara o próximo plano de ação e seu traje é devidamente calibrado. Variar as armas secundárias oferece novas possibilidades de gameplay, o que é muitíssimo bem-vindo a longo prazo.

Por mais que haja limitação quanto a forma como as ameaças são apresentadas, é particularmente instigante acionar o efeito gangorra com os braços para trás e o tronco para frente, sentindo o personagem acelerar sua velocidade rumo ao enorme ponto brilhante no mapa. Esticar o braço para disparar raios repulsores contra os drones inimigos, enquanto se espera carregar os mísseis teleguiados no outro braço, é a realização tecnológica da brincadeira do parquinho para toda criança fã de super-heróis, hoje crescidas e prontas para sobrepujar a burocracia exigida para chegar a esse ponto.

E é bom salientar: realidade virtual, só para maiores de 12 anos!

Iron Man VR

Lançamento: 03/06/2020
Plataforma: PS4 (PS VR, PS Move e PS Camera são necessários)
Preço sugerido: R$ 164,90
Classificação indicativa: 10 anos (violência)
Desenvolvimento: Camouflaj
Publicação: Sony Interactive Entertainment LLC
Jogue também: Batman Arkham VR, Pixel Ripped 1995, Astro Bot

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

** Este texto não reflete, necessariamente, a opinião do UOL