Uma proposta chamada Godot

Esse é o primeiro artigo de uma série dedicada ao ensino e divulgação da Godot Engine.

Para iniciarmos vamos com o básico sobre o motor. Em primeiro lugar ele é Open-source (código de livre acesso e gratuito), se você é um entusiasta de desenvolvimento de game engines e quer ter acesso aos códigos para fazer pluggins, modificações necessárias para seus projetos, ou quer contribuir com o time de desenvolvimento do motor para sua melhor estabilidade e evolução, você pode encontrar o código fonte no github oficial clicando aqui.

Nos tutoriais teremos como padrão estabelecido a versão 3.3.2 do motor.

Você pode obter a godot nos seguintes links:

Apos baixar, basta executar o arquivo (ou extrair e executar dependendo de onde e como baixou) e pronto! Sem instalação! Sem enrolação! Basta um click e pronto! Godot pronta para uso!

A seguir, listaremos algumas funcionalidades básicas da Godot para uma rápida familiarização com as possibilidades que a mesma oferece.

 

Tipo de motor gráfico

  • OpenGL ES 2 – 2d & 3d
  • OpenGL ES 3 – 2d & 3d
  • Vulkan (em breve na versão 4.0) – 2d & 3d

 

Formatos de importação suportados

  • glTF (GL Transmission Format) - Formato mais recomendado para se trabalhar na Godot
  • DAE (COLLADA)
  • OBJ (Wavefront) – Suportado mas limitado
  • ESCN – Formato próprio da Godot que pode ser exportado direto do Blender por meio de pluggin
  • FBX – Suportado por meio da Open Asset Import Library. Como é um formato proprietário, o suporte ao FBX demanda engenharia reversa, isso pode gerar instabilidades no porte, por isso se recomenda usar os outros formatos listados acima.

 

Linguagens de programação suportadas

  • GDScript – Linguagem própria da Godot parecida com Python.
  • C# - Suporte completo utilizando o Mono.
  • C++ - Suporte completo.
  • Visual scripting – Programação visual utilizando blocos e conexões semelhantes ao Blueprint da Unreal engine ou os nodes do Blender.
  • Outras – Godot também conta com uma gama de linguagens suportadas providas pela comunidade. Alguns exemplos são: Python, Rust e outras.

 

Uma coisa interessante sobre a Godot é que ela providencia uma documentação integrada totalmente offline. Nela você pode fazer pesquisas sobre o motor sem precisar sair do editor.

 

Plataformas suportadas

Godot é um motor compacto de aproximadamente 30 MB multiplataforma. Você pode usa-lo em:

  • Windows – 32-bit & 64-bit
  • Linux – 32-bit & 64-bit

 

Plataformas de publicação suportadas

Godot também é multiplataforma quando o assunto é fazer o deploy. São essas as plataformas suportadas:

 

Desktop:

  • Windows
  • macOS
  • Linux
  • UWP
  • BSD

 

Mobile:

  • iOS
  • Android

 

Consoles:

  • Nintendo Switch – Porte terceirizado
  • PlayStation 4 – Porte terceirizado
  • Xbox One – Porte terceirizado

 

Nota: Mais informações sobre o porte terceirizado para console você pode obter clicando aqui.

 

Web:

  • HTML5
  • WebAssembly

 

Por que Godot?

Uma questão sempre vem ao escolher a ferramenta de trabalho (ou estudo), questão essa que define os próximos passos a serem tomados, essa questão é o por que de estarmos usando essa ferramenta, afinal, dentre tantas outras por ai, o que faz essa ser a adequada? A verdade é que assim como as peças dentro de uma caixa de ferramentas, cada motor, linguagem de programação, editor de imagens, tem suas finalidades, pros e contras, sendo necessário o usuário saber do que precisa, a capacidade da ferramenta que ira utilizar, suas limitações e se ela é a escolha ideal para o projeto. Se tratando da Godot, ela é um excelente motor para jogos 2d, já no 3d ela não tem nada de muito especial, mas da conta do recado para o cenário indie, porém promete um grande avanço em sua atualização 4.0, onde trara melhoria de performance em sua linguagem GDScript, no seu motor de física e na parte gráfica, trazendo a Vulkan como novo carro-chefe. Para um indie, Godot entrega o que a maioria quer, e como tudo é aberto você pode escalonar o que você precisar, e se for publicar para PC, Mobile ou Web, o deploy é super simples! O mais complicado é a parte de desenvolvimento para consoles, como eles dependem de acordos de confidencialidade, fica difícil para uma tecnologia Open-source com a licença que a Godot está registrada, dar porte oficial, pois essa mesma licença exige que tudo que ela desenvolve deve ser aberto a todos, como podem ver isso entra em choque com os termos de desenvolvimento para os consoles, mas isso não impede que você que está lendo esse artigo, ou outra pessoa, ou uma empresa, crie um porte proprietário utilizando a Godot, dentro desse contexto existem duas empresas recomendadas oficialmente na documentação da Godot para o porte terceirizado, mas como você pode estar pensando agora, isso é moroso e envolve acordo financeiro, o que para um indie pode ser muito complicado inicialmente. Como pode ver, sempre a muito o que pensar quando se escolher a ferramenta, olha o tanto de informações que já passamos e questionamos. E então, não devo escolher a Godot? Devo escolher? Qual é sua proposta? Godot iniciou não tentando ser um motor AAA, sua proposta sempre foi focada no cenário indie, uma engine aberta e gratuita, de fácil aprendizado, ótima como ponto de partida, profissional ou “hobbysta”, e que entrega tudo o que um indie precisa para iniciar e entregar seu projeto, se você vai publicar para PC, ou tem uma equipe para portar para console ou o orçamento para isso, Godot pode ser a escolha ideal, o que você faz nela é seu, não precisa pagar ninguém depois, além de ter uma ótima comunidade ativa e templates de código aberto, se quer algo mais simples de se trabalhar e leve, ela é a ideal, mas se quer algo nivel AAA já com porte para console, talvez não. Mas em geral ela entrega tudo o que se precisa para um desenvolvedor indie criar um jogo, um motor de fácil manuseio, pragmático, com uma ótima curva de aprendizado, editável, bem documentado e leve.
Tudo o que foi mostrado até agora é para que racionalmente, você enquanto leitor, pare um pouco e reflita se é disso que precisa. Pensei sobre a sua limitação atual de desenvolvimento e o escopo do seu projeto, se você quer criar um jogo de gerenciamento de cidade 2d para android, não precisa de um motor proprietário pesado para isso, Godot da conta, se quer fazer um jogo linear 3d, ela da conta. Pare uns minutos e pense bem, e se ela for a ferramenta ideal para você, seja porque está iniciando e quer começar com o básico ou porque ela atende o seu escopo de projeto, seja bem-vindo a nossa jornada com a Godot!

 

O que vem a seguir

No próximo artigo, iremos nos familiarizar com a UI da Godot.

Referências

docs.godotengine.org