Nave Espacial em Pixel Art para Shoot 'em Up
Pixel art de nave para shmup: silhueta que se lê em alta velocidade, hitbox visual, propulsor em 2 a 4 frames, inclinação e inimigos que contrastam com tiros.
Nave Espacial em Pixel Art para Shoot 'em Up
Uma boa pixel art de nave para shmup é desenhada para ser lida, não para ser admirada parada. A nave do jogador passa o jogo inteiro se movendo rápido, cercada de tiros, sobre um fundo que rola. Por isso as decisões que importam são silhueta, onde o jogador acha que a nave pode ser atingida, um propulsor que mostra movimento e cores que nunca se confundem com os projéteis.
Este guia mostra como desenhar a nave do jogador e dois inimigos de exemplo no Aseprite, com tamanhos em pixels, animação do propulsor, frames de inclinação e as regras de contraste que mantêm a tela legível quando ela enche de bala.
Pixel art nave: tamanho e orientação para shmup
Comece pela orientação, porque ela define tudo. Shmup vertical (a nave aponta para cima e a tela rola para baixo) pede uma nave mais alta que larga ou quadrada. Shmup horizontal (a nave aponta para a direita, como em Gradius, da Konami) pede uma nave mais comprida que alta.
Para tamanhos, pense na resolução base do jogo. Num jogo com tela de 240x320 (vertical) ou 320x180 (horizontal):
- Nave do jogador: de 24x24 a 32x32 pixels.
- Inimigo comum: de 16x16 a 24x24.
- Inimigo médio: de 32x32 a 48x48.
- Chefe: de 64x64 para cima, às vezes ocupando metade da tela.
- Tiro do jogador: 2 a 4 pixels de largura, 6 a 12 de comprimento.
- Tiro inimigo: redondo, de 4x4 a 8x8.
A nave do jogador pequena em relação à tela é uma decisão de design, não de arte: ela deixa espaço para desviar. Se a nave tiver 64 pixels numa tela de 240, o jogo fica apertado antes do primeiro padrão de tiro.
No Aseprite, crie o arquivo com File > New em 32x32, modo de cor RGB ou Indexed. Se você quer trabalhar com paleta fechada desde o início, Indexed ajuda a não inventar cores no meio do caminho.
Silhueta e leitura em movimento rápido
Teste a silhueta antes de qualquer cor. Desenhe a nave em uma cor só e pergunte: dá para saber para onde ela aponta? Dá para diferenciar de um inimigo?
Formas que funcionam bem para o jogador:
- Ponta clara na direção do movimento. Um bico, uma flecha, um nariz. O jogador precisa saber em milissegundos para onde a nave atira.
- Simetria no eixo do movimento. Numa nave vertical, desenhe metade e espelhe. No Aseprite, com o Pencil ativo, ligue o modo de simetria pelo botão de simetria no context bar e escolha o eixo vertical; tudo que você pintar de um lado aparece do outro.
- Uma ou duas protuberâncias (asas, canhões laterais), não seis. Com 32 pixels, cada protuberância extra vira ruído.
Um teste prático: reduza o zoom até a nave ficar do tamanho real na tela (100%) e mova a janela rápido de um lado para o outro. Se a forma ainda é reconhecível, a silhueta funciona.
Hitbox visual: onde o jogador acha que é atingido
A hitbox é coisa de código, mas o jogador só enxerga o desenho. A arte precisa indicar onde fica o "coração" da nave.
A convenção mais usada em shmups é uma hitbox bem menor que o sprite, centrada no cockpit ou no núcleo. Para a arte, isso significa:
- Desenhe um centro visualmente forte. Um cockpit com cor de destaque, um núcleo brilhante. Com 32x32, um cockpit de 4x6 pixels no meio da nave basta.
- Deixe as asas e pontas mais escuras e finas. O olho entende que são partes "secundárias" e aceita que um tiro de raspão nelas não conte.
- Se o jogo tiver modo foco (movimento lento), muitos bullet hells desenham um ponto ou círculo pequeno sobre o cockpit só nesse modo. Desenhe esse indicador como um sprite separado, de 4x4 ou 6x6, branco com contorno escuro.
Combine com quem programa: se a hitbox no código tem 4x4 pixels, o cockpit desenhado deve estar exatamente ali.
Propulsor animado em 2 a 4 frames
O propulsor é a única animação que a nave parada precisa ter, e é ele que faz a nave parecer viva. Monte assim:
- Crie uma camada separada chamada "propulsor" abaixo da nave.
- Desenhe o fogo no frame 1: 3 a 6 pixels de comprimento saindo da traseira, com núcleo branco ou amarelo claro e borda laranja ou azul.
- Adicione um frame novo com
Alt+Ne desenhe o fogo mais curto ou com outra largura. - Se quiser 4 frames, alterne: comprido, médio, curto, médio.
- Abra Frame > Frame Properties (atalho
P) e coloque a duração de cada frame entre 50 e 80 ms. Toque comEnterpara ver o loop.
Fogo rápido parece motor potente. Fogo lento (150 ms ou mais) parece vela.
Uma variação útil é ter dois propulsores: um normal e um "acelerando", mais comprido, que o jogo usa quando o jogador empurra para a frente.
Inclinação e frames de banking
Em shmup vertical, quando a nave anda para os lados, ela costuma inclinar. Isso não é animação contínua, é troca de pose:
- Frame neutro: a nave reta.
- Inclinação leve (esquerda e direita): uma asa fica 1 pixel mais estreita, a outra mostra 1 pixel da lateral de baixo. O cockpit desloca 1 pixel.
- Inclinação forte: uma asa quase some, a outra aparece inteira com a parte de baixo em tom mais escuro.
Você só precisa desenhar um lado: duplique os frames e use Edit > Flip Horizontal (Shift+H) para o outro. Organize no timeline com tags (Frame > Tags > New Tag): idle, bank_left, bank_right. O código troca entre elas conforme o input horizontal.
Em shmup horizontal, o equivalente é a nave inclinar o bico para cima ou para baixo quando sobe ou desce, com a mesma lógica de 1 a 2 frames por lado.
Desenhar a nave é a parte que a maioria resolve. O que costuma emperrar é o resto: juntar sprites, tiros, explosões, fundo em parallax e interface numa tela só sem que nada brigue com nada, e depois levar isso para a engine com a escala certa. Quem aprende sozinho costuma ter peças boas que não formam um jogo.
Inimigos: forma diferente do jogador
O jogador precisa separar "eu" de "eles" sem pensar. Para os dois inimigos de exemplo:
Inimigo 1, o drone (16x16). Forma arredondada ou hexagonal, sem bico. Cor fria e escura no corpo, com um "olho" de cor quente no centro. Animação de 2 frames com o olho piscando ou girando. Ele aparece em grupo, então precisa ser simples.
Inimigo 2, o atirador (32x24). Forma larga e baixa, com o canhão claramente apontado para baixo (na direção do jogador, em shmup vertical). Use uma silhueta "pesada", oposta à do jogador, que é fina e pontuda. Desenhe um frame extra de "carregando tiro", com o canhão aceso, para avisar o jogador meio segundo antes do disparo.
A regra geral: a nave do jogador aponta para a frente e tem forma aerodinâmica; inimigos apontam para o jogador e têm formas de outra família (redondas, quadradas, orgânicas).
Contraste com tiros e fundo
Em shmup, legibilidade é jogabilidade. Uma divisão de cores que funciona:
| Elemento | Valor (claro/escuro) | Saturação | Cor sugerida |
|---|---|---|---|
| Fundo | Escuro | Baixa | Azuis e roxos dessaturados |
| Nave do jogador | Médio a claro | Média | Branco, cinza azulado, um destaque |
| Inimigos | Médio | Média a alta | Verde, roxo, vermelho escuro |
| Tiros inimigos | Muito claro | Alta | Rosa, laranja, amarelo com centro branco |
| Tiros do jogador | Claro | Média | Azul claro ou amarelo, diferente dos inimigos |
Os tiros inimigos são a coisa mais importante da tela. Eles devem ter o maior contraste de todos: centro branco com borda de cor saturada. O fundo, por outro lado, deve ser o elemento mais "apagado". Ikaruga, da Treasure, leva isso ao extremo com o sistema de polaridade preto e branco: a cor do tiro é literalmente a regra do jogo.
Para montar essa paleta com cuidado, o post Paleta de cores para pixel art de jogos explica rampas, saturação e como escolher uma paleta pronta no Lospec.
Erros comuns: nave detalhada demais, cor igual à dos tiros
Nave detalhada demais. Painéis, rebites, logotipo, janelinhas. Parado no zoom de 800% fica lindo; no jogo, a 100% e se movendo, vira uma mancha. Correção: no máximo 3 a 4 áreas de cor na nave e um destaque.
Cor igual à dos tiros. Nave laranja com tiro inimigo laranja é receita de morte injusta. Correção: reserve a cor dos tiros inimigos e não use em mais nada.
Propulsor maior que a nave. Fogo de 20 pixels numa nave de 24 rouba atenção e confunde a hitbox. Correção: o fogo fica entre 20% e 40% do comprimento da nave.
Sprite sem espaço para o fogo. O canvas de 32x32 foi ocupado inteiro pela nave e o propulsor ficou cortado. Correção: deixe 6 a 8 pixels livres atrás da nave no canvas, ou mantenha o propulsor num sprite separado posicionado pelo código.
Inimigo que parece o jogador. Mesma forma pontuda, mesma cor. Correção: famílias de forma diferentes, como explicado acima.
Próximo passo
Desenhe a nave do jogador em 32x32 com 3 frames de propulsor e os frames de inclinação, depois os dois inimigos. Coloque tudo num canvas de 240x320 com um fundo escuro e alguns tiros desenhados à mão, tire um print e olhe de longe. Se você acha a nave em menos de um segundo, está pronto.
Para transformar esses sprites em jogo, o post Como Fazer um Jogo de Nave (Shmup) na Godot monta movimento, tiro, inimigos e chefe. E se você quer revisar os fundamentos de escala, contorno e sombreamento antes, o guia completo de pixel art para jogos cobre a base.
Perguntas frequentes
Qual o tamanho ideal de uma nave em pixel art para shmup?
Para o jogador, algo entre 24x24 e 32x32 pixels numa resolução base de jogo em torno de 240 a 320 pixels de largura. Inimigos pequenos ficam entre 16x16 e 24x24, e chefes podem passar de 64 pixels. O tamanho certo é o que deixa espaço livre na tela para o jogador desviar.
Quantos frames tem a animação de propulsor de uma nave?
De 2 a 4 frames bastam. O fogo alterna entre comprido e curto, ou entre duas cores, com duração curta de 50 a 80 ms por frame. Mais do que isso raramente aparece, porque a nave está em movimento e o olho do jogador está nos tiros.
A hitbox da nave tem que ser do tamanho do sprite?
Não. Na maioria dos shmups a hitbox é menor que o desenho, centrada no cockpit. Isso faz o jogador sentir que escapou por pouco em vez de sentir que foi atingido injustamente. Muitos bullet hells mostram esse ponto quando o jogador entra no modo de movimento lento.
Por que minha nave some no meio dos tiros?
Porque nave, tiros e fundo estão usando cores parecidas em valor e saturação. Reserve uma faixa de cor só para tiros inimigos (normalmente quente e brilhante), deixe o fundo escuro e pouco saturado e dê à nave do jogador um contorno claro.


