Postmortem: Como foi desenvolver o jogo Goat To The Hills

Alguns dias atrás, eu entrei no fórum da Academia de Produção de Jogos, como faço todo dia de manhã, para olhar o que a galera tinha postado enquanto eu estava dormindo.

Entre discussões sobre Construct, game design e se jogos são ou não arte, esbarrei com o post do Leo Thurler divulgando um jogo que ele tinha criado recentemente:

goat-to-the-hills-1

Eu já tinha gostado demais do nome do jogo, mas o trailer (veja mais abaixo) definitivamente me conquistou.

Eu convidei então o Leo Thurler para contar um pouco mais sobre como foi o desenvolvimento do jogo pra galera que acompanha o Produção de Jogos.

Convite feito e prontamente aceito. Então deixo você com o excelente artigo do Leonardo Thurler, onde ele conta em detalhes como tem sido o processo de desenvolvimento do Goat To The Hills.

Com vocês, Leonardo Thurler

Fala pessoal, tudo bem?

Eu sou o Leonardo Pereira Thurler, um dos desenvolvedores do Goat to the Hills. O Raphael me convidou a fazer este artigo comentando um pouco do processo de desenvolvimento desse nosso jogo.

Acredito que este artigo será interessante para qualquer pessoa que queira conhecer um pouco melhor a área de desenvolvimento de jogos e até para aqueles que já estejam atuando nela também, pois aqui vou falar sobre como tivemos a ideia inicial e sobre como foi todo o nosso processo para fazer com que essa nossa ideia se tornasse um jogo de fato.

Sobre o Jogo

O Goat to the Hills é um jogo casual mobile em que você assume o papel de uma cabra montanhesa que está enfrentando uma invasão alienígena.

Você pode conferir mais sobre ele no vídeo abaixo, e pode realizar o download do jogo que está disponível para Android clicando aqui.

Sobre a Equipe

O Goat to the Hills é um jogo que foi desenvolvido por uma dupla, composta por mim e pela Michele Ripoll.

Nós dois possuímos perfis distintos: enquanto eu sou voltado para programação, ela é voltada para a parte artística.

Tendo em mente as nossas áreas de atuação, dividimos as tarefas de modo que pudéssemos aproveitar da melhor forma a habilidade de cada um, então nessa divisão definimos que eu ficaria responsável pela parte de game designer, programação e animações enquanto a Michele ficou responsável pela criação de toda a arte do jogo como personagem, menus e cenários.

Mesmo com as tarefas divididas, tudo era bem discutido entre nós. Ao pensar em uma nova mecânica para o jogo eu conversava com ela para decidirmos juntos se seria legal ou não implementar essa nova mecânica.

Ao mesmo tempo, quando ela criava os concept dos elementos do cenário e dos personagens ela me consultava para saber se estava ficando bom e se iríamos seguir por aquela linha, porém a palavra final era sempre da pessoa que estava responsável pela área.

Com essa divisão conseguimos fazer o trabalho fluir bem rápido e com uma qualidade muito boa.

Definindo a ideia e prototipando

Tanto eu quanto a Michele estamos cursando Pós Graduação na área de games e no período em que desenvolvemos esse jogo tínhamos que apresentar um trabalho que consistia em criar um jogo 2D no Unity.

Sendo assim, esse foi o pontapé inicial para começarmos a desenvolver este jogo, além de já ter nos dado o direcionamento sobre a engine e o tipo de game que iríamos fazer.

Como tínhamos que fazer um jogo 2D para o trabalho da pós, eu conversei com a Michele para fazermos um jogo que fosse além do trabalho do curso porque tanto eu quanto ela pretendemos focar a nossa carreira em desenvolvimento de jogos, e isso seria uma coisa boa para os dois.

Com isso em mente, começamos a pensar em como seria o jogo e definimos que o melhor caminho seria fazer um jogo casual mobile, e que tivesse uma jogabilidade divertida com uma temática cômica.

O objetivo que buscamos atingir foi desenvolver um jogo simples e rápido de ser jogado, ao mesmo tempo em que desafia e diverte o jogador.

Foi nesse momento que criei o projeto na Unity e fiz o versionamento dele através do SVN de um site chamado Assembla.

Com o projeto versionado, criei alguns protótipos para definir o estilo de gameplay para o nosso jogo e depois de testar esses protótipos resolvemos adotar o estilo que é encontrado no jogo, que envolve características de jogos de sobrevivência, infinity runners e que possuem controles bem simplificados.

Quando eu apresentei o protótipo para a Michele, que no momento era só uma caixa cinza que pulava na tela, ela curtiu bastante a jogabilidade e experiência que o protótipo proporcionava e na mesma hora pensou na história de uma cabra montanhesa enfrentando alienígenas. Assim, seguimos elaborando essa ideia até chegar na temática completa.

Com o tema definido, fizemos os primeiros esboços para testar a proporção dos objetos e personagens em tela. A imagem abaixo mostra a foto de um dos protótipos com as primeiras artes do jogo:

goat-to-the-hills-02

Neste protótipo o personagem ainda não tinha as animações e as montanhas ainda não estavam coloridas, o objetivo era apenas validar o tamanho dos elemento em relação a câmera do jogo.

Dando continuidade ao desenvolvimento

Uma vez que estávamos satisfeitos com os protótipos começamos o processo de construir a versão definitiva do jogo. Começamos conversando sobre as coisas que iríamos adicionar ao jogo.

Nesse momento definimos que o jogo teria 2 tipos de inimigos: um que iria atirar e outro que deveria encostar em você para tirar dano.

Definimos também que o jogo teria uma pontuação de acordo com o número de pulos que o jogador fosse dando no jogo.

Como a equipe era formada apenas por duas pessoas, nós não focamos em criar um GDD elaborado com as definições do jogo ao invés disso criamos um DOC no Google Drive.

Esse arquivo continha todos os pontos que precisávamos analisar e desenvolver, pontos mais visuais como criar a arte do primeiro inimigo até pontos mais abstratos como ajustar dificuldade do jogo.

goat-to-the-hills-03Além desse arquivo com as informações do que seria feito, adicionamos no Google Drive todas as referências gráficas que iríamos utilizar para criar o visual final do jogo. À medida em que terminávamos os itens, nós sinalizávamos no DOC e construíamos novos protótipos testando os novos itens. A imagem abaixo mostra um protótipo já com a pontuação e com a versão final das montanhas no game.

goat-to-the-hills-04

Após finalizar as artes, animações, implementar os inimigos, personagem e cenário, nós achamos que a arte e o gameplay estavam bem legais porém ainda estava faltando algo.

O jogador era muito passivo o objetivo dele era simplesmente fugir de tudo que aparecesse. Foi então que decidimos que o jogador poderia derrotar os inimigos, e assim o gameplay ficou bem melhor.

O jogador ficou mais ativo e isso deixou o game ainda mais divertido, mas para mantermos essa alteração no jogo precisamos replanejar a forma de pontuação do jogo e decidimos que, além da pontuação gerada a cada pulo, cada inimigo derrotado iria dar uma quantidade de pontos.

Definindo o nome do jogo

Depois de ter a jogabilidade praticamente toda pronto ficamos pensando em um nome que combinaria com o jogo e que fosse cômico de modo que pudesse transmitir a ideia do jogo.

Fizemos uma lista de palavras que acreditávamos ter alguma relação com o jogo e tentamos combinar essas palavras de forma a criar um nome agradável, mas no fim das contas os nomes gerados não ficaram tão bons.

Porém, ao comentar com um amigo sobre o jogo e ficarmos conversando sobre possíveis nome ele sugeriu o Goat to the Hills e achamos uma ideia muito boa e decidimos utilizar esse nome no game.

Criação de Menus e dos Huds

Já com o nome e a jogabilidade principal bem definida e testada, passamos para a criação dos Menus e Huds do jogo.

Iniciamos esse ponto criando um wireframe que servia para mostrar o fluxo de todas as telas do game e quais botões essas telas teriam.

Então vimos que para essa primeira versão do jogo bastava apenas 3 telas no jogo que foram: O Menu Inicial, Tela de Gameplay e Tela Créditos.

goat-to-the-hills-5-6-7

Com o Wireframe concluído a Michele começou a criar as artes para as telas e os botões que definimos no wireframe, como tinha o wireframe para se guiar, ela sabia que na tela de gameplay teria que ter um botão para pausar o jogo e sabia quais botões teriam dentro do painel de pause game e do painel de game over, por exemplo.

Dessa forma, o trabalho andou muito mais rápido do que se tivéssemos que ficar pensando nesses fluxos a medida que fossemos criando cada tela.

A medida que a Michele terminava as artes, ela colocava no Google Drive e eu tirava de lá para colocar no nosso projeto, implementando as funcionalidades e criando as animações que cada tela tinha.

Uma vez que eu terminava de implementar as animações e funcionalidades no jogo, nós testávamos e discutíamos para definir se estava legal ou se poderíamos mudar alguma coisa tanto na arte quanto na animação para melhorar o resultado final.

goat-to-the-hills-8-9

Testes e ajustes

Com as telas finalizadas e o gameplay pronto, iniciamos um processo maior de testes do jogo. Nesses testes pedimos para amigos e outras pessoas jogarem e falarem oque acharam bom e ruim no jogo, ao mesmo tempo estávamos fazendo nossos próprios testes.

Um ponto que vale ressaltar é que nos testes vimos que o jogo estava bem difícil, o personagem morria com apenas um tiro ou ao encostar no campo de força da nave alienígena apenas uma vez.

Com essa análise resolvemos colocar um HP no personagem e então criamos os desenhos do coração e adicionamos a funcionalidade do personagem ter três vidas caso tomasse um dano através da nave alienígena.

Essa alteração permitiu criarmos um sistema de combos que ao derrotar vários inimigos sem sofrer nenhum tipo de dano o jogador consegue acumular mais pontos rapidamente à medida que vai derrotando os inimigos.

goat-to-the-hills-10-11

Além desse ajuste maior fizemos outros ajustes menores como o ícone que sinaliza onde o personagem está ao sair da tela ou aumentar o tempo entre os ataques dos inimigos.

Esses outros ajustes menores foram coisas que observamos enquanto as pessoas jogavam ou que essas próprias pessoas nos falaram que seria interessante colocar.

Metagame e monetização

O metagame não foi a última coisa que pensamos, porém foi a uma das últimas coisas que implementamos no jogo.

Durante o processo de desenvolvimento nós já estávamos pensando em como poderíamos fazer os jogadores ficarem com vontade de jogar novamente e como seria a monetização do nosso jogo.

Resolvemos então colocar dois pontos básicos tanto para o metagame quanto para a monetização para essa primeira versão do jogo, os pontos que escolhemos foram achievements e ranking para o metagame e propagandas para a monetização.

No primeiro momento, pesquisei sobre qual solução de ranking e achievements eu poderia usar. Nessa pesquisa encontrei o Google Play Services e vi que ele tinha um plugin para o Unity.

Analisando o plugin, vi que ele era relativamente simples de usar e tornava a tarefa de criar um ranking entre amigos e um ranking global muito mais fácil do que se tivesse que fazer toda essa solução sem usar nenhum serviço.

Além disso, vi que ele tinha o recurso de achievements e um dos bônus. O que achei mais legal ao utilizar esse recurso é que os achievements que você cria para o seu jogo servem como experiência para o usuário no Google Play Services.

Por conta desses pontos resolvemos implementar essas características por meio do serviço deles.

goat-to-the-hills-12-13

Sobre a monetização por meio de propaganda, ficamos na dúvida sobre dois serviços bem famosos que foram o Unity Ads e o Admob.

Após diversas pesquisa sobre o funcionamento de cada uma delas resolvemos seguir com o Admob pelo fato de que ele proporciona mais opções de propaganda.

No Unity Ads o único tipo de propaganda que você pode utilizar é o Interestial (propagandas de tela cheia) com vídeo. Já o Admob te dá essa opção mas também permite o uso de banners menores no jogo.

Além do ponto sobre os tipos de propaganda nas pesquisas percebi que o Admob fornece um relatório mais detalhado sobre as propagandas e um melhor controle para direcionar as propagandas para o usuário do seu jogo, ele consegue analisar o perfil do usuário e exibir uma propaganda de acordo com o perfil do próprio jogador e isso aumenta as chances da sua propaganda ter um resultado melhor.

Músicas e efeitos sonoros

Como nem eu e nem a Michele somos músicos ou entendemos bem de edição de áudio, resolvemos que iríamos utilizar sons gratuitos que podemos encontrar na internet.

Pesquisamos sons e músicas em vários sites e acabamos encontrando dois site que continham conteúdos bem legais que são o www.playonloop.com que possui musicas e o www.noiseforfun.com que possui efeitos sonoros.

Tanto eu quanto a Michele separamos várias músicas e sons desses sites no nosso google drive e depois decidimos juntos quais iríamos utilizar no jogo. A única coisa que esses sites pedem em troca é que o jogo dê os devidos créditos a eles, sendo assim colocamos essas informações na tela de créditos do jogo.

Intro do jogo e divulgação

Nessa etapa já poderíamos considerar o jogo pronto, mas como queríamos que o jogo fosse bem carismático e cômico resolvemos criar uma introdução bem simples para mostrar do que se trata o jogo.

Então, criamos um storyboard contendo as cenas que essa animação deveria conter e no final o resultado do jogo com essa intro ficou muito melhor, o retorno dos jogadores em relação a isso foi bem positivo.

goat-to-the-hills-14-15

Sobre a divulgação do jogo, eu diria que é um ponto que ainda estamos trabalhando pois deixamos pra pensar melhor nisso ao término do jogo.

Nós fizemos um trailer de apresentação do jogo que ficou bem legal e teve um resultado melhor até do que esperávamos, porém ainda assim não conseguimos elaborar uma boa forma de divulgar o jogo para um público maior e esse tem sido um ponto de bastante atenção e que estamos trabalhando para melhorar.

Dificuldades

Ao ler o texto e perceber que o jogo foi feito em apenas 1 mês e trabalhando somente nas horas vagas pode parecer que foi um projeto fácil e sem muita dificuldade para ser realizado.

Porém, por mais que tenha sido rápido, definitivamente não foi algo simples de se concluir. A programação foi ajustada algumas vezes para corrigir bugs, ter uma performance melhor, deixar os parâmetros de desafios mais flexíveis para que seja possível testar e ajustar esses desafios de forma mais simplificada.

Já a arte também precisou ser ajustada e refinada algumas vezes para que esse resultado final seja algo bem polido, harmônico e agradável de se ver.

Nós trabalhávamos nas horas vagas devido ao fato de que tanto eu e a Michele precisamos trabalhar para nos sustentar.

Nós dois temos um trabalho fixo que ocupa a maior parte do nosso tempo durante a semana, e para conseguir atingir o nosso objetivo de finalizar o jogo houve momentos em que dedicamos o final de semana inteiro para trabalhar nele, iniciando na parte da manhã e só parando a noite isso tanto no sábado quanto no domingo.

Então por mais que o jogo tenha sido concluído em um tempo relativamente pequeno, nós dois precisamos fazer alguns sacrifícios e escolhas para alcançar esse resultado.

Planos Futuros

Como o jogo foi feito no Unity pretendemos lançá-lo para iOS também, já que a engine permite que façamos a exportação para ele, mas para isso precisamos conseguir os recursos necessários para nos permitir compilar e testar o jogo nessa plataforma.

Além disso a versão do jogo que está disponível atualmente é apenas uma parte de todas as ideias que temos para o jogo.

Ainda pretendemos lançar novos conteúdos, skins, cenários e modos de jogos em um futuro bem próximo, e também queremos adicionar a opção de compras no aplicativo de forma a melhorar a monetização do nosso jogo.

Mas, estamos pensando bem em como será isso, pois não queremos que se torne uma experiência ruim para o jogador.

Conclusão

No final do projeto nós ficamos muito satisfeitos com o resultado que conseguimos atingir juntos em tão pouco tempo.

Acreditamos que o jogo tenha ficado bem legal e pelo retorno que tivemos dos jogadores também acreditamos que conseguimos atingir o objetivo de divertir e desafiar as pessoas ao mesmo tempo.

A Michele e eu já nos conhecíamos, mas esse foi o primeiro jogo que desenvolvemos somente nós dois. Gostamos muito da nossa organização e de como o nosso trabalho em equipe andou, e sendo assim decidimos que vamos seguir fazendo jogos juntos e continuar a melhorar este jogo.

Conseguimos identificar pontos que erramos durante o desenvolvimento desse jogo e que estamos pensando em como podemos melhorar para não cometer esses mesmos erros novamente em projetos futuros.

A primeira dica que podemos dar a novas equipes é: saibam se organizar. É muito importante saber o que é possível vocês produzirem juntos dentro de um tempo limitado, sempre que possível trabalhem com prazos para terminar as tarefas e tentem sempre simplificar o jogo de vocês e adicionar as funcionalidades a medida que vocês forem terminando de adicionar as funcionalidades que consideram mais importantes para o jogo.

Não adianta você fazer um rank de pontuação se o seu jogo não está divertido a ponto das pessoas sentirem vontade jogar ele.

Uma outra dica é: utilizem os aplicativos de comunicação e organização a favor da equipe de vocês. Vale muito a pena usar o Google Drive, o Slack, o Whatsapp, o Assembla, o Trello ou outros programas que permitem vocês a organizarem arquivos, definirem tarefas e se comunicarem melhor. O uso correto dessas coisas vai permitir ou não a finalização do jogo de vocês.

E uma dica última dica, mas não menos importante, é que fazer jogo não é algo simples.Então estejam cientes de que vocês terão que fazer sacrifícios e estudar bastante para conseguirem se especializar e conseguir fazer jogos com uma boa qualidade.

E por mais que seja difícil, não é algo impossível, então com tempo e dedicação é possível ir melhorando e finalmente chegar lá.

Espero que tenham gostado do artigo, e que de alguma forma ele tenha sido útil para vocês.

Por fim gostaria de agradecer o convite e o espaço que o Raphael cedeu para o nosso jogo aqui no Produção de Jogos.

Caso vocês tenham alguma dúvida ou queiram falar diretamente com a equipe, vou deixar os nossos contatos aqui embaixo:

Leonardo Thurler (Facebook, Site)

Michele Ripoll (Facebook)

Siga também a fanpage do facebook do nosso jogo aqui.

Obrigado e abraços!

  • Thiago de Melo

    Muito legal o jogo, parabéns aos envolvidos!!! 😀

  • Gilson de Freitas

    Perfeito, parabéns

  • Anderson Fernandes do Vale

    Só que desenvolve jogos sabe a complexidade escondida nos detalhes, balanceamento e game play. Estou trabalhando em um game que pretendo lançar na Steam, e a maior parte do tempo testo e verifico bugs, estudo os gráficos e vou montando as mecânicas, tudo isso nas horas vagas e fins de semana. Parabéns pelo projeto

    • Verdade cara ajustar o gameplay, balanceamento, corrigir bugs e polir o jogo as vezes leva até mais tempo do que todo o resto do processo. E depois que tiver novidades do seu jogo mostra pra gente cara 😀

  • Tonn Alvarenga

    Adorei o post!!! Salvo nos favoritos…com certeza vou querer ler mais de uma vez. Abraços.

    • Opa que bom que gostou cara fico feliz em saber que de alguma forma o artigo foi útil para você 😀

  • Fred Oliveira

    Hoje pude ler este postmortem, bem legal. Joguei um pouco e gostei bastante do jogo, meu filho adorou, ficamos disputando quem fazia mais pontos “ele me venceu, kkkk” faz parte.

    Bem legal toda a trajetória do jogo até o seu lançamento, pensar que foi apenas 2 pessoas, parabéns. O jogo é bem promisso e continuem a melhorar ele.

    • Opa valeu @disqus_PVvMipGAVP:disqus fico feliz em saber que você e seu filho gostaram do jogo, é bem legal ver as pessoas disputando nele :D. Abraços ai