ūüéß Escutando The Great Gig in The Sky by Pink Floyd
ūüáßūüá∑ Agora em Curitiba, PR

Global Game Jam 2016: Pizza + Aliens

Por Guilmour Rossi
3 de Fevereiro de 2016

Neste √ļltimo fim de semana aconteceu em Curitiba (e no mundo) mais uma edi√ß√£o da Global Game Jam. E poxa‚Ķ foi muito legal! O processo em si foi um pouco solit√°rio, mas o sentimento de dever cumprido depois valeu muito a pena.

Se você não conhece a Global Game Jam, ela um evento onde você tem até 48 horas para desenvolver um jogo. Ele pode ser digital, de tabuleiro, de papel, físico, mobile, em realidade aumentada… enfim, como você quiser. Portanto é só reunir uma equipe (ou não) e botar a mão na massa!

Nesse ano eu participei sozinho pois meus amigos designers ou computeiros viajaram ou n√£o aceitaram meu convite. - P√ī! Vai ter pizza de gra√ßa todos os dias do evento - eu dizia. Nada adiantava. O √ļnico que foi comigo nessa foi o TARS, meu notebook Dell de 2011, que claro, n√£o tinha como recusar (por enquanto).

Hmmm, Pizza x86!

Me, myself and TARS

Partimos numa sexta-feira quente para a abertura do evento ali na PUC-PR. Aqueles nerds - homens, mulheres e crianças - reunidos é uma coisa muito bacana de se ver. Não há narizes empinados como em algumas hackathons ou outros eventos empresariais de desenvolvimento. Todo mundo quer mostrar sua arte, seja em linhas de código, contando uma história, com interfaces de usuários ou artes conceituais de cair o queixo. Fico sempre admirando.

Junto com o an√ļncio do tema desse ano, que foi apenas a palavra: Ritual, a excita√ß√£o inicial deu lugar ao sentimento de ter que botar a m√£o na massa. Tentei procurar algu√©m sem equipe tamb√©m, mas os √ļnicos que encontrei que estavam abertos para um novo membro eram liderados por um mo√ßo de personalidade forte, n√£o por mal, mas quase ditatorial. Dei um jeito e fugi deles enquanto era tempo. Achei uma sala com mesa vaga, pluguei o TARS por l√°, coloquei um Tycho no fone e comecei a produzir.

Desde crian√ßa a ideia de criar jogos me fascinava. Eu estava sempre atr√°s de informa√ß√Ķes sobre como faz√™-lo, mas naquele tempo era mais d√≠ficil conseguir as informa√ß√Ķes e claro, eu era uma crian√ßa. Logo conheci alguns makers para brincar e depois tentei alguma coisa em flash e ActionScript. S√≥ quando entrei na universidade √© que tive contato om n√≠veis de programa√ß√£o mais sofisticados, e carregando o b√°sico de Javascript dos tempos anteriores ao Guilstv √© que me aventurei com a framework phaser.js. Ela √© uma r√°pida, de c√≥digo-aberto e muito bem documentada framework para cria√ß√£o de jogos em HTML5. Como j√° me senti confort√°vel um pouco com ela, decidi us√°-la esse ano, diferente de 2014 onde usei o bom e velho Multimedia Fusion.

Ritual!

Comecei então a pensar em algo, fazendo uns sketchs no meu caderninho. Logo a ideia de algo com aliens - e eu os amos demais - veio a cabeça. Mas o que fazer é que estava complicado. Como um grande supernintendista que sou, sou obcecado pelos bons e velhos jogos de plataforma, mas além de serem custosos para serem feitos sem escrever uma engine antes, fazer sozinho nas 48h seria impossível.

O tema ritual n√£o ajudou muito, mas um dos diversifies desse ano que dizia sobre um ‚Äúmundo infinito processualmente gerado‚ÄĚ sim. Como j√° estava trabalhando sozinho, seria mais tranquilo fazer um joguinho casual, e nesse caso, o diversifier me ajudou a pensar num infinite run. Queria algo b√°sico inspirado em Jetpack Joyride ou Flappy Bird.

Parti então com essa premissa e como já tinha feito um game, chamado Star Mars, continuei com a ideia da espaçonave navegando pelo espaço e desviando de meteoros ou outras naves. Comecei então tentando encaixar o tema ritual num game casual que você controla uma nave no espaço e bolei o seguinte texto:

Zorg agora tem 18 anos, então é hora de fazer o tradicional ritual de seu planeta Zahar. Ele precisa passar pelo buraco de minhoca e se afastar de sua galáxia para encontrar sua própria paz transcendental.

OBS. O nome do alienígena Zorg tem tudo a ver com o vídeo do Porta dos Fundos e o planeta Zahar é em homenagem ao grande editor Jorge Zahar aqui do Brasil (me dá uns livros, please).

Phaser

Seguindo disso, comecei a trabalhar na engine básica do jogo, com um setup fácil e just clicks no Intel XDK que me ajudaria depois a exportar o app com Cordova para o Android. O Phaser tem uma documentação bem intuitiva, e logo foi fácil montar toda a estrutura por estados, ou frames, igual eu estava acostumado nos game makers quando mais jovem.

Comecei criando o estado básico jogável do game, e depois de algumas horas enfrentando erros bobos de programação em JS, foquei em não mais escrever código, mas sim pensar antes no que eu queria fazer - tentei projetar o que eu esperava do game. Só lá por mais de duas da manhã de sábado é que eu terminei de escrever e fazer uns diagramas fuleiros, mas esclarecedores de TUDO que eu faria e como o faria. O sono bateu forte e me senti muito velho de não aguentar mais sequer virar uma noitezinha como em 2014, fui dormir animado com o dia seguinte.

De manhã acordei todo torto por conta da cama furreba que eu tinha improvisado nas salas da PUC, mas o café na faixa organizado pelo @bcp, orgnizador do evento em Curitiba, já colocou tudo no lugar.

Fui com tudo para o TARS e pouco antes das 16h o game j√° tinha um corpo bem definido. Estava ficando mais ou menos assim:

Parte jogável do game, que até então se chamaria "Far From Andromedra".

Voltando do lanche-almo√ßo da tarde (que foi mais PIZZA!), fui para o restante que faltava para ter um jogo m√≠nimo jog√°vel (JMJ): eu ainda precisava construir os sprites do game; definir backgrounds, fazer menus e bot√Ķes, fazer uma screen com um sobre e cr√©ditos, fazer um screen com os pontos obtidos mais altos - em mili parsecs! -, e claro, definir uma trilha sonora. Se desse tempo: colocar incrementos visuais, fazer uma gamifica√ß√£o melhor do que apenas ‚Äúquem faz mais pontos‚ÄĚ e exportar o arquivo com Cordova para rodar no num tablet meu antigo.

Inkscape Cyberpunk

Fazendo as formas do Inkscape e jogando o .png no ImageGlitcher d√° para ter um efeito de glitch-neon-espacial muito bonito, e assim fui fazendo os sprites. Confira abaixo, e se quiser pode baixar e remixar:

Sprites e assets do jogo. Use, remixe e tudo mais. Ver Arquivo

Trilha Sonora from Newgrounds

Depois de feito a arte, surfei um pouco atr√°s de uma trilha legal, e o Newgrounds (<3) era o lugar certo para isso. Dentre as m√ļsicas que curti demais e selecionava de menos, acabei escolhendo as seguintes: Coloque um fone e d√™ o play se puder:

E a licença Newgrounds é ótima e objetiva:

Newsground license: "You may not use this work for commercial purposes without making specific arrangements with the artist UNLESS your work is a web-based game or animation, in which case you may use this freely."

Play Testes

Coloquei os sprites e a trilha, criei as screens e ainda deu para implementar alguns caprichos como um camera-shake, e suavidade nas transi√ß√Ķes. Consegui tamb√©m fazer a build do apk, mas que ficou muit√≠ssimo lento em Androids mais antigos, que era o caso do meu Tablet.

Eram quase 4 da manh√£ quando coloquei o notebook para hibernar. Quando acordasse era apenas se preparar para os playtests e conferir os games dos outros colegas.

O resultado ‚Äúfinal‚ÄĚ foi esse:

Corre Zorg, corre!

O código, claro está lá no GitHub.

Galera nos Play Testes

E foi isso. Mais uma Game Jam de aprendizado, arte e muita pizza. Code and art will change the world!

Abraços! <3

‚Äď Guilmour