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

Nove jogos de realidade virtual que você precisa conhecer

"Jet Set Radio" é uma das influências de "Concrete Genie" - Divulgação
"Jet Set Radio" é uma das influências de "Concrete Genie" Imagem: Divulgação

Makson Lima

Colaboração para o START

06/10/2019 04h00

"Concrete Genie", novo jogo da Sony para o PlayStation VR, chega em 8 de outubro para lembrar que a realidade virtual continua sendo um ambiente criativo e repleto de possibilidades para desenvolvedores.

Nesse espírito de aventura, selecionamos jogos que consideramos ser experiências definitivas para o mundo da realidade virtual. Vá em frente, mas não vá sair de estômago embrulhado!

Moss

Moss - Divulgação - Divulgação
Conheça a ratinha mais valente dos games
Imagem: Divulgação

Lançamento: 2018 (PS4, HTC Vive, Oculus Rift, Windows Mixed Reality)
Desenvolvimento: Polyarc

"Moss" é perfeito para quem não acredita em VR, ou para quem a mal com esse tipo de experiência, já que ele constrói sua imersão de forma mais iva. É um jogo de plataforma 3D em que você controla Quill, uma corajosa ratinha espadachim. Além disso, você também é o de leitor de uma fábula, ou seja, sua participação quebra uma parede invisível e faz de "Moss" algo ainda mais especial.

Beat Saber

Beat Saber - Divulgação - Divulgação
Jogue "Beat Saber" e não pense em "Star Wars" - eis o desafio
Imagem: Divulgação

Lançamento: 2019 (PSVR, HTC Vive, Oculus Rift, Windows Mixed Reality)
Desenvolvimento: Beat Games

"Beat Saber" é sucesso absoluto. Ele combina dança, ritmo, aeróbica, ginástica e sabres de luz num só pacote, tão viciante quanto ível. É engraçadíssimo assistir a quem joga, porque a coisa fica séria demais. "Beat Saber" é completo, um dos mais precisos e imersivos jogos de ritmo dos últimos anos.

Lone Echo

Lone Echo - Divulgação - Divulgação
Você confiaria sua vida a um robô?
Imagem: Divulgação

Lançamento: 2017 (Oculus Rift)
Desenvolvimento: Oculus Studios

Desenvolvido pela Ready at Dawn e publicado pela Oculus Studios, "Lone Echo" é a mais pura essência do "sci-hard", aquela ramificação da ficção científica com maior rigor científico. No papel do androide Jack, modelo ECHO ONE, você atende um grupo de astronautas mineradores numa das luas de Saturno, operando a estação espacial e realizando serviços diversos. Parte exploração, parte adventure, "Lone Echo" é o mais imersivo simulador espacial de androide já criado.

Astro Bot Rescue Mission

Astro Bot Rescue - Divulgação - Divulgação
Robozinhos simpáticos também curtem jogar em VR
Imagem: Divulgação

Lançamento: 2018 (PSVR)
Desenvolvimento: Japan Studio

Outro de plataforma 3D para comprovar, definitivamente, o quanto a realidade virtual pode contribuir com um gênero fundamental dos videogames. Ao contrário de "Moss", que tem uma progressão mais "sempre para a direita", "Astro Bot" é dividido em "cenas", com o simpático robozinho explorador resgatando seus amigos em diversos planetas, com diversos ecossistemas e alienígenas. Tem uma quantidade considerável de colecionáveis e atividades extras, o que estende consideravelmente o tempo de jogo.

Resident Evil 7 Biohazard

Resident 7 - Divulgação - Divulgação
Reunião em família, estilo "O Massacre da Serra Elétrica"
Imagem: Divulgação

Lançamento: 2017 (PSVR)
Desenvolvimento: Capcom

"Resident Evil 7" é o motivo de muita gente ter adquirido um PSVR (incluindo este que aqui escreve). O game da Capcom foi concebido para realidade virtual, mas pode ser curtido de forma convencional também, o que é um caso raro de ambas abordagens funcionando bem. Assim como fez "Resident 4" no ado, o sétimo jogo numerado da franquia de aberrações genéticas da Capcom subverte muito do que era tido por certo até então, e entra um jogo absurdamente assustador, muito mais relevante que as partes 5 e 6.

Tetris Effect

Tetris Effect VR - Divulgação - Divulgação
É como se todo ano surgisse uma variável de "Tetris" para impressionar geral
Imagem: Divulgação

Lançamento: 2018 (PSVR, Oculus Rift, HTC Vive)
Desenvolvimento: Monstars, Resonair

Tetsuya Mizuguchi é um gênio do entretenimento que está sempre disposto a revolucionar os games. A mistura do clássico dos clássicos "Tetris" com realidade virtual e integração de trilha sonora como parte fundamental da experiência (afinal, estamos falando do criador de "Lumines") fazem de "Tetris Effect" um jogo nada além de obrigatório, goste você de VR ou não.

Keep Talking and Nobody Explodes

Keep Talking - Divulgação - Divulgação
É muito mais do que puxar o fio vermelho ou azul
Imagem: Divulgação

Lançamento: 2015 (PSVR, Xbox One, Switch, iOS, Android, Oculus Rift, HTC Vive)
Desenvolvimento: Steel Crate Games

"Party games" pensados para VR existem aos montes, e alguns são realmente bons. Por isso foi difícil escolher um só, e decidimos por "Keep Talking and Nobody Explodes" porque a proposta é excelente, e funciona muito bem também fora de realidade virtual. A ideia é tão básica quanto maluca, caótica e um tanto psicótica: quem usa o periférico precisa desativar uma bomba com as instruções fornecidas por quem vê a tela da TV, analisando o manual de instruções do artefato explosivo. Podemos descobrir muito sobre nós mesmos e os nossos amigos com essa sublime obra de entretenimento interativo.

SUPERHOT

Superhot VR - Divulgação - Divulgação
É tipo o novo Missão Impossível, só que em VR (logo, melhor)
Imagem: Divulgação

Lançamento: 2016 (PSVR, Xbox One, HTC Vive, Oculus Rift,Switch)
Desenvolvimento: SUPERHOT Team

É só encontrar uma deixa, que logo enfio "SUPERHOT" na conversa. Em qualquer conversa, em qualquer lista. A proposta "você se movimenta e o mundo se movimenta com você", levada a sequências de ação no melhor estilo John Woo, casa perfeitamente com VR. Já havia me enfurnado na jornada psicótica e transcendental de "SUPERHOT" algumas vezes antes e tive de reviver a coisa toda quando o e à realidade virtual chegou.

Robo Recall

Robo Recall - Divulgação - Divulgação
E sem Will Smith para ajudar
Imagem: Divulgação

Lançamento: 2017 (Oculus Rift)
Desenvolvimento: Epic Games

É tipo "Eu, Robô", só que em hordas, ondas de modelos defeituosos que precisamos descartar. Acontece que esses robôs com pane e bugs são um tanto quanto agressivos — em realidade virtual, a coisa toda escalona um pouco. Existe uma satisfação subliminar em desmembrar pedaços de metal, transformá-los em sucata. Você tem à sua disposição até um rifle de plasma, teleporte e a capacidade de rebater projéteis de volta a seus adversários, mas é no mano-a-mano que "Robo Recall" se torna especial.

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