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

Bleeding Edge vai depender de muito conteúdo para se dar bem

Reprodução
Imagem: Reprodução

Daniel Esdras

Do GameHall

01/03/2020 04h00

Embora os jogos multiplayer sejam os líderes em faturamento da indústria, não basta lançar algo nesse formato para conseguir se dar bem. Um fator que vem se provando cada vez mais decisivo para o sucesso desses jogos é o tempo. Para ficar apenas nos mais recentes: Lawbreakers foi ao chão com o lançamento de Overwatch, e o Heroes of The Storm, da própria Blizzard, acabou se dando mal em um mundo já dominado por Dota 2 e League of Legends.

Bleeding Edge, por suas semelhanças com concorrentes, parece ser mais um exemplo de título fora do tempo. Ele conta com uma variável nova: o Game, serviço de da Microsoft. Se isso será um fator decisivo para o jogo da Ninja Theory, porém, ainda é cedo para saber. Por enquanto, jogamos o Open Beta do último fim de semana e achamos que o game precisará de muito mais, especialmente em termos de conteúdo, para cair nas graças dos jogadores.

Performance acima da média

Bleeding Edge Review do beta 1 - Reprodução - Reprodução
Imagem: Reprodução

Se em relação ao jogo o Bleeding Edge ainda me deixa na dúvida, na frente técnica fiquei surpreso. Mesmo em Beta, o jogo parece não apresentar bugs irritantes ou problemas com servidores. Aliás, na sexta-feira em que foi liberado, o Beta iniciou exatamente as 15 horas, como havia sido prometido, sem nenhum tipo de problema de conexão.

Durante o jogo, não sofri com problemas de latência e nem de desconexões. Por conta do interesse no desconhecido, a procura pelas partidas não duraram mais que alguns poucos minutos. Isso não mudou nem mesmo com um número diferente de jogadores no grupo.

Em relação aos gráficos, o resultado também é impressionante se pensarmos no número de funcionários responsáveis pelo Bleeding Edge. Segundo a Ninja Theory, apenas uma pequena parte do seu estúdio que já é pequeno.

Com uma pegada que lembra o Borderlands, os personagens são divertidos, diversos e cheios de personalidade. O destaque aqui fica mesmo para as animações, que fazem tudo parecer ainda mais vivo. Elas são exibidas até mesmo nos menus do jogo, do principal ao de seleção, que mantém essa estética de ficção científica com elementos do urbano, como o grafite, tal qual como o resto do jogo.

Como todo multiplayer que visa as massas, o Bleeding Edge também não é pesado e roda sem problemas de queda de quadros, o que é essencial para o gênero que ele se encaixa, que é bem diferente do que temos por aí, mas ainda não teve seu jogo de sucesso.

Não parece Overwatch

Bleeding Edge Review do beta 2 - Reprodução - Reprodução
Imagem: Reprodução

Por conta da direção de arte, as batalhas em time e o cast de personagens diversos, Bleeding Edge foi logo comparado com o Overwatch. No entanto, com o controle em mãos, logo notei que a pegada está muito mais para as mecânicas de um MOBA do que de um shooter. Segundo reza a lenda, o Bleeding Edge inclusive foi planejado para estar no gênero de Dota e League of Legends, mas com uma pegada mais voltada para os consoles. Com as mudanças na direção criativa, se transformou no que vimos nesse Beta.

Esse estilo já encontra paralelo no mercado e é chamado de "Arena Brawler", onde a pegada é reduzir o escopo dos MOBAs para somente as batalhas, com personagens já com todas as habilidades disponíveis e objetivos diversos nas partidas. O principal representante desse gênero até o momento é o Battlerite.

Se até o próprio Battlerite não virou uma unanimidade e apelou até para o Battle Royale para se manter, o que o Bleeding Edge traz de diferente? Pelo que vimos no Beta, pouco. A grande sacada aqui foi introduzir nas regras do jogo a dinâmica dos shooters para as partidas, com cenários diversos e objetivos como defender pontos específicos do mapa. Embora a abordagem seja interessante, trouxe alguns problemas de marasmo que vão ser difíceis de serem superados.

Nesse Beta o jogo contou com apenas dois modos de jogo, um para defender pontos no mapa e outro para coleta de energia. Nesse segundo a partida é dividida em duas fases que vão se alternando. A primeira é coletar as energias de contêineres e a segunda entregá-los em pontos específicos do mapa. Nesse meio termo, os times devem se dividir entre fazer a coleta e entrega ou tentar roubar e atrapalhar os adversários.

Antes de entrar em ação, existe a possibilidade de fazer um tutorial bem didático, que explica bem as mecânicas únicas do jogo e as novidades em relação ao Alfa, como a possibilidade de aparar os ataques adversários. Esse tutorial é bem útil e se você estiver começando no gênero, indicamos muito fazê-lo.

Bleeding Edge Review do beta 3 - Reprodução - Reprodução
Imagem: Reprodução

No momento o jogo conta com onze personagens que são divididos em três classes, os clássicos: "tanker", e e carregador. Esses por sua vez são divididos em quem ataca à distância e quem ataca corpo a corpo. Por conta das diversas habilidades ativas e a possibilidade de modificar ao seu gosto as habilidades ivas, que vão sendo liberadas com a progressão, dominar cada um dos combatentes é um processo que demanda tempo. No entanto, a sensação é de que ainda é pouco.

Após jogar a primeira hora experimentei vários momentos divertidos, já que o combate é bem polido e se lutado em time e com comunicação é desafiador. No entanto, parecia que eu já tinha visto tudo que aqueles modos poderiam oferecer e experimentar os outros lutadores não seria suficiente para me manter jogando por muito tempo. Durante as horas seguintes isso foi ficando ainda mais visível e a vontade de continuar jogando foi ficando menor, o que em um jogo multiplayer significa problemas.

Jogar com os amigos aliviou essa sensação e deixou o processo mais divertido, mas fiquei na dúvida do que me incentivaria a voltar ao Bleeding Edge um dia depois. O principal problema, na minha opinião, é que o sistema de "brawler" não encaixou bem com a dinâmica dos mapas.

O foco dividido entre objetivos e batalhas fica insosso, já que não há evolução nenhuma dos personagens durante a partida. Para tentar consertar isso, é permitido trocar de personagem sempre que morre, tentando readaptar o seu time à situação, o que é bem menos interessante que escolher quais habilidades melhorar ou itens comprar, situação mais comuns aos MOBAs.

Durante uma partida bem disputada, ambos os times vão ficar trocando de personagens para tentar dar counter no adversário. Já nas partidas com trolls, logo alguém vai desistir de dar e para pegar outro combatente e não ligar mais para o resultado. Pela minha experiência com milhares de horas em MOBAs (segura essa carteirada), os incentivos não parecem legais no Bleeding Edge e uma nova partida não parece uma experiência diferente e legal, como acontece nos melhores jogos do gênero. A saída? Mais conteúdo.

O que esperar?

Bleeding Edge Review do beta 4 - Reprodução - Reprodução
Imagem: Reprodução

Bleeding Edge promete mais, com inclusive um modo história para dar uma aliviada na forma padrão de jogar. De cara já fica evidente que um sistema de matchmaking, com algum tipo de ladder é preciso para manter os jogadores ativos. Com o foco em recompensas cosméticas, também vai ser preciso es de temporada constantes e que incentivem os jogadores a continuar jogando. Com o foco nos combatentes diversos, também vão precisar lançar novos heróis para modificar o meta.

Tudo isso é a receita padrão para os jogos do gênero, mas as empresas que investem neles contam com centenas de funcionários, o que não é o caso da Ninja Theory. Vale lembrar que mesmo o Apex Legends, da gigante EA, sofreu com falta de conteúdo pelo motivo de adotar uma regime sem Crunch dos funcionários. O horizonte realmente parece desafiador para o estúdio da Microsoft.

Se por um lado esses desafios são duros, por outro o Game pode ser o que o time precisa. Pesquisas indicam que jogos no serviço vendem mais conteúdo para , o que pode dar a injeção de grana que o estúdio precisa para ter mais funcionários. Por conta do serviço, mais jogadores também terão o em várias plataformas, podendo inclusive jogar entre elas, o que deve deixar a comunidade mais vibrante, algo essencial para se manter nesse meio.

No momento Bleeding Edge ainda é uma incógnita, mas com certeza é um tipo de jogo que fazia falta no catálogo da Microsoft e do Game . Se o futuro será de sucesso, ainda é cedo para dizer, mas o que o Beta demonstra é que vai ser preciso muito trabalho para que ele consiga chegar no nível dos concorrentes de peso no formato.

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