Tutorial Space Shooter Godot: Planejamento e Setup - Parte 1

Aprenda a criar um jogo Space Shooter de forma simples e prática com a Godot. Aprenda as funcionalidades da Engine e faça seu jogo um sucesso.

Tutorial Space Shooter Godot: Planejamento e Setup - Parte 1
Photo by Andre Hunter / Unsplash

Bem-vindo a uma empolgante jornada pelo fascinante mundo do desenvolvimento de jogos! Se você é um aspirante a desenvolvedor de jogos ou alguém que já tem alguma experiência nessa área, este é o lugar ideal para explorar o Godot Engine, um motor de jogos incrível e versátil.

Nas próximas etapas, mergulharemos fundo no mundo do desenvolvimento de jogos com o Godot, explorando os principais conceitos e mecânicas que você precisa dominar para criar seu próprio Space Shooter. Este guia foi projetado para ser uma referência completa para cada fase do processo de criação desse emocionante estilo de jogo.

Esta jornada será repleta de aprendizado, desde o planejamento inicial até a publicação do seu próprio Space Shooter criado com o Godot. Prepare-se para dominar cada uma dessas etapas e embarcar em uma emocionante aventura interestelar.

Então, ligue os motores, ajuste seu cinto de segurança e vamos começar essa viagem pelo universo do Godot Engine, onde nosso destino é o espaço sideral!

Nossa jornada será dividida nas seguintes etapas:

Passo 0 - Planejamento e Materiais

Antes de decolar para o espaço, vamos planejar nosso jogo e preparar todos os materiais necessários.

É importante ter bastante claro que criar um jogo não se trata somente de baixar uma Engine, sair colocando assets aleatóriamente e achar que vai ter um jogo funcional e de sucesso. (Apesar de que alguns jogos por aí parecem ter sido feitos dessa forma. Sem o planejamento correto você pode se frustrar com o resultado).

É importante antes de começar o seu trabalho visualizar o que será seu produto final e entender o que tem que ser criado para alcançar tal objetivo. Para isso, sugiro que você monte um GDD (Game Design Document), mas este tema via ficar para um próximo post.

Mas também é legal saber que nem tudo vai sair do jeito mais certo mesmo tendo tudo planejadinho, o seu plano é sua linha guia, mas você precisa ter liberdade para inovar se for necessário, mudar de trilha quando preciso faz parte do jogo.

Por ora vamos considerar que nosso jogo terá as seguintes características:

  • Será um jogo no estilo Space Shooter Infinito onde o jogador tem como objetivo matar naves inimigas para ganhar pontos;
  • Terá um fundo em Parallax (vou explicar o que é isso mais pra frente) ambientando o jogador no espaço sideral;
  • Deve ter mais de um tipo de inimigo e eles devem ser gerados de forma aleatória, tanto em relação à tempo quanto ao tipo;
  • As naves do player e inimigos devem apresentar feedback visual e sonoro quando atingidas;
  • O jogo deve ter um menu de entrada, tela de game over, permitir pausar e retomar o jogo;
  • A pontuação e energia do jogador deve ser apresentada constantemente na tela e atualizada conforme os eventos do jogo.

Ufa... E você achava que seria simples, né? Ainda tá no pique de seguir com isso?

Tenho certeza que a explicação anterior só deixou você mais empolgado pra começar, né? Mantenha essa energia lá em cima e mão à obra, vamos lá!!!

Para iniciar a criação do nosso jogo, vamos precisar de algumas coisas:

  • Game Engine Godot;
  • Pacote de assets do Kenney;
  • Música para o background do seu jogo.

Primeiro, faça o download da Game Engine Godot em seu site oficial (https://godotengine.org/). Certifique-se de selecionar a versão mais recente e compatível com o seu sistema operacional. Após concluir o download, lembre-se de salvar o arquivo em um local de fácil acesso no seu computador.

Site para o download da Godot Engine.

Agora, é hora de baixar o pacote de assets do Kenney. Visite o site do Kenney (https://kenney.nl/assets) e escolha um dos pacotes de assets relacionados à Space Shooter que melhor atende às suas necessidades. Lembre-se de baixar também os áudios e arquivos de fontes de texto que achar interessante. Após o download, salve o arquivo em um local fácil de lembrar.

Site para o download dos Assets do Kenney

O próximo passo é conseguir uma música bem legal para colocar de audio de fundo no seu jogo, no nosso caso utilizamos uma música do site OpenGameArt (https://opengameart.org/) que nos atende muito bem. Lembre-se de guardar o arquivo em um lugar que você consiga lembrar depois.

Site para o download a música Tema do jogo
💡
Atenção:
Você não precisa usar necessariamente os mesmos assets que vamos usar aqui, mas lembre-se que ao usar outros assets você precisará adaptar os seus códigos para refletir isso corretamente.

Todos os assets que utilizamos aqui são de uso livre e gratuito, até mesmo para criação de jogos comerciais. Aconselhamos você à sempre dar uma olhada nas licenças dos Assets que você utilize nos seus projetos para não ter nenhum problema posterior em relação à direitos de uso.

💡
Lembre-se:
Por mais tentador que seja, não utilize assets que violem propriedade intelectual. Se fosse você que tivesse criado um personagem famoso dos videogames, gostaria de ver as pessoas usando ele em contextos deturpados? Acredito que não.

Acho que essa parte fica por aqui. Lembre-se, de fazer uma pausa de vez em quando e se hidratar, uma boa forma de gerenciar seu tempo e focar esforços quando precisa é usar a metodologia Pomodoro (também vai ficar pra outro post).


Passo 1 - Setup da Engine

Vamos configurar o ambiente de desenvolvimento no Godot para que possamos começar a viajar pelo universo do nosso Space Shooter.

Agora que já temos os Assets que precisamos, vamos configurar o ambiente de trabalho da Godot. Para nosso tutorial tô partindo de uma instalação completamente nova então vamos lá.

Ao abrir a engine, caso você ainda não tenha nenhum projeto em andamento a Godot vai te apresentar uma tela perguntando se você não tem interesse em abrir a biblioteca de assets conforme abaixo:

Imagem inicial com a sugestão para que o desenvolvedor abra a biblioteca de assets.
💡
Atenção:
Eu mantenho a Godot em inglês para treinar o idioma, mas vc pode alterar o idioma à partir da lista de seleção no alto à direita desta tela.

O primeiro passo será criar um Novo Projeto clicando no botão correspondente. Esta ação vai solicitar que você defina uma pasta vazia onde o seu jogo será salvo. é possível definir uma ou mais pastas favoritas e também visualizar as pastas usadas recentemente.

Definição da pasta principal do projeto.

Após isso, você deve definir o nome do projeto (por padrão ele assume o nome da pasta principal), tipo de render (qualidade gráfica com que o jogo será apresentado) e se será utilizado algum sistema de controle de versionamento.

No nosso caso vamos seguir a seguinte configuração:

Tela de configuração inicial do seu projeto.
💡
Importante:
É possível alterar estas configurações posteriormente através das configurações do editor.

Uma vez criado seu projeto a tela principal do Godot é apresentada. Não vou me estender demais explicando o que cada área desta tela faz, mas temos basicamente:

  • Gestor de Cenas;
  • Gestor de Arquivos;
  • Viewport / Editor
  • Inspetor de Nós.
  • Terminal / Áudio / Animações / Shader

Note que algumas das áreas mudam de função de acordo com o tipo de cena ou ação do usuário, mas esse detalhamento também merece um post só pra ele.

Tela inicial da Godot

Até então não fizemos nada demais, só apresentamos um pouquinho do Editor, então já tá na hora de começar à configurar algumas coisas para o nosso jogo, né?

Nosso objetivo será desenvolver um jogo para rodar em uma tela vertical, como no celular, então temos que ajustar o formato da nossa tela para se encaixar nisto. Além disso, não queremos que as imagens de nosso jogo fiquem com proporções distorcidas caso ampliemos o tamanho da tela, certo?

Estas configurações são feitas à partir do menu de Configurações do Projeto na seção de Display > Window nas propriedades de Largura, Altura e Modo de Esticar onforme a imagem abaixo:

Tela de configurações de projeto, com as propriedades alteradas

Nosso próximo passo é definir as teclas que vamos utilizar para controlar a nave na tela, vamos considerar por enquanto que precisamos de ações para os movimentos de esquerda (left), direita (right), um botão para atirar (shoot) e um botão para o especial (bomb).

O mapeamento de tais ações é feito no menu de Mapa de Entrada e você pode definir um ou mais botões para cada ação:

Tela para configuração do mapeamento de teclas.

E para finalizar, como nosso jogo tem uma característica de jogo retrô, vamos definir a máscara de apresentação de imagens para não incluir filtros. Isso também é feito nas configurações de projeto, mas agora na seção de Renderização > Texturas. Selecione a opção Nearest como filtro padrão.

Tela para configuração das máscaras de apresentação de texturas
💡
Importante:
Não tenha medo de explorar as funcionalidades da Engine, tem muita coisa interessante que você vai conseguir aprender só de entrar no detalhe da documentação. Seja curioso, explore e aprenda.

Ufa, bastante coisa, né? Conseguiu acompanhar ou ficou muito complicado? Acho que vamos parar por aqui pra você poder comer um lanchinho e tomar um café. Os próximos posts vão trazer detalhes do desenvolvimento, então fique de olho.

Inscreva-se, comente, divulgue e participe conosco.