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

Games antecipados, adiados, home office e doações: os efeitos da covid-19

A Square Enix antecipou a remessa de Final Fantasy VII Remake para Europa e Austrália: alguns jogadores já receberam o game antes do lançamento oficial - Divulgação/Square Enix
A Square Enix antecipou a remessa de Final Fantasy VII Remake para Europa e Austrália: alguns jogadores já receberam o game antes do lançamento oficial Imagem: Divulgação/Square Enix

Thaime Lopes

Colaboração para o START

03/04/2020 04h00

A primeira reação das maiores publishers e desenvolvedoras de games diante da disseminação do novo coronavírus foi suspender a ida de seus funcionários aos escritórios. O "home office" foi a solução óbvia para proteger a saúde dos funcionários sem deixar de prestar serviço aos jogadores.

Como a pandemia persiste, porém, outras consequências e novos planos vão surgindo: jogos adiados, jogos antecipados (!), funcionários contaminados e planos para ajudar financeiramente o combate à pandemia.

The Last of Us II - Divulgação - Divulgação
The Last of Us II, que era aguardado para 29 de maio, foi adiado indefinidamente
Imagem: Divulgação

Todos pra casa

A Riot Games, de League of Legends, criou um plano de ação bem complexo para garantir que seus funcionários conseguiriam trabalhar normalmente, mesmo estando em suas casas. Contando com o time de TI, eles moveram suas equipes para o conforto de seus lares. A adaptação começou no final de fevereiro, quando a crise causada pelo coronavírus ainda não tinha exigido quarentena no estado da Califórnia, antecipando os problemas que poderiam surgir.

Outros estúdios adotaram o modelo home office: Ubisoft, Rockstar Games, CD Projekt RED, KOJIMA Productions e DICE. Todos eles postaram em suas redes sociais que a movimentação de escritório físico para a casa dos funcionários não afetará a experiência que os jogadores têm com os games online.

Em carta publicada pelo Kotaku, o CEO da Ubisoft, Yves Guillemot, ainda afirmou que eles possuem caixa o suficiente para sustentar a desenvolvedora durante toda a crise. A presença internacional da Ubisoft também foi um ponto destacado por Guillemot, que disse que, caso necessário, é possível transferir as atividades entre os diferentes países em que a empresa atua.

A Devolver Digital, publicadora de Hotline Miami e My Friend Pedro, fez uma singela homenagem: liberou os funcionários para "ar um tempo com seus entes queridos", no caso, Doom Eternal e Animal Crossing: New Horizons.

A galera do SubRosa também está em regime home office, conforme suas redes sociais.

Adiamentos (e antecipações!)

Como era de se esperar, o desenvolvimento de alguns games foi afetado —e esta é uma lista que só deve aumentar nos próximos dias.

Nesta quinta (2), a Sony afirmou que The Last of Us - Parte II, que já havia sido adiado anteriormente, não vai mais chegar em 29 de maio. O game, exclusivo de PS4, está adiado "indefinidamente", assim como Iron Man VR.

No Twitter, o estúdio Naughty Dog afirmou que o jogo está quase pronto, na fase de correção de bugs, mas que surgiram desafios logísticos que estão fora do controle da empresa.

A Square Enix informou que, devido aos problemas apresentados no envio de jogos para outros países, decidiu antecipar a remessa do remake de Final Fantasy VII para a Europa e Austrália. Por conta disso, é provável que essas regiões recebam o game antes do lançamento mundial, marcado para 10 de abril. O estúdio ainda fez um apelo para que os fãs da franquia que conseguirem jogar o FFVII antes do previsto não soltem spoilers nas redes sociais —mesmo a versão original tendo 23 anos, eles garantiram que o remake possui surpresas e novidades.

O lançamento de The Outer Worlds no Nintendo Switch também sofreu alteração de data. Antes previsto para março, agora o jogo só chegará à plataforma em 5 de junho. O atraso se deu porque uma das desenvolvedoras envolvidas, a Virtuos, é localizada na China e a equipe não conseguiu finalizar seu trabalho a tempo do lançamento inicial devido à quarentena imposta no país.

The Outer Worlds - Reprodução - Reprodução
O RPG de mundo aberto The Outer Worlds chegará ao Nintendo Switch em 5 de junho
Imagem: Reprodução

Outro jogo que ganhou nova data foi o AFL Evolution 2, sobre a liga australiana de futebol. Antes marcado para 14 de maio, o game estará disponível em 16 de abril. A responsável pelo desenvolvimento, Wicked Witch, informou que a antecipação foi para atender aos pedidos dos fãs da franquia, que estavam reclamando da falta de jogos durante a quarentena. Para incentivar o distanciamento social, as cópias do game só estarão disponíveis em lojas online.

A EA DICE, responsável pelas franquias Battlefield e Star Wars Battlefront, informou que devido à mudança de sua equipe para o esquema home office, é possível que haja atrasos e maior tempo entre as atualizações de seus jogos. Eles também informaram no Twitter que vão compartilhar suas decisões com toda a indústria de games sueca para que juntos eles consigam explorar novas soluções. A DICE ainda doou desinfetantes e máscaras, antes utilizadas pelos funcionários pré-quarentena, para hospitais locais.

Doações e fundos de ajuda

A Rockstar Games, produtora de GTA V e Red Dead Redemption 2, publicou mensagem prestando solidariedade à comunidade e afetados pelo coronavírus. Segundo a empresa, 5% da renda obtida nas versões online de GTA e Red Dead 2 será doado a iniciativas de combate ao coronavírus.

Já a Sony anunciou na quinta (2) um fundo global de US$ 100 milhões, destinados a áreas como educação e e médico.

Casos de COVID-19 na indústria

A KOJIMA Productions, de Hideo Kojima, informou que um de seus funcionários testou positivo para o novo coronavírus. Apesar de ele não ter tido contato com outros membros da equipe, o escritório foi fechado temporariamente para sanitização e todos os funcionários estão trabalhando remotamente.

Um funcionário da Nintendo em Redmond, cidade americana próxima de Seattle, também contraiu o novo coronavírus. Ele teve contato com outros funcionários e, por isso, os envolvidos estão em quarentena. Depois da confirmação do caso, toda a equipe da Nintendo nos estados de Washington e Califórnia está trabalhando de casa.

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