Berserk Boy é um exemplo claro de como o motor GameMaker Studio pode extrair o máximo do pixel art moderno, prestando homenagem à era de 16 e 32 bits com títulos como Mega Man X e Sonic. Seu estilo visual se destaca por cores altamente saturadas e animações extremamente rápidas, acompanhadas de efeitos de rastro de movimento que lembram os clássicos de ação. Neste artigo, analisaremos as técnicas de desenvolvimento que permitem alcançar esse resultado, desde a criação de sprites no Aseprite até a otimização do desempenho em tempo real dentro do GameMaker. 🎮
Otimização de sprites e rastros de movimento no Aseprite e GameMaker 🚀
Para conseguir essa sensação de fluidez e velocidade, a equipe de Berserk Boy recorre a uma paleta de cores saturadas, porém limitada, o que reduz o peso dos sprites e facilita a renderização no GameMaker. No Aseprite, trabalha-se com quadros-chave que são posteriormente interpolados manualmente, criando animações de 12 a 15 quadros por segundo, mas com um timing muito ajustado para que o olho humano perceba continuidade. O efeito de rastro é obtido por meio de sprites de cauda de movimento (trail sprites) que são desenhados como superfícies temporárias com opacidade decrescente. No GameMaker, isso é implementado usando a função draw_sprite_ext com um alpha que é reduzido a cada step, e as posições anteriores do personagem são armazenadas em uma fila (ds_queue). Para manter o desempenho, o comprimento da fila é limitado a 8 ou 10 entradas e evita-se o uso de superfícies de alta resolução. Além disso, recomenda-se usar o modo de mesclagem bm_add para os rastros, pois ele intensifica as cores sem saturar o buffer de tela.
Lições dos anos 90 para o desenvolvimento moderno 💡
Berserk Boy demonstra que o pixel art não é apenas nostalgia, mas uma escolha técnica inteligente. Ao limitar a paleta e usar sprites pequenos (tamanho de tile de 16x16 pixels), reduz-se a carga da GPU e permite-se que o GameMaker processe múltiplos inimigos e partículas sem quedas de quadros. A referência a Sonic e Mega Man X não é por acaso: ambos os títulos usavam cores vibrantes para guiar o jogador visualmente, e Berserk Boy aplica esse mesmo princípio com efeitos de saturação controlada. Para os desenvolvedores independentes, a chave está em priorizar a clareza visual sobre a complexidade gráfica e em usar ferramentas como o Aseprite para criar sprites modulares que sejam reutilizados em diferentes animações. Assim, alcança-se um estilo rápido, limpo e funcional, ideal para jogos de ação em 2D.
Como desenvolvedor indie, quais técnicas de pixel art e animação rápida você implementou em Berserk Boy com GameMaker Studio para alcançar um combate tão fluido sem sacrificar a estética retrô?
(PS: shaders são como maionese: se talharem, começa tudo de novo)