Desenvolvimento & Produção

Aluno da Academia de Produção de Jogos conta como criou sozinho o jogo Fantasy Galaxy em 12 semanas

Aluno da Academia de Produção de Jogos conta como criou sozinho o jogo Fantasy Galaxy em 12 semanas

Coloque seu nome e email para receber meus melhores conteúdos:

Entre os dias 02 de Setembro e 25 de Novembro de 2016, aconteceu a 4a Maratona Academia PDJ.

Esta é uma maratona online de desenvolvimento que eu faço com os membros da Academia de Produção de Jogos e tem como objetivo fazer o pessoal realmente colocar a mão na massa e usar tudo o que aprendeu na criação de um jogo.

No artigo de hoje, eu trago o postmortem do jogo Fantasy Galaxy, desenvolvido pela equipe Mega Games durante a 4a Maratona Academia PDJ.

Se você achar o jogo interessante, não deixe de votar nele nesta página especial. Esta é a forma que os desenvolvedores têm de saber que o jogo que eles fizeram realmente cativou o público 🙂

Eu acredito que o postmortem abaixo será muito útil para quem desenvolve ou quer desenvolver jogos, pois discute as várias as fases do processo, as dificuldades e desafios da criação, o gerenciamento de tempo e outros pontos importantes.

No final deste artigo eu volto para fazer alguns comentários e te explicar como você pode fazer parte da Academia de Produção de Jogos e estar com a gente na próxima maratona.

Então agora divirta-se com o postmortem do jogo Fantasy Galaxy.

Com vocês, Renato da Mega Games

fantasy-galaxy-1

E aí, gente, tudo bem?

Aqui é o Renato da Mega Games, e vou contar um pouco de como foi a experiência de criar o jogo Fantasy Galaxy para a 4ª Maratona da Academia PDJ.

Caso não conheçam o jogo, deem uma olhadinha nele: jogo e presskit.

Agora, vamos às informações.

Entrando na maratona sozinho

A decisão de participar da 4ª Maratona sozinho, com a equipe Mega Games, se deu mediante a necessidade de um estímulo para cumprir algumas metas em determinado tempo e de um aperfeiçoamento pessoal.

Minha ideia inicial era participar como estagiário em uma equipe, pois desejo me aperfeiçoar como Game Designer, porém acredito que como estagiário não conseguiria desenvolver esta habilidade, e que por minha falta de experiência não seria possível entrar em uma equipe diretamente como Game Designer. Então, resolvi aceitar este desafio (na última hora, mas aceitei).

Experiência prévia

Minha experiência antes de entrar Academia de Produção de Jogos com relação a criação de jogos é zero! Nunca tive habilidades nesta área (excluindo uma experiência de poucos meses com a engine RPG Maker, isso há alguns anos, em sua primeira versão).

Minha formação acadêmica também não me ofereceu nenhuma base para a criação de jogos, visto que sou enfermeiro especialista em dependência química.

Minha maior bagagem nesta área se dá pelo fato de ser um jogador desde que consigo me lembrar.

Após a entrada no curso, fiz algumas aulas de Unity online e assisti a algumas de programação em C#. Consegui fazer alguns pequenos testes com jogos estilo plataforma e um shoot em up. Inicialmente o projeto seria feito na própria Unity.

Por onde começar?

Como era de se esperar, na primeira semana todo o esforço despendido foi para conseguir imaginar um projeto que eu seria capaz de concluir sozinho, e que ao mesmo tempo fosse desafiador.

O gênero do jogo estava meio que decidido desde que comecei meus primeiros tutoriais de Unity: seria um Shoot Em Up Horizontal inspirado nos antigos jogos da era 16 bits (exemplos: Darius, Gradius, R-Type, BioMetal, etc).

Reconhecendo minhas limitações na área musical e artística, busquei por algumas bases de assets de uso livre e fiz um catálogo de tudo que eu achava interessante.

Durante minhas pesquisas encontrei a engine Game Maker e li que sua linguagem de programação (GML) era amigável para iniciantes e suficientemente complexa para agradar pessoas experientes.

Resolvi aceitar o desafio de aprender a utilizar uma engine, programar uma nova linguagem e fazer o jogo, tudo ao mesmo tempo (além do dia-a-dia e o trabalho).

Limitando o escopo

Devido à limitação de tempo, somado com a inexperiência em criação de jogos, o jogo deveria ser curto e divertido.

Era necessário procurar uma “Meta”, algo que faria com que os jogadores tivessem interesse em jogar por mais de uma vez.

Pensando nessa “Meta”, foram adicionados elementos que são comuns ao gênero de Role-playing Game (RPG), como progressão de nível, ganho de dinheiro, experiência e compras de upgrades.

O próximo passo era descobrir como juntar isso tudo no projeto sem ter de fazer uma “aventura épica de diversas horas”. A solução encontrada foi dividir o jogo em dois modos: Infinito (para fazer o “grinding” de experiência e dinheiro) e história (com quatro fases de dificuldade moderada à alta).

Cronograma:

Para garantir que não ia gastar muito tempo no começo do projeto e depois ter de finalizá-lo às pressas, deixando o jogo incompleto, foi essencial a criação de um cronograma, mesmo ele vindo a sofrer algumas alterações ao longo da maratona.

fantasy-galaxy-2
Clique na imagem para ampliar

A primeira semana foi dedicada exclusivamente à inspiração e coleta de assets.

Comecei a pesquisar todos os tutoriais que conseguia encontrar de GameMaker, estudar o quão difícil era a programação e o que seria possível fazer (passando pelo processo de criar um jogo estilo “asteroids” para aprender como a engine funcionava).

fantasy-galaxy-3

Na segunda e terceira semana o tempo foi dedicado para construir o núcleo do jogo, como iria misturar a progressão de nível/stats com um Shoot Em Up e como programar tudo isso.

fantasy-galaxy-4

Na quarta e quinta semana a ideia era criar um produto de viabilidade mínima para teste, então foram inseridos dois inimigos, alguns power-ups e o sistema infinito (beta).

fantasy-galaxy-5

Na sexta semana foi lançada a primeira versão para testes, contendo o modo infinito (beta) e a primeira fase.

fantasy-galaxy-6

Da sexta semana até a décima semana foi criado o restante da estrutura do jogo, as quatro fases planejadas, novos efeitos sonoros para colisões, tiros, menus, efeitos visuais de colisão e de acerto de tiro, dentre outros.

Foi implementada melhoria no sistema de progressão de nível (de acordo com sugestões de quem testou o jogo), o sistema de compra de “power-ups” e “drop” de dinheiro, além da correção de bugs. Tudo isso com o intuito de lançar a versão alpha para apreciação (ainda não continha a história e outros ajustes).

fantasy-galaxy-7

Da décima primeira semana até o último minuto da décima segunda semana (literalmente) foi o momento de correção dos bugs (aliás, correção de bugs ocorreram em todas as fases do processo, mas nesta foi mais intenso), polimento do jogo e implementação dos diálogos do modo história.

Foi adicionada compatibilidade com o controle do Xbox 360, bem como à vibração, e foi criado o blog para a divulgação/ especificações.

fantasy-galaxy-8

O Processo

Para aproveitar ao máximo possível o meu tempo, fazia anotações em folhas de rascunhos, post-its, e no celular sempre que uma ideia surgia (o que muitas vezes ocorre quando você está no horário de trabalho ou deitado na cama).

Isso garantia que eu não perdesse nenhuma ideia e que eu tivesse tudo otimizado na hora de programar. Além de anotar ideias, também fiz modelos de design do “HUD”, dos power-ups, e das movimentações.

fantasy-galaxy-9
Clique na imagem para ampliar

Nas últimas semanas, devido ao tempo escasso, cheguei a ter de escrever o código de programação em um bloco de notas durante meus horários de almoço, além de passar algumas noites sem dormir.

A cada novo conteúdo programado, era necessário testar o jogo, tanto em seu modo história como no infinito, para garantir que nada fosse desbalanceado ou sem graça, e a cada teste havia novos balanceamentos de progressão de nível (aumento de atributos, de quantidade de experiência necessária, etc) e de força dos power- ups (multiplicadores e tempo de duração).

Muitos dos power-ups planejados não foram utilizados, bem como alguns comportamentos dos inimigos.

Nesse sentido, as sugestões dos testers foram de imenso valor, principalmente as que diziam respeito à dificuldade do jogo (que teve de ser reduzida algumas vezes, para não ser frustrante).

Power-Up / Level Design

A criação dos power-ups e das fases teve relação direta. Optei por quatro tipos diferentes de tiros, cada um com suas vantagens e desvantagens. Todos os tiros contavam com um multiplicador de força,“hp” próprio e um “cooldown”.

Triplo: ideal para destruir inimigos espalhados pela tela, porém com um “cooldown” maior que o tiro inicial e com um multiplicador de 1x.

Laser: um tiro que não perde seu próprio HP e pode passar pelas paredes. Todas as fases têm algum momento no qual é possível se esconder atrás das paredes e atirar nos inimigos. Seus defeitos são que sua área de colisão é pequena, seu cooldown é alto, e seu multiplicador é de 1x.

Homing: o tiro teleguiado tem a vantagem de permitir que você foque toda sua atenção nos tiros dos inimigos. Ele é ideal para áreas com muitos inimigos, porém seu cooldown é muito alto. Inicialmente, seu multiplicador era de 0.5x, mas, após sugestões, foi corrigido para 1x.

Super: uma versão aperfeiçoada do tiro principal. O cooldown é um pouco maior que o do tiro principal, porém o dano tem um multiplicador de 2x. Em sua versão upgrade ele vai para 3x.

As fases foram criadas para testar algumas habilidades dos jogadores, como o controle da nave em um túnel que se afunila, ou se manter em uma região específica da tela para não atrair mais inimigos.

Dificuldades

A maior dificuldade vivenciada nesses três meses foi a manutenção da disciplina nos horários reservados para a produção do jogo, assim como o sacrifício de horas de lazer e descanso.

Enquanto nas primeiras semanas estamos cheios de energia e motivação, nas últimas estamos cansados e, dependendo do quanto o jogo está próximo do que você desejava, desanimados com a quantidade de aspectos que não vamos conseguir melhorar/ implementar por causa do limite de tempo.

Outra questão são os imprevistos que ocorrem ao longo de três meses. Como exemplo prático, falta de luz na região onde moro por um final de semana completo (período que tenho mais tempo para me dedicar ao projeto), a presença de provas e trabalhos da pós-graduação, bem como a necessidade de realizar dois pequenos procedimentos cirúrgicos.

Tudo isso consome tempo precioso, o que nos leva à necessidade de estar sempre revendo o escopo do projeto e separar o que pode ser deixado para implementar no final, caso dê tempo, e o que é necessário para você passar a experiência que deseja em seu jogo.

Conclusão/Recomendações

Após esses três meses cansativos em que me encontrei próximo ao esgotamento mental, separando apenas 4 dias para não trabalhar no projeto e tendo de passar algumas noites em claro para conseguir entregar a experiência que me propus a criar, meu conselho é de se atentar para não deixar o escopo do seu projeto muito amplo, de estarem dispostos a abrir a mão de seu tempo de descanso/ lazer para se dedicar, e principalmente, estar perto de pessoas que te incentivem e apoiem durante todo o processo.

Apesar de estar muito satisfeito com o resultado final, muita coisa planejada ficou de fora.

No código fonte/ save do jogo há informações de quase tudo que o jogador fez, que seriam para um sistema simples de conquistas. Há resquícios de código e diálogos para mais um final. Há assets para uma fase secreta, cheat [Konami Kode] e etc.

Muito esforço foi feito para compensar as intercorrências ao longo desses meses. Então,  saibam que aceitar o desafio de começar do zero, sozinhos, e sem experiência prévia pode ser frustrante em muitos momentos.

Porém, por outro lado, é altamente recompensador ver seu projeto pronto. Acredite que você é capaz de dar conta dessa tarefa, mas esteja ciente de que você terá de abrir mão de muita coisa para conseguir, e que terá de ter muito jogo de cintura para adequar/ adaptar seu planejamento inicial com a realidade.

Agradeço a todos que me ajudaram nessa jornada!

Caso tenham alguma dúvida, comentário, ou sugestão, podem entrar em contato por meio do Facebook.

Opa,

qual foi a maior sacada que você teve? Conte nos comentários.