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

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.

Comentários Finais (por Raphael Dias)

Opa, voltei aqui para fazer uns comentários finais e te perguntar uma coisa!

Antes de te deixar com a pergunta (que você pode responder nos comentários abaixo), deixa eu te explicar melhor o que é a Academia de Produção de Jogos e de onde surgiram as nossas maratonas de desenvolvimento.

A Academia de Produção de Jogos é um programa online baseado em 3 alicerces fundamentais: Conhecimento (aulas em vídeo, ebooks, templates), Inspiração(entrevistas e palestras) e Comunidade (fórum exclusivo). Eu acredito que é a combinação desses 3 elementos que fazem o aprendizado ser mais dinâmico, autônomo e eficaz.

Conforme a Academia PDJ foi evoluindo e novos membros aderiram, eu percebi que era necessário também ter um “evento” que estimulasse a galera a colocar a mão na massa. É muito legal ficar estudando e planejando, mas tem horas que a gente precisa dar uma sacudida e nos colocar em movimento.

Esses “eventos” são as nossas maratonas online de desenvolvimento (exclusivas para membros). Até o momento nós já fizemos em 2 formatos diferentes: Maratona de 10 dias (para fazer networking com outros membros e se divertir um pouco) e Maratona de 12 semanas (para realmente meter a mão na massa e criar um projeto com potencial).

Eu sei que muita gente não conseguiu entrar na última turma (ficamos apenas 4 dias com matrículas abertas até as vagas acabarem), então se você é uma das pessoas que quer se matricular na Academia de Produção de Jogos mas ainda não conseguiu uma vaga, entre através deste link na nossa lista de espera (atualmente com mais de 300 pessoas).

Agora, eu queria te perguntar uma coisa:

O que você mais gostou do jogo Fantasy Galaxy? Quais seriam suas sugestões de melhorias para o jogo?

Responda abaixo nos comentários, por favor! A equipe que desenvolveu o jogo estará acompanhando e esta é uma excelente maneira deles saberem se o jogo desenvolvido interessou os jogadores e o que fazer para melhorá-lo.

E se você curtiu o jogo, não deixe de votar nele (e em quais mais você gostar) aqui nesta página especial.

Fico esperando então o seu comentário abaixo e até a próxima!

  • Renato Ozeki

    Fala, galera.
    Queria agradecer à toda comunidade da Academia de Produção de Jogos (equipe e colegas) pela ajuda no processo de criação do Fantasy Galaxy!
    É incrível que mesmo com a correria da maratona a comunidade ainda se disponha a fazer sugestões de game design, testar o beta, reportar os bugs encontrados e ainda ajude na motivação.
    E para quem tem a vontade de criar jogos, minha sugestão é que se arrisquem a dar o primeiro passo e encarar o desafio. Não se intimidem por não ter experiência, ou pouco tempo. E o mais importante, terminem o projeto, senão corremos o risco de começar diversos protótipos e nunca avançar.
    Se desafiem, acreditem, e não desistam!
    E boa sorte!

  • Fred Oliveira

    Tem um bug onde é apertado o pause, o jogo não sai mais do pause.
    Parece que a condição de entrar no pause e sair está em looping.

    Deixe uma opção para acelerar os textos, também pular o tutorial.
    Quando terminou o tutorial, a música não terminou, na próxima tela rodou 2 músicas juntas.

    Quando morri na primeira fase, a manete começou a tremer, apareceu a tela select scream, onde sem querer acabei entrando no modo história a manete continuou tremendo em looping.
    Na tela dos créditos, não tem botão na manete para retornar para o menu anterior.
    Claro que bugs sempre acontecem e é natural, ainda mais quando levamos o desenvolvimento sozinhos.

    O jogo está bem interessante, controles respondem bem, suporte a controles, bons efeitos sonoros e música cativante, recomendo que continue desenvolvendo ele, “quem sabe uma versão steam para o ano que vem”, o mercado está carente de bons jogos de nave em pixel arte, é bem animador saber que sendo o seu primeiro projeto, ele contém tantos elementos interessantes, ainda mais que fez tudo sozinho.

    Nesta parte da fase 1 http://puu.sh/sHSMx/addf24a818.png
    É necessário ter uma precisão cirúrgica para passar, recomendo que modifique.

    Outra coisa que eu notei, foi a ausência de controles de teclado, recomendo que adapte o seu jogo, pois muita gente não tem o controle, caso abram e não conseguirem fazer nada, o jogo será fechado sem mesmo a pessoa conhecer o jogo.

    • Renato Ozeki

      Olá, Fred.
      Obrigado pelo feedback do jogo.
      Vou dar uma conferidinha eu tudo que você falou.
      Realmente algumas coisas eu queria ter modificado, e infelizmente não deu tempo de fazer um debbug maior e testar após compilar o projeto (e ai surgiram bugs estranhos como este do pause e um do teclado não funcionar caso o controle esteja ligado), mas no momento estou aguardando terminar as votações da Maratona, pois acredito que qualquer mudança que eu faço no jogo agora estarei sendo injusto com a competição (até porque um dos fatores de dificuldade era o limite do tempo). Após a maratona vou terminar este projeto com as features que citei, e quem sabe dar um polimento maior e suporte a inglês para tentar o greenlight do steam,

      • Fred Oliveira

        Neste caso, pode ir modificando o jogo sem atualizar no site.
        Resolvendo alguns bugs mais fáceis por exemplo.

  • Anderson Fernandes do Vale

    A familia de game developers sempre crescendo no Brasil, onde tudo é mais DIFÍCIL. Temos um grande trabalho à frente e vamos vencer. Desenvolvimento de games será visto como coisa séria!

  • Diego R. Santos

    parabéns cara, me motivou mais 🙂