Criando seu primeiro jogo retrô: tutorial básico com gráficos em pixel art

Criando seu Primeiro Jogo Retrô: Tutorial Básico com Gráficos em Pixel Art

E aí, pessoal do Canal do Gabriel! Tudo certo com vocês? Se você é fã de jogos retrô, assim como eu, e sempre teve aquela vontade de criar o seu próprio game com aquele charme nostálgico, chegou o seu momento! Neste post, vamos embarcar em uma jornada para desmistificar o processo de criação de jogos retrô, com foco em gráficos em pixel art. Prepare-se para aprender, experimentar e, acima de tudo, se divertir muito!

Por Que Criar um Jogo Retrô?

Antes de mergulharmos no tutorial, vamos entender por que a ideia de criar um jogo retrô é tão atraente.

  • Nostalgia: Jogos retrô evocam memórias da infância e da adolescência para muitos de nós. Criar um jogo com essa estética é como revisitar um mundo familiar e reconfortante.
  • Simplicidade: Em comparação com os jogos modernos, os jogos retrô costumam ter mecânicas mais simples e diretas, o que facilita o desenvolvimento, especialmente para iniciantes.
  • Criatividade: As limitações técnicas dos jogos retrô, como paletas de cores restritas e resoluções baixas, podem ser um catalisador para a criatividade. Você precisa encontrar soluções inovadoras para superar esses desafios.
  • Acessibilidade: Existem diversas ferramentas e engines gratuitas ou de baixo custo que são perfeitas para criar jogos retrô.
  • Comunidade: A comunidade de desenvolvedores de jogos retrô é vibrante e acolhedora, com muitos fóruns, tutoriais e recursos disponíveis para te ajudar em sua jornada.

Escolhendo a Ferramenta Certa

O primeiro passo para criar seu jogo retrô é escolher a ferramenta de desenvolvimento. Existem diversas opções disponíveis, cada uma com suas vantagens e desvantagens. Aqui estão algumas das mais populares:

  • GameMaker Studio 2: Uma engine paga, mas com uma versão de avaliação gratuita. É muito intuitiva e fácil de aprender, ideal para iniciantes. Possui uma linguagem de script própria (GML) que é poderosa e flexível.
  • Unity: Uma engine muito popular e versátil, usada tanto para jogos 2D quanto 3D. É gratuita para uso pessoal e pequenas empresas. Requer um pouco mais de conhecimento em programação (C#), mas oferece uma grande variedade de recursos e plugins.
  • Godot Engine: Uma engine gratuita e de código aberto que está ganhando cada vez mais popularidade. É leve, flexível e fácil de usar, com uma linguagem de script própria (GDScript) semelhante ao Python.
  • PICO-8: Uma "fantasia console" que impõe limitações deliberadas em termos de resolução, cores e recursos. É uma ótima opção para quem busca um desafio criativo e uma experiência autêntica de desenvolvimento retrô. A linguagem de programação utilizada é Lua.
  • GB Studio: Uma ferramenta visual para criar jogos de Game Boy sem precisar programar. É perfeita para quem quer criar um jogo retrô rapidamente e sem se preocupar com código.

Para este tutorial, vamos utilizar o GameMaker Studio 2, devido à sua interface amigável e à sua vasta gama de recursos. No entanto, sinta-se à vontade para escolher a ferramenta que melhor se adapta às suas necessidades e preferências.

Pixel Art: A Essência do Retrô

A pixel art é a arte de criar imagens utilizando pixels individuais. É a estética que define os jogos retrô e que lhes confere aquele charme único.

Criando Seus Próprios Sprites

Um sprite é uma imagem que representa um objeto ou personagem no jogo. Para criar seus próprios sprites, você precisará de um editor de pixel art. Existem diversas opções disponíveis, tanto gratuitas quanto pagas. Aqui estão algumas sugestões:

  • Aseprite: Um editor de pixel art pago, mas com uma versão de avaliação gratuita. É considerado o padrão da indústria e oferece uma grande variedade de recursos avançados, como animação, camadas e paletas de cores.
  • Piskel: Um editor de pixel art online e gratuito. É fácil de usar e oferece recursos básicos para criar sprites e animações.
  • GraphicsGale: Um editor de pixel art gratuito para uso pessoal. É uma opção mais antiga, mas ainda muito útil para criar sprites e animações.

Ao criar seus sprites, lembre-se das seguintes dicas:

  • Mantenha a simplicidade: Comece com formas básicas e adicione detalhes gradualmente.
  • Use uma paleta de cores limitada: Os jogos retrô geralmente utilizavam paletas de cores restritas. Tente limitar sua paleta a 16 ou 32 cores para criar um visual autêntico.
  • Experimente com dithering: Dithering é uma técnica que consiste em misturar duas ou mais cores para criar a ilusão de mais cores. Pode ser usado para adicionar profundidade e detalhes aos seus sprites.
  • Preste atenção à animação: A animação é fundamental para dar vida aos seus sprites. Crie animações suaves e expressivas que transmitam a personalidade do seu personagem ou objeto.

Exemplos de Sprites para Começar

Para facilitar o seu aprendizado, aqui estão alguns exemplos de sprites simples que você pode usar como ponto de partida:

  • Personagem: Um personagem básico com animação de caminhada e salto.
  • Inimigo: Um inimigo simples com animação de movimento.
  • Plataforma: Um bloco de plataforma para o seu personagem pular.
  • Coletável: Uma moeda ou um item que o jogador pode coletar.

Criando a Base do Jogo no GameMaker Studio 2

Agora que você já tem seus sprites, vamos começar a criar a base do jogo no GameMaker Studio 2.

Criando um Novo Projeto

  1. Abra o GameMaker Studio 2 e clique em "New".
  2. Selecione "2D" como o tipo de projeto.
  3. Escolha um nome para o seu projeto e clique em "Create".

Importando Seus Sprites

  1. No painel "Resource Tree" (geralmente à esquerda), clique com o botão direito em "Sprites" e selecione "Create Sprite".
  2. Dê um nome ao seu sprite (por exemplo, "spr_player").
  3. Clique em "Edit Sprite" e, em seguida, em "Import".
  4. Selecione o arquivo de imagem do seu sprite e clique em "Open".
  5. Repita este processo para todos os seus sprites.

Criando Objetos

No GameMaker Studio 2, objetos são entidades que existem no seu jogo e que possuem propriedades e comportamentos.

  1. No painel "Resource Tree", clique com o botão direito em "Objects" e selecione "Create Object".
  2. Dê um nome ao seu objeto (por exemplo, "obj_player").
  3. Na propriedade "Sprite", selecione o sprite correspondente (por exemplo, "spr_player").
  4. Repita este processo para todos os seus objetos.

Adicionando Comportamento aos Objetos

Para adicionar comportamento aos seus objetos, você precisa adicionar eventos e ações.

  • Eventos: São situações que acontecem no jogo, como a criação do objeto, o pressionamento de uma tecla ou a colisão com outro objeto.
  • Ações: São comandos que o objeto executa em resposta a um evento.

Vamos adicionar alguns comportamentos básicos ao nosso objeto "obj_player":

  • Criação:
    • Evento: Create
    • Ação: Definir variáveis (por exemplo, "speed = 4")
  • Movimento:
    • Evento: Step
    • Ação: Verificar se a tecla "seta direita" está pressionada. Se sim, mover o objeto para a direita (por exemplo, "x += speed").
    • Ação: Verificar se a tecla "seta esquerda" está pressionada. Se sim, mover o objeto para a esquerda (por exemplo, "x -= speed").
  • Salto:
    • Evento: Key Press - Espaço
    • Ação: Definir a velocidade vertical do objeto para um valor negativo (por exemplo, "vspeed = -12").
  • Gravidade:
    • Evento: Step
    • Ação: Aumentar a velocidade vertical do objeto (por exemplo, "vspeed += 0.5").
    • Ação: Limitar a velocidade vertical do objeto (por exemplo, "vspeed = clamp(vspeed, -20, 10)").

Criando uma Room (Cenário)

Uma room é um cenário onde o jogo acontece.

  1. No painel "Resource Tree", clique com o botão direito em "Rooms" e selecione "Create Room".
  2. Dê um nome à sua room (por exemplo, "rm_level1").
  3. No editor de room, arraste e solte os seus objetos para criar o cenário do jogo. Você pode adicionar plataformas, inimigos, coletáveis e outros elementos.

Testando o Jogo

  1. Clique no botão "Run" (geralmente um botão verde com um ícone de "play") para testar o seu jogo.
  2. Use as teclas de seta para mover o personagem e a barra de espaço para pular.

Adicionando Mais Complexidade

Com a base do seu jogo pronta, você pode começar a adicionar mais complexidade.

Colisão

A colisão é a detecção de quando dois objetos se tocam. É fundamental para criar interações interessantes no jogo.

  • Colisão com Plataformas:

    • No objeto "obj_player", adicione um evento "Collision" com o objeto "obj_platform".
    • Nesse evento, verifique se o jogador está caindo sobre a plataforma. Se sim, posicione o jogador em cima da plataforma e defina a velocidade vertical para 0.
  • Colisão com Inimigos:

    • No objeto "obj_player", adicione um evento "Collision" com o objeto "obj_enemy".
    • Nesse evento, você pode adicionar uma ação para diminuir a vida do jogador ou reiniciar o nível.

Inimigos

Adicionar inimigos ao seu jogo é uma ótima maneira de desafiar o jogador.

  • Movimento do Inimigo:

    • No objeto "obj_enemy", adicione um evento "Step".
    • Nesse evento, mova o inimigo para a esquerda ou para a direita.
    • Adicione uma condição para que o inimigo inverta a direção quando atingir uma parede ou um obstáculo.
  • Inteligência Artificial (IA) Básica:

    • Você pode adicionar IA básica aos seus inimigos, como fazê-los perseguir o jogador quando ele estiver por perto.

Coletáveis

Coletáveis são itens que o jogador pode coletar para obter pontos, power-ups ou outros benefícios.

  • Colisão com Coletáveis:
    • No objeto "obj_player", adicione um evento "Collision" com o objeto "obj_collectible".
    • Nesse evento, adicione uma ação para destruir o coletável e aumentar a pontuação do jogador.

Interface do Usuário (UI)

A UI é a interface que o jogador usa para interagir com o jogo.

  • Pontuação:

    • Crie um objeto para controlar a pontuação do jogador.
    • Desenhe a pontuação na tela usando a função "draw_text".
  • Vida do Jogador:

    • Crie um objeto para controlar a vida do jogador.
    • Desenhe a vida do jogador na tela usando sprites de coração ou barras de vida.

Sons e Música

Adicionar sons e música ao seu jogo é fundamental para criar uma experiência imersiva.

  • Efeitos Sonoros:

    • Adicione efeitos sonoros para ações como pular, coletar itens e morrer.
  • Música de Fundo:

    • Adicione música de fundo para criar o clima do jogo.

Você pode encontrar sons e músicas gratuitos na internet ou criar os seus próprios usando softwares de edição de áudio.

Níveis

Adicionar múltiplos níveis ao seu jogo aumenta a longevidade e a variedade da experiência.

  • Transição de Nível:
    • Crie um objeto para detectar quando o jogador atingiu o final do nível.
    • Nesse objeto, adicione uma ação para mudar para a próxima room.

Dicas Extras

  • Comece pequeno: Não tente criar um jogo épico logo de cara. Comece com um projeto pequeno e simples e vá adicionando complexidade gradualmente.
  • Divida o trabalho: Divida o seu jogo em tarefas menores e mais gerenciáveis. Isso tornará o processo de desenvolvimento menos intimidante.
  • Peça feedback: Mostre o seu jogo para amigos e familiares e peça feedback. Isso te ajudará a identificar problemas e a melhorar a experiência do jogador.
  • Não tenha medo de experimentar: A experimentação é fundamental para aprender e crescer como desenvolvedor de jogos. Não tenha medo de tentar coisas novas e de cometer erros.
  • Divirta-se: O mais importante é se divertir durante o processo de criação do seu jogo. Se você não estiver se divertindo, provavelmente não estará motivado para continuar.

Recursos Úteis

Conclusão

Criar seu primeiro jogo retrô pode parecer assustador no início, mas com as ferramentas e os conhecimentos certos, é um projeto perfeitamente alcançável. Lembre-se de começar pequeno, dividir o trabalho, pedir feedback e, acima de tudo, se divertir!

Espero que este tutorial tenha sido útil e que te inspire a criar seus próprios jogos retrô incríveis. Não se esqueça de compartilhar seus projetos com a gente nas redes sociais usando a hashtag #CanalDoGabrielGames!

Até a próxima, pessoal! E bons jogos!