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:
- Um aplicativo tipo joystick para o celular, feito em J2ME e entregue por um servidor Bluetooth
- Um servidor Bluetooth responsável por (i) enviar o app J2ME para o celular e (ii) controlar e orquestrar a parte multiplayer
- 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.