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

Mesmo sem inovar no gênero, Gears Tactics é competente game de estratégia

Montar exército, procurar cobertura, calcular e atirar: Geats Tactics leva o game de ação para o gênero de estratégia - Divulgação
Montar exército, procurar cobertura, calcular e atirar: Geats Tactics leva o game de ação para o gênero de estratégia
Imagem: Divulgação

Rodrigo Lara

Colaboração para o START

28/04/2020 04h00

Desde XCOM: Enemy Unknown, reboot lançado em 2012, o gênero de estratégia ganhou um fôlego que havia se perdido nos anos 2000. De lá para cá, além de XCOM 2, de 2016, outros jogos do tipo ganharam destaque e, agora, foi a vez de a franquia Gears of War ter o seu representante.

Gears Tactics (PC), como o nome deixa claro, leva o universo da série de games de tiro em terceira pessoa para o campo dos jogos de estratégia por turno. Após ar horas trocando tiros com os Locust, é possível confirmar a impressão da prévia do jogo. A combinação entre Gears of War e o gênero de estratégia funciona muito bem, mesmo sem trazer tantas inovações.

Ênfase na história

Gears Gabe - Divulgação - Divulgação
Imagem: Divulgação

A principal diferença em relação a games como XCOM é que em Gears Tactics você escolhe entre personagens principais e secundários para formar o seu time. Com isso, os soldados não são vistos como recursos a serem istrados, e isso afeta de maneira tremenda o gerenciamento da sua equipe e também o desenrolar do jogo.

Gears Tactics enfatiza a sua narrativa, o que significa que você controla uma equipe que mescla "heróis", cuja morte significa que a missão falhou, e personagens secundários, que podem morrer permanentemente e serem substituídos por outros soldados genéricos.

A história é centrada em Gabe Diaz —pai de Kate Diaz, protagonista de Gears 5— e é uma prévia dos eventos do primeiro Gears of War. O que vemos é o caos decorrente do Emergence Day, quando os Locust declaram guerra aos habitantes do planeta Sera e dão início a um conflito que destrói boa parte do planeta.

Cabe a Gabe reunir o que sobrou dos Gears e montar um grupo capaz de acabar com Ukkon, um cientista Locust que realiza experimentos para criar e utilizar monstros contra os humanos.

Além de Gabe, outros "heróis" como Sid Redburn vão ao campo de batalha. Ao longo da jornada, você vai completando o seu time com personagens do tipo. Por eles terem essa posição especial e também classes distintas, há pouca necessidade de se investir no recrutamento de soldados genéricos, já que a maioria das funções pode ser desempenhada pelos personagens principais.

Gears geral - Divulgação - Divulgação
Imagem: Divulgação

Isso, por tabela, também tira boa parte do peso de se perder uma unidade em batalha. É o tipo de tensão que se vê muito nos games do estilo —que adotam quase uma pegada "roguelike"—, mas que acaba ando longe de Gears Tactics.

O fato de os heróis também terem classes "normais", quando poderiam ter classes únicas e com habilidades específicas, acaba tirando parte da profundidade na hora de se montar um time,

Mais Gears, menos Tactics

Já na prévia, ficava claro que Gears Tactics era um game feito para jogar de maneira agressiva. Na prática, a ofensividade tende, sim, a ser recompensada, especialmente com ações como a Execução. Nela, o personagem é capaz de acabar com um inimigo em estado de saúde crítico, o que rende não apenas uma cena bem violenta como também um ponto a mais de ação para todos os personagens do restante do grupo.

Ter à disposição mais movimentos é algo que facilita na hora de acabar com os exércitos inimigos.

Gears squad - Divulgação - Divulgação
Imagem: Divulgação

Em termos de gameplay, isso e também o sistema de fogo amigo, que causa danos a aliados que porventura estejam na linha de tiro, são as reais novidades que Gears Tactics traz para o gênero. O resto, como o sistema de cobertura, ataques de área, probabilidades de acerto e ação de patrulha (o famoso overwatch) resultam em um "chover no molhado" e seguem o que já foi explorado exaustivamente no gênero.

O resultado disso é que o grosso dos combates se resume à rotina do "achar cobertura, atirar, recarregar". A mecânica de ressuscitação da série Gears está presente, o que significa que qualquer personagem pode reviver um companheiro em estado crítico, sem a necessidade de se ter um combatente da classe e à disposição para esse tipo de função.

O que quebra essa rotina, felizmente, são os confrontos contra chefões. Nesse momento, entram em cena mecânicas interessantes, como destruir determinadas partes do inimigo ou, ainda, ficar longe de áreas específicas do cenário. São confrontos que, se por um lado representam um pico de dificuldade, por outro são capazes de extrair o máximo dos sistemas de jogabilidade do game.

Gears cobertura - Reprodução - Reprodução
Imagem: Reprodução

Fora dos combates, o jogador terá de lidar com o microgerenciamento típico de games do estilo, como equipar melhorias para armas e armaduras e também aprender habilidades conforme os personagens sobem de nível ao ganharem experiência no final de cada missão. Seria mais interessante que essa experiência fosse dada conforme os personagens realizassem ações durante as batalhas, algo que incentivaria uma utilização mais variada.

Independentemente de qualquer coisa, a impressão que se a é que, a todo momento, Gears Tactics está falando: "olha, isso aqui é um Gears of War, então resolve essa parada aí de habilidades e equipamentos e vamos logo para a ação".
Mais ação e menos tática, portanto.

Gears CG - Divulgação - Divulgação
Imagem: Divulgação

Roda liso

Gears Tactics a longe de ser um game com visual arrebatador e, se pararmos para pensar, jogos do gênero não costumam se apoiar tanto em qualidade gráfica.

Nesse ponto, a criação da parceria entre Splash Damage e The Coalition cumpre bem o que se espera dela. Ainda que o tom pastel de cores deixe os cenários pouco vivos, isso faz sentido: estamos lutando sobre os escombros de um planeta, afinal.

Gears mapa - Divulgação - Divulgação
Imagem: Divulgação

O game tem dublagem em português, mas tirem as crianças da sala: a quantidade de palavrões por linhas de diálogo fez eu, que nesse quesito não me policio nem um pouco nas conversas com amigos, me sentir um puritano.

O desempenho também é ótimo e o jogo não exige um PC da Nasa para rodar com fluidez e qualidade.

Uma boa entrada para o gênero

O que não podemos ignorar é que esse game servirá de porta de entrada para o gênero para muitos jogadores, em especial os fãs da franquia. Natural, portanto, que haja algumas simplificações e mecânicas mais complexas e punitivas acabem tendo ficado de fora.

Nesse ponto, Gears Tactics cumpre bem o seu papel e, mesmo sem grandes inovações, é capaz de prender o jogador sem jogar sobre ele um caminhão de frustração.

Ainda assim não deixo de pensar que talvez fosse o caso dos desenvolvedores olharem menos para XCOM e mais para outro game do gênero: Mario + Rabbids: Kingdom Battle, que não apenas dá uma aula ao adaptar uma franquia de aventura ao gênero de estratégia, mas faz isso sem medo de abrir mão de sistemas consagrados do estilo.

Ao seguir uma postura mais conservadora, Gears Tactics joga seguro, mas traz consigo uma leve sensação de haveria potencial para mais.

Gears capa - Divulgação - Divulgação
Imagem: Divulgação
Lançamento: 28/04/2020
Plataformas: PC
Preço sugerido: R$ 169
Classificação indicativa: 18 anos (Violência Extrema)
Desenvolvimento: Splash Damage e The Coalition
Publicação: Xbox Game Studios
Jogue também: XCOM 2, Mario + Rabbids: Kingdom Battle, Invisible, Inc.

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