← Voltar aos projetos

Jogo multiplayer com joysticks por Bluetooth

Um totem com jogo 3D onde celulares que passassem por perto viravam joysticks, via Bluetooth. 2009, sem SDK, sem orçamento.

Este ainda é o projeto que eu criei. O que vou contar para o meu filho.

O que era

Trabalhando numa empresa de marketing, tivemos a ideia de montar um totem com um jogo 3D completo (simples, mas completo) rodando num computador. Quem passasse por perto com o Bluetooth do celular ligado recebia um aplicativo que permitia controlar o jogo.

Com um time formado por mim e um designer gráfico, criamos dois jogos para a prova de conceito.

O clone de Pac-Man

Por questão de direitos autorais não posso mostrar o clone de Pac-Man fora da empresa, mas posso falar sobre ele. Era um jogo de três partes:

  1. Um aplicativo tipo joystick para o celular, feito em J2ME e entregue por um servidor Bluetooth
  2. Um servidor Bluetooth responsável por (i) enviar o app J2ME para o celular e (ii) controlar e orquestrar a parte multiplayer
  3. O jogo em si

O servidor Bluetooth foi escrito em C puro. Ele mantinha o dongle Bluetooth em modo de varredura e, quando alguém com Bluetooth ligado chegava ao alcance, perguntava se a pessoa queria receber o app. Em caso afirmativo, o app J2ME era baixado e iniciado. Ao abrir, ele procurava vagas no multiplayer: o usuário podia ser um dos fantasmas ou o Pac-Man.

Se fosse o Pac-Man, o app funcionava simplesmente como um joystick remoto. Mas se fosse um fantasma, e houvesse pelo menos um fantasma controlado pelo jogo, aí a coisa ficava interessante: o fantasma controlado pela máquina tinha uma estratégia que evoluía conforme o jeito de jogar do usuário Pac-Man, e mandava dicas para o app do jogador humano, do tipo “vai para a esquerda aqui, se você fizer isso a gente encurrala o Pac-Man”.

Eu sempre tive queda por IA, mas foi aí que decidi de fato buscar o mestrado em agentes autônomos. O resto do jogo era bem padrão para a época: C++, Ogre e SDL faziam o trabalho. Não tínhamos acesso a nenhum SDK 3D avançado, porque não havia orçamento nenhum.

Desert challenge

Com o Pac-Man aprovado, pediram um novo jogo (sem problema de direitos autorais) para apresentar aos donos da empresa. Usamos a mesma tecnologia e criamos uma corrida de dragster, em que o jogador tinha que trocar as marchas no momento certo para vencer.

Desafios

Por onde começar? Você já tentou criar um jogo 3D do zero? Some a isso um servidor Bluetooth e uma aplicação J2ME numa época em que não havia padrão real — cada fabricante implementava o J2ME do seu celular de um jeito, às vezes diferente entre aparelhos da mesma marca.

Acredito até hoje que jogos são uma forma de arte. Criar um jogo completo é criar arte na forma mais pura: você precisa pensar em história, arte, música, direção, tecnologia, cronograma, e a lista continua. Jogos são, sem dúvida, um dos tipos de software mais complexos que existem, tanto para o arquiteto quanto para o desenvolvedor e para o artista.