Lições da Minha Primeira Game Jam

Fala pessoal, tudo bem com vocês?

Neste ano de 2021, eu decidi sair da minha zona de conforto e iniciar um hobby que a muito tempo
eu desejava iniciar e sempre ficava postergando: o desenvolvimento de jogos eletrônicos.

Como alguém que passou boa parte da infância e adolescência acompanhado de bons jogos (bons tempos de Donkey Kong Country e Top Gear), eu sempre tive um carinho especial por eles e sempre me interessei em saber como eles funcionavam e eram contruidos.

No o inicio do ano, tirei proveito do ‘poder’ das resoluções de fim de ano e dei o passo inicial nos meus estudos, agora de maneira séria. Neste post pretendo explanar algumas coisas que aprendi nesse inicio da minha caminhada e ao participar da minha primeira Game Jam.

Sendo assim, caro leitor, espero que este post te consiga te incentivar, pelo menos um pouco, a dar o passo inicial no mundo do desenvolvimento de jogos ou qualquer outra área que você deseje começar a estudar.

Pare de depender da motivação

Nos anos anteriores, eu tentei estudar diversos assuntos que eu achava interessantes, seja relacionados a TI ou não. O problema que eu muitas vezes me deparava era com a infinidade de possibilidades que encontramos pela Internet a fora. Existem muitas linguagens de programação diferentes, dezenas de editores, dezenas de ferramentas destinadas a resolução de um mesmo problema, e por ai vai.

A grande quantidade de opções muitas vezes mais me atrapalhou do que ajudou, eu sempre perdia muito tempo escolhendo a melhor ferramenta, o melhor editor, a melhor biblioteca para determinada tarefa e etc. Isso consumia meu tempo e meu animo, fazendo que com que muitas vezes eu mal conseguisse estudar tudo o que eu desejava.

Felizmente, com o passar dos anos, eu aprendi a gerenciar esse ‘perfeccionismo’ e decidi que de fato iria colocar a mão na massa e realmente estudar. Nesta sessão eu vou abordar a ferramentas que utilizei a fim de facilitar o caminho para quem também deseja começar.

Devo criar minha própria engine?

Não.

Se o seu foco é desenvolver jogos, eu recomendo fortemente utilizar um engine já pronta e bem documentada. Salvo se seu objetivo for aprender a desenvolver uma engine de jogos, criar sua engine “na mão” só vai tirar seu foco do que realmente importa, que é aprender a programar jogos!

Eu comecei meus estudos com a engine Godot que é gratuíta, possui um suporte muito bom ao Linux (meu OS de estudo/trabalho) e possui uma documentação muito completa e uma quantidade razoavel de tutoriais pela internet.

Cuidado com o Tutorial Hell

Depender demaos de tutoriais pode fazer você cair no Tutorial Hell.

Tutorial Hell é uma expressão usada para designar o habito de fazer tutoriais ou cursos um após o outro, sem nunca realmente por em prática o conhecimento adquirido, por insegurança de não saber o suficiente sobre determinado assunto.

Meu conselho aqui seria evitar ficar vendo tutoriais em demasia. É normal nos sentirmos inseguros quando começamos a utilizar uma ferramenta ao qual não estamos acostumados. Podemos aprender muito assistindo tutoriais no Youtube ou fazendo cursos, mas isso também pode acabar nos prendendo em um tipo de preguiça disfaçada de estudo (sim, nem toda preguiça implica em ausência de esforço), onde ficamos presos a tutoriais e nunca de fato iniciamos algo por nós mesmos. Sendo assim, eu recomendo o que funcionou pra mim:

Eu dei uma lida nos capítulos inicias da página de documentação aqui. Dê foco ao capítulos: Introduction to Godot’s editor, Scenes and nodes, Instancing, Scripting e Signals.

Em seguida fiz o tutorial “You Fist Game” da própria documentação da Godot (em ingles): link aqui.

Após isso, coloquei a “mão na massa” e comecei a contruir pequenos protótipos de jogos (coisas simples mesmo). Fiz um projetinho de jogo de plataforma, para aprender como é construído o cenário e como são aplicados os efeitos de gravidade durante o pulo do personagem entre outras coisas básicas. Tentei desenvolver o máximo usando a documentação e aprendi um bocado no processo. A documentação da Godot é bem completa e detalhada, então faça bom uso dela! Se desejar ver algum tutorial, não tem problema. O importante é não ficar preso a eles e colocar a mão na massa. Nunca vamos nos sentir totalmente preparados para fazer algo novo, então é melhor começar o quanto antes.

Sobre a GameJam

Sobre a GameJam, eu participei da NOKIA 3310 GameJam, que foi uma GameJam cujo objetivo era criar um game seguindo as restrições do NOKIA 3310. Isso inclui utilizar as mesmas paletas de cores e tipos de audio do celular. Foi bem legal trabalhar dentro desse escopo limitado.

O jogo: Hostile Terraqueo

Dado o prazo da Jam e considerando minha falta de experiência com a engine, tempo limitado para o projeto, eu resolvi começar com algo simples mas que fosse divertido. Como resultado, projetei o game Hostile Terraqueo. Ele é um game de apenas uma tela que desafia o jogador a sobreviver o maior tempo possível com direito até a uma história.

Um alien decide passar suas férias na Terra. Mas quando chega aqui, ele é recebido por inúmeros terráqueos infurecidos lançando Nokias 331) sobre ele (que conhece o celular, sabe como isso é mortal). Seria o alien capaz de sobreviver as suas férias.

Eu levei pouco mais de 17 horas para desenvolver o game. Não ganhei a Jam (tinha outros jogos muito mais incríveis), mas fiquei muito satisfeito com o projeto e com o feedback que recebi.

Abaixo você pode encontrar a página do game e o repositorio com o código.

Conclusão

Este post é resumo de algumas das lições que aprendi ao participar da minha primeira GameJam. Foi muito interessate projetar algo funcional em tão pouco tempo, gerenciar requisitos, ideias e também interagir com outros desenvolvedores e testar as submissões deles e também receber feedback diretamente do pulbico alvo: o jogador. Espero que essas lições também possam ser uteis para você, leitor.

Obrigado por ler até aqui!