gamedeveloper

Postmortem: Deathfense

Postmortem: Deathfense

Faz um bom tempo que não publico um postmortem de um leitor aqui no blog, e desta vez é o jogo Deathfense feito pelo Lucas Meneses durante o 365 Indies Jam 2017. O texto abaixo foi postado no blog dele chamado Game Indie Developer. Leiam também os outros postmortems postados aqui no blog.


Descrição

Deathfense é um jogo 2D para browser do gênero tower defense, onde o jogador assume o controle da Morte que deve impedir que hordas de almas fujam do submundo. O jogo consiste em uma única fase contendo 6 hordas, cada horda possuindo uma quantidade definida de almas a serem ceifadas e cada alma uma determinada quantia de hit points. Para ceifar as almas o jogador conta com três opções, o Ataque Automático que tira apenas 1 hit point, o Ataque Forte que tirar 3 hit points, porém é necessário esperar um timer de 10 segundos e por ultimo, mas não menos importante, o Especial que ceifa todas as almas que estiverem em volta da Morte, mas também é preciso esperar um timer, nesse caso de 60 segundos.

O jogo foi desenvolvido entre os dias 15 e 25 de setembro para a 365 Indies Jam 2017 que teve como tema a frase “A morte é útil”. Ficando no rank 22 de 101 jogos onde foram avaliados jogabilidade, acabamento e fidelidade ao tema. A engine utilizada no projeto foi o Contruct 2, tendo como principal critério de escolha a facilidade e rapidez que ela oferece. A equipe foi composta por 4 integrantes, sendo eles os irmãos Gabriel e Augusto Santana que fizeram a arte e animação, Bettina Calmon que fez a musica tema e, por fim, eu, Lucas Meneses, que fiquei com o game design e a programação.

Para conferir o jogo CLIQUE AQUI.

Pontos negativos

Movimentação

Esse foi um ponto negativo que acabou se tornando positivo. Mas mesmo assim achei que seria interessante compartilha-lo com vocês. A ideia inicial era fazer a movimentação usando as setas do teclado com o behavior 8 Moviments. O vídeo abaixo mostra como ficou o primeiro protótipo.

(Arte do personagem usada apenas para o protótipo)

Logo percebi que a movimentação com as setas tornava o jogo um pouco lento e esse não era o objetivo. Fiz alguns testes aumentando a velocidade do personagem, mas mesmo assim sentia o gameplay travado. Fiquei uns dois dias pensando em como resolver esse problema até que me veio a ideia de usar o mouse como input invés do teclado o que deixaria o jogo mais rápido e ágil. A solução que encontrei para fazer isso foi utilizar o behavior de movimento Pathfinding, que geralmente é usado para fazer AI de inimigos que perseguem o jogador, só que no caso usei o clique do mouse como alvo para a trajetória do personagem. O resultado foi bem satisfatório e eu acredito que deixou o gameplay mais divertido.

Balanceamento

Foram vários os motivos que fizeram o jogo não ter um polimento melhor no quesito balanceamento. O principal deles foi o fato de ter sido ‘gasto’ mais tempo do que o esperado com a programação, mais especificamente corrigindo os vários bugs que foram aparecendo. O que acarretou em um gameplay que transita do fácil para o difícil de uma forma muita brusca, podendo até mesmo frustrar o jogador.

Hordas

O sistema de hordas foi feito usando algumas variáveis que fazem a contagem de almas ceifadas.

A horda 1 possui 10 almas, logo ela termina e a horda 2 começa quando o placar de almas ceifadas for igual a 10. A horda 2 possui 20 almas e tem o termino quando o placar for igual a 30, porque são somadas as 10 almas da horda anterior. E assim segue até a ultima horda. O problema estava ocorrendo na horda 5, quando o placar deveria marca 200 almas, mas, por algum motivo que não sei explicar, sempre faltava uma alma fechando o placar em 199 almas. Esse resultado impedia o progresso do jogo, já que a quantidade de almas é o gatilho que aciona as hordas. A única forma que encontrei de driblar o problema foi alterando a quantidade de almas na horda 5 para 190. O bug não foi totalmente resolvido, mas pelo menos assim o jogo funciona.

Limitações da Engine

Sem sombra de duvidas, esse foi o ponto que mais trouxe dificuldade e retrabalho ao projeto. Fazer um jogo usando apenas os 100 eventos da versão free do Construct 2 é no mínimo de se admirar. O termo Keep It Simple, Stupid nunca fez tanto sentido para mim. Tudo tinha que ser bem pensando, feito da forma mais eficiente possível para economizar os tão preciosos eventos. A ideia era fazer no mínimo 15 hordas e um boss no final, mas o máximo que consegui foram 6 hordas sem o boss. Muitas coisas tiveram que ser cortadas e as que ficaram foram alteradas para se encaixarem nas limitações impostas pela engine.

Bug na Musica

Esse foi um erro que só percebi depois do lançamento do jogo, quando o Gabriel reclamou que a musica não estava tocando no Google Chrome e como eu uso o Vivaldi não notei esse bug. Pesquisando um pouco e conversando com algumas pessoas descobrir que o possível motivo desse problema está relacionado com o formato do arquivo de áudio, que no caso é o OGG.

Pontos Positivos

Experiencia

É incrível a quantidade de conhecimento que é possível adquirir em uma game jam, ainda mais se você for um aspirante a desenvolvedor de jogos assim como eu. O tempo limitado te faz buscar soluções criativas que, talvez, não seriam possíveis em uma situação onde os prazos não fosse um problema.

Trabalho em equipe

Foi muito divertido e gratificante trabalhar ao lado de pessoas tão talentosas, que sem elas esse projeto não seria realidade. A comunicação entre os membros aconteceu de forma bem fácil, o que tornou o desenvolvimento mais assertivo e com menos erros.

Realização

Ver o meu primeiro jogo publicado em uma game jam foi algo que mexeu comigo. Há mais de 2 anos venho pesquisando sobre game design, engines, metodologias, entre outras coisas, só que nunca tinha finalizado um projeto. Foram raras as ideias que viraram um protótipo, as vezes não saiam nem dos esboços inicias. Mas após concluir esse jogo me sinto muito mais confiante em prosseguir na carreira de desenvolvedor de jogos. Esse foi apenas o primeiro passo de muitos que ainda viram.