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

Free Fire: conheça as inspirações por trás dos personagens

Free Fire já prestou diversas homenagens através de seus diversos personagens - Divulgação/Garena
Free Fire já prestou diversas homenagens através de seus diversos personagens Imagem: Divulgação/Garena

Thaime Lopes

Colaboração para o START

23/04/2020 04h00

O bom do Frifas é que ele agrada todo mundo. Tem personagem para todos os estilos de jogo, pets para acompanhar e dar uma forcinha extra, além de trajes para deixar todo mundo pronto para a batalha com muito estilo.

Por trás dessas criações, tem também muita criatividade. Além da utilidade dos personagens, eles são pensados para trazer maior realismo ao jogo e, por isso, muitos deles são inspirados em pessoas da vida real.

Alok

Alok FF - Reprodução - Reprodução
O DJ é um dos personagens mais vistos no cenário competitivo
Imagem: Reprodução

Nesse caso não foi nem necessário mudar o nome. O Alok surgiu no Free Fire depois de uma parceria da Garena com o DJ brasileiro. Além de ter emprestado seu nome e visual para o personagem, Alok ainda foi o responsável pela música oficial do Mundial ano ado.

Miguel

Miguel FF - Divulgação/Garena - Divulgação/Garena
Ele é o único personagem brasileiro do jogo
Imagem: Divulgação/Garena

Pede pra sair! Quando o Miguel chegou no Frifas, todo mundo só conseguia ver o Capitão Nascimento, dos filmes Tropa de Elite. Além do rosto ser muito similar ao do ator Wagner Moura, que interpretou o policial nos dois filmes, o Miguel ainda por cima usa um traje bem parecido com o do BOPE. Mas para tristeza dos fãs, em maio do ano ado a Garena lançou uma atualização que mudou o visual do personagem.

Jota

Jota FF - Divulgação/Garena - Divulgação/Garena
Jota tem habilidade de restaurar vida dos jogadores
Imagem: Divulgação/Garena

A inspiração por trás do personagem especialista em parkour foi o ator indonésio Joe Taslim. Ele trabalhou em conjunto com a Garena para criar o visual do personagem, assim como sua habilidade. A ideia era que o primeiro personagem da Indonésia no jogo fosse similar ao ator para trazer maior representatividade no game. A criação deu tão certo que Joe inclusive gravou um vídeo interpretando o Jota, em simulações de partidas.

Maxim

Maxim FF - Divulgação - Divulgação
Com 17 anos, Maxim é um dos personagens mais novos do jogo
Imagem: Divulgação

Quem manja de Marvel, viu o Maxim e imediatamente pensou em Mercúrio, o herói mais veloz do universo dos quadrinhos de Stan Lee. Assim como o personagem que serviu de inspiração, Maxim possui cabelos platinados e está sempre com óculos na cabeça. Os dois também compartilham o poder da velocidade, já que o personagem de Frifas é bem rápido na hora do consumo de cogumelos e itens de cura. Outra semelhança que não deixa dúvidas da inspiração é que o nome de Maxim é uma referência ao nome verdadeiro de Mercúrio, Pietro Maximoff.

via GIPHY

Rafael

Rafael FF - Divulgação/Garena - Divulgação/Garena
Seu objetivo é trazer justiça para o mundo
Imagem: Divulgação/Garena

Impossível olhar para o Rafael no Frifas e não lembrar imediatamente de Hitman, a franquia de jogos da Square Enix. O Agente 47, protagonista dos jogos, é idêntico ao Rafael. Ambos são carecas, usam roupas pretas com gravata e possuem sempre armas ao seu alcance. A história do personagem, que é um mercenário, e sua habilidade de morte silenciosa são uma referência direta ao papel que o Agente 47 cumpre em Hitman.

via GIPHY

Kla

Kla FF - Divulgação/Garena - Divulgação/Garena
Kla é um renomado artista marcial, especializado em Muay Thai
Imagem: Divulgação/Garena

Talvez um dos personagens mais similares ao homem que serviu de inspiração, Kla faz referência a Tony Jaa, mestre tailandês de artes marciais. Jaa ficou famoso com a trilogia de filmes Ong Bak, se tornando um grande nome principalmente em seu país. Kla pegou emprestado o visual desses filmes, usando apenas shorts e faixas nas mãos, assim como o personagem de Jaa. A habilidade de Kla é o dano que seu punho causa, imitando o talento das artes marciais do ator tailandês.

Kelly

Kelly FF - Reprodução - Reprodução
Kelly faz parte dos Personagens Despertos e se tornou a primeira a ganhar uma árvore de habilidades
Imagem: Reprodução

Essa referência é difícil de pegar, mas a gente explica. A Kelly é uma personagem de velocidade e sua biografia conta que ela fazia parte da equipe de atletismo durante o ensino médio. A história e o visual da personagem são exatamente iguais à da personagem Takako Chigusa, do filme japonês Battle Royale (qualquer semelhança não é mera coincidência), lançado em 2000.

via GIPHY

Misha

Misha FF - Divulgação/Garena - Divulgação/Garena
Misha é irmã de Maxim, um outro personagem do Free Fire
Imagem: Divulgação/Garena

Uma mecânica loira, que usa boné, shorts, óculos no pescoço e cinto de ferramentas na cintura. Se jogar essas características no Google, provavelmente se deparará com Misha, mas também com Cindy, de Final Fantasy XV. Ambas trabalham no carro dos jogadores, sendo que Misha aumenta a velocidade do veículo em que está.

Kapella

Kapella FF - Divulgação - Divulgação
Kapella foi a mais recente personagem a ser lançada no jogo
Imagem: Divulgação

A mais recente personagem do Frifas é inspirada nas cantoras de k-pop, gênero de música coreano que tem conquistado o mundo. A biografia de Kapella, inclusive, conta que ela é uma superestrela no mundo da música. A inspiração veio também em forma de clipe oficial, em que duas cantoras tailandesas, Noey e Jam, emprestaram seus visuais e vozes para a personagem.

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