Olá a todos, espero que estejam tendo um ótimo dia.
Se você visitar a página principal aqui da Red Duck Games (RDG), irá encontrar mais uma novidade: agora, na seção de jogos casuais, temos o segundo jogo produzido, o Ski Duck.
Na postagem de hoje quero contar como foi produzir o Ski Duck.

Produzir este jogo foi uma experiência incrível, diferente de tudo o que já tinha feito aqui mesmo na RDG. Fiquei extremamente satisfeito com o resultado final; consegui entregar um produto que jamais teria capacidade de fazer na unha no prazo de um mês.
Ski Duck, para os mais jovens, é uma releitura do clássico SkiFree, lançado em 1991 para Windows 3.1 — um joguinho extremamente simples, porém muito divertido.

Assim como no original, em Ski Duck você precisa descer uma montanha de gelo. Porém, aqui o jogo foi modernizado e adaptado para as tecnologias atuais. Por se tratar de um jogo de web, ele foi cuidadosamente elaborado para ser controlado no touchscreen dos dispositivos mobile; contudo, por funcionar em qualquer navegador (incluindo o do desktop/PC), ele teve um cuidado especial para esta versão.

Caso você tente jogar no desktop, irá encontrar uma arte de fundo que existe apenas para grandes telas 16:9. Para preservar a experiência vertical, o jogo fica dentro do canvas numa proporção de tablet.
Essa mesma ideia foi utilizada anteriormente no Jogo Sobe Balão. Particulamente, eu gosto muito porque os jogos aqui da RDG são feitos com prioridade no mobile, mas sabemos que tem gente que joga no desktop. Pensando nessas pessoas que não estão no celular, o jogo é cuidadosamente ajustado e adaptado para isso.
Voltando ao jogo, como mencionado no primeiro parágrafo, Red precisa descer a montanha. Durante essa descida, terá que lidar com todos os tipos de obstáculos pela frente para testar seus reflexos e coordenação motora.
Durante a fase de prototipagem, o jogo foi testado e "debugado" como se não houvesse amanhã; gastei aproximadamente uma semana somente nesta etapa. A prioridade nesta fase é acertar a estrutura de como o jogo vai funcionar; é exatamente aqui onde arrumo e verifico todo o comportamento, e de que forma as coisas vão acontecer.

Tudo aqui é testado e corrigido: a forma como o usuário vai controlar, a velocidade da descida, a mecânica, as regras, os ajustes... A cada teste, sempre descubro um problema novo; dificilmente você vai criar algo que funcione logo de primeira.
A vantagem de trabalhar por camadas é que ela permite você estruturar uma base sólida do começo ao fim. Foi desta maneira que projetei o Ski Duck com calma em todos os seus 15 níveis diferentes.

A imagem acima entrega minha idade: quem cresceu nos anos 80/90 e frequentava fliperamas, ou teve um SEGA Master System ou Mega Drive, conhece muito bem. Ela vem do jogo OutRun, um jogo que aparenta ser de "corrida", porém a proposta trata de dirigir uma Ferrari Testarossa Spider por cenários e paisagens paradisíacas.
No jogo da SEGA, você não corre contra adversários precisando alcançar a primeira posição. Apesar de ter um rival na partida, seu adversário real é o tempo, que sempre se renova ao chegar nos checkpoints.

Essas foram as ideias e elementos que juntei e que me serviram de inspiração para o Ski Duck. Na minha cabeça, fez total sentido criar as bifurcações estilo OutRun para cada um dos levels. Porém, como estou trabalhando num game do tipo "casual", retirei o desafio de tempo que encontramos num Arcade de 1986. A experiência do jogo por si só já pode ser considerada curta: apenas 6 minutos são o suficiente para descer toda a montanha e chegar a um dos finais.

E é aí que a ideia das bifurcações entra como fator de replay: 30 minutos é o tempo médio que um aventureiro vai precisar para fazer todos os finais do jogo.
Porém, o jogo não acaba apenas em um dos finais da montanha. O jogador é recompensado com itens e upgrades que irão tornar a próxima experiência ainda mais agradável. Na primeira descida, o jogo pode parecer difícil e desafiador; porém, cada um dos finais libera um item que irá auxiliar e servir de assistência para que o jogador possa cumprir as tarefas restantes com mais facilidade.
Falando um pouco sobre os desafios: em algumas fases, o jogo requer que você passe por 10 bandeiras de Slalom antes de chegar ao final; em outras, você precisa fugir de uma avalanche; na outra, fazer o máximo de pontos que puder; em outra, a menor quantidade de tombos possível; em outra, seguir um percurso fechado; em algumas, você tem mais liberdade para descer; nas outras, fica restrito a uma infinidade de obstáculos que requerem menos velocidade e mais cuidado nos controles.
Trabalhar com elementos-base em fase de protótipo foi fundamental. A maneira como me comuniquei com o Codex evoluiu consideravelmente, permitindo testar e botar em prática tudo o que queria com este jogo — algo que seria praticamente impossível de ser realizado no hardcode.
A partir do momento em que o jogo já estava bem estruturado (com começo, meio e fim, variações de fases, a forma como entra e sai delas e diversos outros detalhes acertados), chegou a hora da roupagem do jogo.
A princípio, comecei fazendo os sprites no Aseprite, uma ferramenta que utilizava bastante no passado sempre que precisava fazer sprites (sejam eles animados ou apenas tilesets para cenários). É uma ótima ferramenta voltada para pixel art, recomendo bastante.

Os testes foram bem-sucedidos numa gameplay, porém notei que precisava de mais sprites para deixar um pouco mais suave a movimentação e a alternância das poses. Poderia fazê-los perfeitamente na mão, como fiz com as seis imagens acima, porém iria consumir bastante tempo. Foi aí que pensei em testar e otimizar os sprites que estava usando de base, que o próprio GPT estava fazendo para mim.
No começo, confesso que fiquei um pouco relutante com esta ideia, porque não queria inserir elementos gerados por IA além da programação; pretendia deixar apenas a IA fazer todo o código, mas os sprites seriam manuais. Mas como o escopo do projeto cresceu bastante e vi que o tempo que gastei apenas com 6 sprites foi de um dia inteiro de trabalho, resolvi arriscar.
Um dos principais motivos da minha resistência era justamente o fato de que as imagens do GPT, apesar de muito boas, tinham detalhes que poderiam se perder num sprite de 64x64 pixels. Porém, ao testar, vi que, justamente por trabalhar com imagens otimizadas para jogos de web em baixa resolução, o que era um problema se tornou uma solução.

Claro que tive um trabalho manual por cima dessas imagens. O GPT, apesar de eu pedir no prompt que queria sprites de 64x64 pixels, sempre me dava uma imagem em Full HD com "sabor" pixel art. Mas, por ter habilidades de Photoshop, edição de imagem e entender bem os princípios de animação, todos os problemas foram corrigidos e ajustados para o jogo, resultando em sprites definitivamente mais interessantes do que os que eu estava fazendo anteriormente.
O que foi de fato uma maravilha, porque foi necessário gerar e editar sprites para todo o restante do jogo. Desta maneira, o GPT se tornou um aliado poderosíssimo na criação dessas imagens; por estar devidamente contextualizado do começo ao fim sobre onde eu queria chegar, foram poucos os ajustes necessários.
Alguns outros sprites que precisaram ganhar vida com alguns frames de animação tiveram que ser trabalhados manualmente. Mesmo com a IA fazendo um ótimo trabalho, ela ainda erra bastante (ao menos comigo) quando se trata de quadros de animação em pixel art.

Caso não tenha jogado ainda, ao colidir com um pinheiro cheio de neve, você vai notar que a neve cai da árvore. Esse foi um dos trabalhos de animação manual que não deu tanto trabalho quanto pensei que fosse dar. Felizmente, tenho alguns truques na manga que permitiram fazer isso de forma rápida para implementar no jogo.
Porém, em alguns outros casos, eu deixei com o GPT a criação dos frames animados. E sim, notei alguns problemas de animação, porém deixei passar batido. Afinal de contas, são apenas 2 frames, e são problemas que só eu, que estou nos bastidores, posso notar. Durante a descida, as coisas acontecem tão depressa que não há a menor necessidade de corrigir detalhes minuciosos que só quem trabalhou viu. De fato, nem era um problema grave: a animação que preciso funciona, já cria a vida que preciso. É praticamente fazer tempestade em copo d'água; por isso, achei melhor abstrair e seguir em frente.
E assim foi a produção e o desenvolvimento do jogo Ski Duck, algo que há 10 anos jamais seria possível criar sozinho no prazo de um mês. Modéstia à parte, o jogo está muito divertido. Sempre que jogo, tenho um momento de paz durante os 6 minutos que fazem minha mente ficar concentrada na descida e se desligar de qualquer problema e preocupação da vida pessoal. Espero de coração que sintam essa mesma mistura de diversão e paz momentânea enquanto enfrentam os desafios mais malucos que pude criar da melhor forma possível.
Não é porque o jogo foi criado com inteligência artificial que foi feito de qualquer jeito. Houve todo um planejamento, criação de escopo, implementação de ideias, diversos ajustes manuais, otimização de gráficos e códigos — tudo isso para entregar uma experiência leve e divertida para que qualquer dispositivo possa rodar sem problemas.
Com isso, entrego para meus visitantes o segundo jogo da categoria "Casual / Arcade" na página da RDG. Já tenho em mente qual vai ser o terceiro jogo casual que pretendo criar para fazer a tríade, antes de retomar os jogos educativos.
A única pista que vou deixar por enquanto é que se trata de um jogo do tipo Quiz ou adivinhação para todas as idades.
Obrigado por ler até aqui. Espero que gostem do jogo assim como eu gostei de produzir. Que Deus abençoe a todos e nos vemos na próxima.
Fernando Bernardo.

0 Comentários