Descobrir a ciência que há por trás do jogo Pokémon Go pode ser tão divertido quanto viajar pelas inúmeras ferramentas que estão sendo criadas ao redor do mundo por seus incontáveis fãs. “O game é pura computação, matemática e estatística”, diz o mestrando Marcio Funes para uma turma de 40 estudantes da escola estadual professor Sebastião de Oliveira Rocha, em São Carlos. Eles têm entre 14 e 18 anos e estão visitando o Instituto de Ciências Matemáticas e de Computação (ICMC) da USP na tarde de uma quarta-feira.
Marcio dispara algumas perguntas sobre o jogo mais popular de todos os tempos: “Por que ele faz tanto sucesso? O que tem por trás de Pokémon Go?”. Para começar a partida, explica: “É um aplicativo e você só consegue jogar por causa da computação em nuvem. Isso quer dizer que os processamentos mais pesados do game são executados nos servidores das empresas desenvolvedoras do jogo, que estão espalhados pelo mundo. Só algumas aplicações mais leves acontecem no seu smartphone”.
Outro item fundamental no reino dos monstrinhos virtuais é a programação, responsável por integrar os dados que estão na nuvem com as diversas informações provenientes de cada celular – como sua exata localização geográfica, obtida via GPS, e as imagens da câmera. Se essa relação não fosse bem construída, imagine o tempo que levaria para um Pokémon que você capturou aparecer na tela do seu smartphone. Isso comprometeria toda a sua experiência de jogo. É por isso que cada etapa do game tem que ser processada em milissegundos e executada de forma a gastar a menor quantidade possível de bateria. Aliás, provavelmente vários desenvolvedores estejam quebrando a cabeça neste momento para construir um código mais eficiente, que não consuma tanta energia.
Não é à toa que, para economizar bateria, muitos jogadores têm optado por desligar a câmera dos smartphones na hora de se divertir com os Pokémons. Apesar do game continuar funcionando bem sem a câmera, ao desligá-la, uma das principais tecnologias computacionais presentes no jogo deixa de funcionar: a realidade aumentada. “É a mágica que acontece quando você põe uma camada de mundo virtual em cima do mundo real”, explica Marcio.
Para demonstrar como essa tecnologia funciona à plateia de 40 estudantes, o mestrando solicitou um voluntário. André Formici, 16 anos, levantou a mão entusiasmado. Marcio pediu que o garoto pegasse um exemplar do Guia Faça Parte do Futuro (um material elaborado para ajudar quem está no ensino médio a esclarecer dúvidas sobre cursos e carreiras) e mostrasse a capa do guia para a câmera de um computador. Então, a mágica aconteceu: um dinossauro surgiu na tela. Conforme André folheava o material e mostrava cada imagem para a câmera, outros bichos virtuais invadiam aquele cenário real. Quando chegou à contracapa do guia, um simpático robô tomou conta da tela e o estudante não resistiu: simulou um carinho real na careca do humanoide (assista ao vídeo).
Essa foi a primeira vez que André assistiu a uma demonstração do que a realidade aumentada é capaz de fazer, mas já tem uma opinião formada sobre o assunto: “Essa tecnologia é o futuro. Na minha visão, é o que vai levar a humanidade para um novo patamar de aprendizado”. Não é por acaso que André quer cursar Ciências de Computação e participar dessa revolução.
Mergulhe nos cálculos
Por trás da computação em nuvem, da programação e da realidade aumentada, há um número incalculável de fórmulas matemáticas subjacentes. Apenas para dar um exemplo: sem a matemática, a realidade aumentada seria impossível, já que ela depende de uma série de cálculos. Marcio explica que é necessário fazer o dispositivo abrir a câmera, captar uma imagem e interpretar o que está aparecendo: “O sistema é ensinado a fazer cálculos matemáticos que o possibilitam compreender as bordas da imagem e as cores. Isso permitirá a inserção de uma imagem virtual em 3D em cima daquela imagem real”. Sem esses cálculos, o Pokémon não vai aparecer exatamente em cima da mesa, do vaso sanitário ou dentro da piscina.
Mas grande parte da magia de Pokémon Go está atrelada a uma tecnologia que funciona desde 1995, o famoso Sistema de Posicionamento Global (GPS). Se seu smartphone não estivesse atrelado à constelação de 24 satélites que compõem esse sistema, você não poderia andar no mapa da vida real para se encontrar com os monstrinhos virtuais, parar em Pokestops ou lutar em ginásios. Basta seu celular estar no campo de visão de três desses satélites para que sua posição no mapa seja identificada de maneira precisa.
Por trás disso, está mais um sofisticado cálculo matemático. O professor Leandro Aurichi, do ICMC, explica que a localização é obtida a partir da diferença entre o tempo marcado pelo relógio presente no seu smartphone na Terra e o tempo marcado nos relógios atômicos que estão a bordo dos satélites. “Como os satélites estão girando mais rápido no espaço e estão no alto, submetidos a uma menor gravidade, é preciso fazer um ajuste na conta do tempo que você está marcando aqui na Terra.”
Nesse sentido, não é exagero dizer que, sem Albert Einstein, seriam poucas as chances de você jogar Pokémon Go. Porque são as duas teorias criadas pelo famoso físico, a Teoria Especial da Relatividade e a Teoria Geral da Relatividade, que possibilitam realizar esse ajuste entre os relógios e manter a precisão de seu posicionamento no mapa. Leandro revela que a diferença entre os relógios pode parecer pequena à primeira vista – 38 microssegundos por dia –, no entanto, se for deixada de lado, vai gerar um erro de dez quilômetros por dia, o que impediria você de pegar monstrinhos pela vizinhança.
Economize na quilometragem
Os quilômetros rodados são realmente fundamentais em Pokémon Go. Não é possível evoluir no game se você não caminhar pelas ruas do mundo real e buscar recompensas virtuais em Pokestops. Considerando que você deseje passar de uma vez por todas as Pokestops que existem nas proximidades da região em que está, haveria uma maneira de calcular uma rota para percorrer a menor distância possível?
Segundo o doutorando Pedro Castellucci, do ICMC, essa é uma pergunta que pode ser respondida com a ajuda da otimização, uma subárea da matemática aplicada, onde encontramos o problema clássico do caixeiro viajante, que vem sendo estudado há mais de 60 anos. Tal como os jogadores de Pokémon Go, o caixeiro viajante também precisa encontrar o caminho mais curto para passar por diversas cidades apenas uma vez.
Para descobrir a solução, considerando as 15 Pokestops localizadas no campus I da USP, em São Carlos, Pedro resolveu adotar o método branch and bound: “Esse método analisa cada rota possível que o jogador pode fazer, passando por todas as Pokestops, e consegue relacionar essas várias rotas, extrair informações e concluir qual a melhor”. O doutorando implementou um código e precisou usar um software apropriado a fim de realizar os cálculos, já que seria impossível fazer tantas contas manualmente. “O número de soluções viáveis com 15 Pokestops é de mais de um trilhão! Chegando exatamente a 1.307.674.368.000”, revela. Imagine, então, o número de soluções viáveis para uma metrópole como São Paulo, por exemplo.
O caminho ótimo encontrado por Pedro no campus tem aproximadamente três quilômetros (veja o mapa). A solução foi apresentada durante as aulas de programação matemática para estudantes dos três cursos de graduação em computação oferecidos pelo ICMC: “Conseguimos prender a atenção deles com o exemplo. Apesar de ainda não conhecerem esse método, vários alunos quiseram instalar a ferramenta durante a aula”.
Pedro disponibilizou uma apostila na web, em inglês, para quem quiser saber mais detalhes sobre o caixeiro viajante e Pokémon Go. A Faculdade de Matemática da Universidade de Waterloo, no Canadá, também calculou as melhores rotas para viajar pelas Pokestops de diversas cidades do mundo como Nova York, São Francisco e Toronto. Aliás, a localização dessas Pokestops e dos ginásios não é fruto do acaso, mas das estatísticas importadas do jogo Ingress, em que os usuários informavam seus pontos de interesse.
Assuma os riscos
Entre as inúmeras ferramentas desenvolvidas pelos fãs de Pokémon estão as calculadoras (IV Calculator ou The Silph Road). É aqui que entra a estatística, já que essas calculadoras mostram, entre outras coisas, as probabilidades de um Pokémon evoluir, considerando diferentes cenários (do pior ao melhor possível). Descobrir essas estatísticas por trás de cada monstrinho é importante para saber qual Pokémon deve ser treinado. Assim, você não assumirá o risco de investir tempo e energia em um monstrinho sem chances de alcançar bons resultados.
Segundo ela, outro item crítico em relação à segurança é a câmera utilizada no jogo, que poderá fornecer acesso a imagens dos ambientes internos frequentados pelos jogadores. “Já tivemos relatos de ataques realizados em uma usina nuclear porque alguém tirou uma foto do local. Nessa imagem, era possível identificar o nome do sistema de segurança utilizado nas centrífugas”, lembra Kalinka. “A gente tem que estar ciente dos riscos que estamos assumindo”, alerta a professora.
Quem assumiu os riscos e decidiu jogar Pokémon Go pode agradecer, agora, a todos os pesquisadores da computação, da matemática e da estatística. Eles desenvolveram os conceitos que possibilitaram essa febre dos anos 1990 voltar à tona em um mundo cheio de web, computação em nuvem e smartphones.
Assista o vídeo produzido por Reinaldo Mizutani, no Youtube, explicando o que é realidade aumentada:
Texto: Denise Casatti – Assessoria de Comunicação ICMC/USP