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

Facebook Gaming aposta em diversidade na disputa por streamers e audiência

Samira Close é streamer no Facebook Gaming - Reprodução
Samira Close é streamer no Facebook Gaming Imagem: Reprodução

Bruno Izidro

Do START, em São Paulo

24/10/2019 04h00

Dê o primeiro "like" quem nunca gastou um tempinho jogando "Candy Crush" no Facebook, que já foi visto como um lugar de sucesso para "games de navegador" no ado. Mas agora tudo mudou, e os jogadores como eu e você parecem mais interessados em assistir a outras pessoas jogando ao vivo. Foi para acompanhar essas mudanças que o Facebook Gaming surgiu, em 2018, como uma plataforma de streaming.

Malena, Pai Também Joga, Samira Close, Uma Dani e Diana Zambrozuski são alguns dos streamers brasileiros que fazem transmissões todos os dias na plataforma. Esses perfis mostram não só um leque de opções variado, indo de "Fortnite" a "GTA RPG", mas também uma das armas do Facebook para se destacar no concorrido setor: a diversidade de pessoas.

Leo Olebe Facebook gaming - Divulgação/Facebook - Divulgação/Facebook
Leo Olebe é diretor global de parcerias do Facebook Gaming
Imagem: Divulgação/Facebook
Em entrevista ao START durante a BGS 2019, Leo Olebe, diretor global de parcerias do Facebook Gaming, diz que a plataforma representa uma mudança em como a empresa encara os jogos. "Evoluímos a nossa visão de games no Facebook, assim como os jogadores evoluíram suas relações com jogos com o desenvolvimento de novas tecnologias".

O Facebook Gaming quer trazer não só formas diferentes de as pessoas consumirem os jogos, como também quer vozes diversificadas para um público também mais diverso. De acordo com a empresa, 40% das pessoas que consomem conteúdo de jogos, seja por streaming, jogando ou assistindo a vídeos, são mulheres.

É algo em que estamos bem focados, porque achamos que é o que diferencia a gente de outras plataformas de jogos
Leo Olebe, diretor global de parcerias do Facebook, sobre a diversidade

Essa questão se torna ainda mais forte pela própria figura de Olebe, um afro-americano em um alto cargo executivo dentro de uma empresa envolvida com games. Com mais de 20 anos de experiência na indústria de jogos, tendo ado por empresas como EA e Zynga, ele também já trabalhou em jogos de sucesso como Marvel Super Heroes. Olebe confessa que, muitas vezes, era o único negro em salas de reuniões.

Por isso, ele sabe a importância de colocar em destaque pessoas que podem se diferenciar dos demais.

"Nosso intuito (com o Facebook Gaming) é mostrar exemplos de pessoas que talvez você não tenha visto antes, fazendo coisas incríveis em posições em que você não esperava. Dessa forma, você pode inspirar outras pessoas a conseguir o mesmo e mudar o mundo para uma direção mais positiva".

Exemplos como os de Samira Close e QueenB, que conseguem levar mais de mil pessoas para suas lives de "League of Legends", "Free Fire" ou "Dead By Daylight", mostram como a estratégia tem gerado resultado.

Sem Fake

Além da diversidade, outra aposta do Facebook Gaming é na criação de comunidades, como diz o "head of Gaming" do Facebook, Vivek Sharma, em entrevista ao START também durante a BGS. O que faz sentido. Afinal, ainda estamos falando de uma rede social.

"Nós lutamos muito com coisas como identidade real quando começamos a construir o Facebook Gaming, porque todo o resto estava criando formas de as pessoas se esconderem uma das outras, com avatares, apelidos, perfis falsos", aponta Sharma.

Temos que quebrar esse conceito que dizem que o único jeito de você ser quem você online é atrás de uma pessoa que não é real
Vivek Sharma, Head de Gaming no Facebook

No aplicativo do Facebook Gaming, mesmo sendo algo à parte do Facebook padrão, o usuário ainda é conectado ao seu perfil da rede social. Por isso, os comentários nas lives são de pessoas com nome, sobrenome e foto. Isso faz, segundo Sharma, uma diferença e traz segurança para quem está streamando.

Vivek Sharma Facebook Gaming - Divulgação/Facebook - Divulgação/Facebook
Vivek Sharma é um dos responsáveis pela parte de games no Brasil
Imagem: Divulgação/Facebook

"Algo que ouvimos sempre da nossa comunidade de gamers parceiros, como a Samira (Close), é que a nossa plataforma tem uma comunidade real, eles podem ver com são as pessoas, olhar para a foto, podem convidar a família para assistir junto e não se sentem mal por isso."

Cauê Moura, apresentador do Poucas, no UOL, falou sobre o assunto com Guilherme Damiani, que é streamer no Facebook Gaming:

"No Twitch as pessoas são Nicks, têm avatar de sapinho e tal, e aí você começa a fazer no Facebook e são pessoas. Você termina uma stream, às vezes, e você começa a clicar nos perfis e são pessoas, são seres humanos, são casais...", diz Cauê.

Com pouco menos de dois anos de atividade, o Facebook Gaming já é um concorrente de peso para o Twitch e, possui, segundo a empresa, mais de 700 milhões de pessoas em seu ecossistema todo mês, seja jogando ou assistindo transmissões de jogos.

É claro que os recursos da empresa de Mark Zuckerberg fazem uma diferença, e muitos desses nomes de peso que estão criando conteúdo no Facebook Gaming têm contratos de exclusividade. Cifras à parte, a empresa parece realmente empenhada em tornar a plataforma atraente não só para quem produz, mas também para quem consome games.

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