quarta-feira, 25 de janeiro de 2017

[Dev] Making-of: miniboss fase 2

Miniboss: Beetle Jockey
Para o miniboss dos Calabouços queríamos algo diferente da Caverna de Cristal. Lá você tem de enfrentar cara-a-cara um verme gigante, mas neste caso decidimos que seria bacana se, ao invés disso, você apenas tivesse que sobreviver (e correr por sua vida). Um monstro gigante e mal-encarado seria perfeito para o trabalho, do tipo que você evitaria a todo custo se pudesse. Primeiramente pensamos em um tipo de centopéia, ou aranha (descartamos, já que meu marido odeia aranhas haha), algo mais insetóide. Então lembramos de um inimigo tímido que nunca mostrou sua cara e sempre atacava das sombras:

Sempre imaginei que fosse um besouro, mas nunca desenhei o corpo todo. Fiz alguns testes mas vi que se usasse as mesmas proporções ele seria um miniboss pequeno e queríamos algo bem grande. Enfim concordamos que não seria a mesma criatura das sombras, mas sim um outro maior, um "mestre". Justo.
Porém uma linha reta aonde você apenas foge do miniboss gigante não seria divertido o bastante, mesmo com inimigos e obstáculos para te atrapalhar. Deveria haver algo mais. Então pensamos que seria legal se o besouro tivesse um cavaleiro que pudesse atacar à distância de algum modo. Porquê não um jacaré? Um diferente, claro. Desta vez rabisquei as idéias antes de trabalhar nos modelos, o que resultou em personagens mais divertidos.
img1

img2


Transformar algo em arte 8 bits não é fácil. Claro, para o besouro gigante foi mais simples já que eu tinha bastante espaço para trabalhar (o tamanho original é de 320x144 pixels), mas o cavaleiro já era outra história. Eu tinha que fazê-lo caber em uma grade de 48x48 pixels mesmo com suas animações de forma que ele nunca encostasse no teto da sala, isso incluindo os movimentos de sobe-e-desce do próprio besouro. Ele só tinha 2 animações: ocioso, aonde ele apenas ficava rodando as esferas de metal, e a de ataque. Ambas não podiam exceder a grade de jeito nenhum. No final deu tudo certo e o personagem ainda ficou bastante parecido com o rascunho original no papel.


A animação de ataque possui 12 frames, a ociosa apenas 6. Precisei me prender a estes números porque o ciclo de caminhada do besouro tinha 12 frames (e animei ele primeiro), o cavaleiro precisava seguir este mesmo número. Antes de tudo a idéia era que o besouro fosse tão grande que ele ficava na FRENTE do tileset (do mapa em si), mas decidimos fazê-lo caber direitinho na fase para que não parecesse que ele era apenas um pedaço de papel deslizando para cima do jogador.




Animar o besouro foi um grande desafio, mesmo eu tendo planejado-o de forma a ser mais simples do que o miniboss anterior. Foi quando fiz uma descoberta: não existe animação simples para personagens deste tamanho. Todas as pernas, a cabeça e o corpo são separados, até as pernas possuem duas partes. Mesmo as patas não tendo pés como num besouro real (decidi assim para facilitar a animação), foi bastante trabalhoso fazer os movimentos quadro-a-quadro e ainda assim manter o formato de cada pata. Isso poderia ter sido dezenas de vezes mais fácil se eu tivesse usado o sistema de Bones, mas num projeto 8-bit de pixels reais, não há um atalho como este. Rotacionar qualquer coisa em pixel art deixa tudo quebradiço, sem choro. O ciclo de caminhada no final ficou com 12 frames como disse anteriormente. Não existe um tutorial de como animar uma criatura com 6 pernas, mas me baseei neste guia para insetos de 8 pernas que vi em The Animator Survival Kit (obrigada, Richard Williams): https://www.youtube.com/watch?v=GtHzpX0FCFY


O último desafio era encaixar estes dois personagens em um só movimento. No começo era para cada um ser uma entidade separada mas que se moviam juntos, já que no final o cavaleiro batia em uma parede com espinhos e caía. No entanto seria bastante trabalhoso simular as subidas e descidas do corpo do besouro na animação do cavaleiro e sincronizar perfeitamente, mas poderia ser feito. Mas há algo que aprendi no desenvolvimento de jogos que tenho levado bastante a sério: se você pode simplificar algo, então faça isso. O ciclo de caminhada do besouro tinha 12 frames, fiz com que a animação do cavaleiro ocioso tivesse 6, a de ataque 12, e fundi em uma única animação. Fiz dois ciclos de caminhada, aonde repeti o ciclo ocioso do cavaleiro 2 vezes e no segundo ciclo inseri a animação do ataque. No final, quando o cavaleiro cai, fiz com que a animação ociosa do besouro tivesse a mesma altura da animação de caminhada (como se o cavaleiro ainda estivesse lá). Ficou perfeito.


Finalmente abaixo há um pequeno trecho da jogabilidade (apenas uma espiada):



Na verdade o besouro nem quer te perseguir. Assim que o cavaleiro cai, a porta abre e você está livre para ir ao seu próximo (e último) desafio antes do chefe.


Apenas esqueci de mencionar, mas talvez você já tenha imaginado: encostar no besouro é morte instantânea. Cuidado!
Isso é tudo para o miniboss da fase 2! Ufa, foi um trabalho e tanto, mas com certeza valeu a pena. Se você tiver alguma dúvida, sinta-se livre para perguntar.

Avante, ninjas!