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

De visitante em 2019 a estande próprio em 2022: Nobru vira novo rei da BGS

Bruno Goes, o Nobru, no estande da Fluxo: "Foi inacreditável" - Daniel Valenti/Fluxo
Bruno Goes, o Nobru, no estande da Fluxo: "Foi inacreditável" Imagem: Daniel Valenti/Fluxo

Thaime Lopes

Colaboração para Tilt

13/10/2022 12h09

Ontem (12), na última tarde da BGS, o estande do TikTok bombou com um show do trapper Teto. Mas, mesmo com o coro do público cantando junto, a gritaria e a multidão era ainda no espaço ao lado, dedicado ao Fluxo, organização de eSports dedicada principalmente ao Free Fire. Por um único motivo: Bruno "Nobru" Góes, cofundador da ORG e campeão mundial da modalidade com o Corinthians, em 2019.

Andando pelo estande com uma mochila nas costas, nem dava a entender seu nível de celebridade - hoje amigo de gente como Anitta e Alok. Ou que era a peça chave no maior evento do dia: a final da Copa Nobru, seu próprio campeonato, com times como LOUD, paiN Gaming e, claro, a própria Fluxo.

Centenas de visitantes da BGS acompanharam de perto os três dias de competição, até a vitória surpreendente da equipe Medellin Flamengo. Nobru, que atuou como apresentador e jogador, não se afetou pela derrota: aproveitou o feriado também para tirar foto com os fãs após as partidas.

"Em 2019 eu tava aqui como uma pessoa comum, e agora tenho meu próprio estande", reflete. Na última edição presencial pré-pandemia, Nobru tinha sido recém-contratado pelo Corinthians e, na ocasião, nem ele nem o Free Fire tinham atingido o sucesso atual. Depois de vencer o Mundial no finzinho daquele ano, Nobru virou sinônimo do game. Mas veio a pandemia e sua relação com o público foi construída de forma quase totalmente virtual.

"Por mais que eu já tenha feito várias edições da N, era sempre tudo muito limitado por conta da pandemia. Eu apresentava em estúdio e a galera assistia de casa. Mas agora tivemos a oportunidade de estar aqui na BGS e sentir os fãs torcendo, gritando, foi inacreditável. Para mim, que estava apresentando e jogando, foi muito especial, mas sei que todos os jogadores sentiram o mesmo", explica.

"A gente usa certos equipamentos que são necessários para as partidas presenciais, como o abafador no fone, mas na hora da emoção quando você está ganhando, você tira o fone e vai a loucura junto com a galera", continua, entre risadas.

O Fluxo não para

Mas engana-se quem pensa que Nobru só quer saber de jogar. Em apenas 18 meses de existência, o Fluxo se consolidou rapidamente como um dos principais times de Free Fire, e agora está se expandindo. Já conta também com equipes competitivas de CS:GO, e atletas de GTA RP e Call of Duty: Warzone.

"Temos uma legião de fãs e rivais que já vinham nos cobrando desde o início para crescermos e não vou mentir: é divertida essa cobrança. Isso fomenta o cenário e deixa a parte competitiva com mais graça. Então podem esperar, em breve, a chegada do Fluxo em outros jogos do cenário competitivo."

Ainda assim, o Free Fire continua sendo a base. No próximo sábado (15), a equipe vai disputar a final da Liga Brasileira de Free Fire (LBFF), atualmente em sua 8ª edição. Essa será a primeira vez que Nobru estará presente no evento não como jogador, mas como comentarista. Apesar disso, aposta na vitória de seu time, que finalizou a fase de grupos na segunda colocação.

"Confio na minha equipe e nos meus jogadores, porque a gente vem formando uma base muito forte para chegar com tudo nessa final", disse ao som de gritos de fãs. A essa altura, eles já servem como som ambiente onde quer que Nobru e.