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

FIFA 21: Com traços de Football Manager, modo carreira pode ser um golaço

FIFA 21 - Reprodução/YouTube
FIFA 21 Imagem: Reprodução/YouTube

Tiago Alcantara

Colaboração para o START

11/09/2020 04h00

FIFA 21 nem foi lançado e já deu o que falar por conta de sua capa, da seleção de lendas e dos gráficos. Só que algo que deveria ganhar mais a atenção é o modo carreira do jogo.

O trailer mais recente do jogo foca uma série de melhorias que prometem aumentar o nível de realismo do modo. Alguns recursos se parecem até mesmo com as mecânicas da franquia Football Manager. E, pode acreditar, essa é uma ótima notícia.

Técnico não entra em campo?

Uma das principais mudanças trazidas em FIFA 21 é a possibilidade de calçar as chuteiras virtuais e participar das partidas a qualquer momento.

Nas edições anteriores, o game permitia que você simulasse ou jogasse os 90 minutos.

Nessa versão híbrida, que tem um visual parecido com as simulações de jogos do Football Manager, você pode acompanhar as partidas de perto.

O game acontece em velocidade duplicada, focando apenas em momentos importantes.

O grande diferencial é a chance de entrar em campo para bater um pênalti importante ou mesmo resolver as coisas na defesa quando o seu time precisar segurar o resultado.

Tanta versatilidade deve agradar jogadores novos e antigos, além de salvar algumas temporadas.

Negócios de verdade

Fifa 20 modo carreira - Divulgação/EA - Divulgação/EA
FIFA 20
Imagem: Divulgação/EA

Ao prometer que as negociações para transferência de jogadores serão mais realistas em FIFA 21, a EA não faz mais do que a obrigação.

Isso porque o sistema de contratações dos jogadores já era motivo de críticas há um bom tempo no modo carreira.

A próxima edição do game vai refletir o mercado atual, permitindo empréstimos de jogadores com opções de compra, sugestões de trocas de jogadores vindas dos seus adversários e melhorias no sistema de renovação de contratos.

O game ainda vai deixar que seus "gerentes de futebol" determinem quanto dinheiro terão ao começar o modo carreira.

Tá aí, Alexandre Mattos ficaria com inveja. Vale lembrar que a quantidade de dinheiro recebida deve facilitar as coisas, mas aumentar a cobrança por resultados.

Craque se forma em casa

Uma forma de resolver carências no elenco é treinar jogadores para novas funções. O modo carreira de FIFA 21 a mecânica de desenvolvimento de atletas deve facilitar essas adaptações.

Além de istrar a agenda de treinos completa do seu elenco, você pode fazer com que nomes específicos treinem em funções diferentes. Ou, até mesmo, para que seus jogadores desenvolvam atributos que privilegiam seu estilo de jogo.

É claro que você não vai transformar um zagueiro, como Marquinhos do PSG, em centroavante. No entanto, o defensor já mostrou nos gramados reais que tem capacidade para atuar como volante, não é mesmo?

O crescimento dos jogadores segue uma mecânica de pontos de experiência. E você pode distribuir esses pontos de acordo com o que for mais interessante para o seu time.

Então, dá para "fazer o Luxa" e puxar um volante para jogar de zagueiro ou improvisar uma promessa na lateral.

FIFA Comemoração - Reprodução/YouTube/EA Sports - Reprodução/YouTube/EA Sports
Imagem: Reprodução/YouTube/EA Sports

Os jogadores jovens, inclusive, são os que têm mais facilidade para esse tipo de mudança por estarem em desenvolvimento.

Só vale a pena ficar ligado para não sofrer com a turma do amendoim.

Modo Carreira pode ser um golaço

Não dá para negar, nos últimos anos, o modo carreira do simulador da EA foi "escanteado". Os desenvolvedores até tentaram uma ou outra mexida, mas nada que desse muito brilho para essa forma de jogo.

Nas últimas duas edições de FIFA o foco estava claramente em promover novidades, como o modo história (A Jornada) e as partidas no estilo street (Volta). Ao que tudo indica, o foco do time da desenvolvedora neste ano é diferente.

FIFA 21 MBAPPE - Divulgação/EA - Divulgação/EA
Imagem: Divulgação/EA

Aproveitando que a Konami deve colocar em campo uma versão de eFootball PES desfalcada, enquanto foca na próxima geração, FIFA 21 tem tudo para fazer bonito. Os desenvolvedores da EA reforçaram o elenco justamente onde ele estava devendo. Ou seja, na gíria dos boleiros, o game quer fazer um feijão com arroz bem feito.

Ainda não é possível dizer que o Modo Carreira de FIFA 21 vai fazer um trabalho melhor do que os simuladores de gestão de times, como Football Manager, Top Eleven e outros. Por outro lado, a EA conseguiu gerar uma expectativa grande em todo mundo que sempre sonhou em dominar a área técnica.

FIFA 21 chega no dia 9 de outubro para Xbox One, PlayStation 4, PC e Nintendo Switch. O game também promete versões para Xbox Series X, PlayStation 5 e Google Stadia.

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