Voltar para o Blog
Quest Log

Nave Espacial em Pixel Art para Shoot 'em Up

Nave espacial em pixel art vista de cima, com propulsor azul aceso, desviando de tiros laranja sobre um fundo escuro de estrelas

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.

Ferramenta:Aseprite

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:

  1. 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.
  2. 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.
  3. 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:

  1. Crie uma camada separada chamada "propulsor" abaixo da nave.
  2. 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.
  3. Adicione um frame novo com Alt+N e desenhe o fogo mais curto ou com outra largura.
  4. Se quiser 4 frames, alterne: comprido, médio, curto, médio.
  5. Abra Frame > Frame Properties (atalho P) e coloque a duração de cada frame entre 50 e 80 ms. Toque com Enter para 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.

Curso de Arte 2D
Quer fazer a arte do seu jogo?

No curso de Arte 2D para Jogos da CursoGame.Dev você vai do rabisco ao portfólio: personagens, cenários, tilesets, UI e animação, sem precisar saber desenhar.

Conhecer o curso de Arte 2D
Suporte no WhatsAppAcesso vitalícioGarantia de 7 dias

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:

ElementoValor (claro/escuro)SaturaçãoCor sugerida
FundoEscuroBaixaAzuis e roxos dessaturados
Nave do jogadorMédio a claroMédiaBranco, cinza azulado, um destaque
InimigosMédioMédia a altaVerde, roxo, vermelho escuro
Tiros inimigosMuito claroAltaRosa, laranja, amarelo com centro branco
Tiros do jogadorClaroMédiaAzul 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.