Pesquisar
Close this search box.

Conheça as Linguagens de Script da Godot

Veja as vantagens de desvantagens de usar uma das três linguagens de script da Godot

Continuando nossos tutoriais traduzidos diretamente do site oficial da Godot Engine, vamos falar um pouco sobre as Linguagens de script da Godot. Oficialmente, a Godot é capaz de trabalhar com 3 linguens: o GDscript, o C# e o C++.

GDScript é uma linguagem de script criada para o motor de jogos Godot. É fácil de aprender e usa uma sintaxe similar ao Python, ideal para desenvolvimento rápido de jogos.

C# é uma linguagem de programação amplamente utilizada, especialmente no desenvolvimento de jogos com a Unity. Oferece desempenho sólido e é preferido por muitos desenvolvedores devido à sua tipagem estática e recursos avançados de programação orientada a objetos.

C++ é uma linguagem de programação poderosa e versátil, usada em jogos para controle de baixo nível e otimização de desempenho. Requer mais habilidade, mas oferece controle total sobre o hardware.

Cada uma tem suas vantagens e desvantagens para serem usadas no seu game, mas também podem ser combinadas e usadas no desenvolvimento de games.

Mas, qual delas você deve usar? Qual é a mais indicada para o seu jogo? Vamos falar um pouco sobre as linguagens de programação que você pode usar na Godot e, se tiver dúvidas, é só deixar aí nos comentários.

Domine a Godot

🎮 Deixe Sua Criatividade Ganhar Vida! 🌍

Não é apenas sobre aprender técnicas; é sobre transformar suas ideias únicas em jogos que cativam corações em todo o mundo. Com as estratégias e ferramentas mais avançadas ao seu alcance, prepare-se para transformar sua visão em realidade. Comece agora e seja o criador de jogos que você sempre sonhou em ser!

👾 Este é o Momento: Dê o Primeiro Passo Rumo ao Sucesso! 🌟

A jornada para se tornar um desenvolvedor de jogos profissional começa aqui e agora. Com um futuro brilhante e cheio de possibilidades emocionantes no desenvolvimento de jogos à sua frente, por que esperar? Clique e descubra como nosso curso pode ser o trampolim para o seu sucesso na indústria de jogos.

O que são os Scripts?

Vamos dar uma visão geral das linguagens de script disponíveis em Godot. Você aprenderá os prós e os contras de cada opção. Na próxima parte, vamos escrever o primeiro script usando GDScript. Os scripts são anexados a um node e estendem seu comportamento. Isso significa que os scripts herdam todas as funções e propriedades do nó ao qual estão anexados.

Por exemplo, pegue um jogo onde um node Camera2D segue uma nave. O node Camera2D segue seu “pai” por padrão. Imagine que você deseja que a câmera trema quando o jogador sofre dano. Como esse recurso não está integrado ao Godot, você anexaria um script ao node Camera2D e codificaria o “shake”.

Linguagens de script da godot
Shake

Com a Godot você pode usar quatro linguagens de programação de jogo: a GDScript, o C# e, por meio de sua tecnologia GDExtension, as linguagens C e C++. Existem mais linguagens suportadas pela comunidade, mas estes não são oficiais.

Qual Linguagem Devo Usar?

Você pode usar várias linguagens em um único projeto. Por exemplo, você pode codificar a lógica do jogo em GDScript, pois é rápido de escrever, e usar C# ou C++ para implementar algoritmos complexos e maximizar o desempenho. Ou você pode programar tudo em GDScript ou C#. A decisão é sua.

../ ../_images/scripting_gdscript .png

GDScript

Se você é iniciante, a linguagem mais recomendada é começar com GDScript. Essa linguagem especificamente criada para Godot atende as necessidades dos desenvolvedores de jogos e possui uma sintaxe leve e direta e fornece a integração mais estreita com a Godot Engine.

GDScript é uma linguagem de programação imperativa e orientada a objetos desenvolvida para Godot. É feito por e para desenvolvedores de jogos para economizar seu tempo codificando jogos. Seus recursos incluem:

  • Uma sintaxe simples que leva a arquivos curtos.
  • Tempos de compilação e carregamento extremamente rápidos.
  • Forte integração do editor, com conclusão de código para nodes, signals e mais informações da cena à qual está anexado.
  • Tipos de vetor e transformação integrados, tornando-o eficiente para uso intenso de álgebra linear, essencial para jogos.
  • Suporta vários threads com a mesma eficiência que linguagens de tipo estáticos.
  • Sem coleta de lixo, pois esse recurso eventualmente atrapalha na hora de criar jogos. O mecanismo conta referências e gerencia a memória para você na maioria dos casos por padrão, mas você também pode controlar a memória se precisar.
  • Digitação gradual. As variáveis ​​têm tipos dinâmicos por padrão, mas você também pode usar dicas de tipo para verificações de tipo fortes.

GDScript se parece com Python quando você estrutura seus blocos de código usando indentações, mas não funciona da mesma maneira na prática. É inspirado em várias linguagens, incluindo Squirrel, Lua e Python.

Mas, se é parecido, por que não usamos Python ou Lua diretamente? Anos atrás, Godot usou Python e depois Lua. A integração de ambas as linguagens era complexa e teve severas limitações. Por exemplo, o suporte a threading era um grande desafio com Python.

Desenvolver uma linguagem dedicada não exigia mais trabalho e poderiam adaptá-la às necessidades dos desenvolvedores de jogos. Atualmente, a equipe da Godot está trabalhando em otimizações de desempenho e recursos que seriam difíceis de oferecer com linguagens de terceiros.

O código GDScript em si não é executado tão rápido quanto C# ou C++ compilado. No entanto, a maioria do código de script chama funções escritas com algoritmos rápidos em código C++ dentro da engine. Em muitos casos, escrever lógica de jogo em GDScript, C# ou C++ não terá um impacto significativo no desempenho.

C# (ou .NET)

Como o C#, uma linguagem madura e flexível com inúmeras bibliotecas escritas para ela, oferece uma boa relação entre desempenho e facilidade de uso, os criadores da Godot Engine optaram por integrá-la oficialmente a sua engine. Para usar, você precisará de um editor de código externo como VSCode ou Visual Studio.

../ ../_images/scripting_csharp .png

Embora o suporte ao C# seja maduro, você encontrará menos recursos de aprendizagem para ele em comparação com o GDScript. Por isso é recomendado o C# principalmente para usuários que já possuem experiência com a linguagem.

Você deve usar a edição .NET do editor Godot para criar scripts em C#. Você pode baixá-lo na página de download do site Godot. Como Godot usa .NET 6, em teoria, você pode usar qualquer biblioteca ou estrutura .NET de terceiros no Godot, bem como qualquer linguagem de programação compatível com Common Language Infrastructure, como F#, Boo ou ClojureCLR. No entanto, C# é a única opção .NET com suporte oficial.

Atenção: Atualmente, projetos escritos em C# usando Godot 4 não podem ser exportados para a plataforma web. Para usar C# nessa plataforma, considere Godot 3. O suporte às plataformas Android e iOS está disponível a partir do Godot 4.2, mas é experimental e algumas limitações se aplicam.

C++ via GDExtension

O GDExtension permite escrever código de jogo em C++ sem a necessidade de recompilar na Godot. Você pode usar qualquer versão da linguagem ou misturar versões de compiladores diferentes para as bibliotecas compartilhadas geradas, graças ao uso de uma “internal C API Bridge”.

../ ../_images/scripting_cpp .png

GDExtension é a melhor escolha para desempenho. Você não precisa usá-lo durante todo o desenvolvimento do jogo, já que você pode escrever outras partes em GDScript ou C#. Ao trabalhar com GDExtension, os tipos, funções e propriedades disponíveis se assemelham muito à API C++ real de Godot.

Escolhendo uma das Linguagens de Script da Godot

Scripts são arquivos contendo código que você anexa a um node para estender sua funcionalidade. Godot oferece suporte a quatro linguagens de script oficiais, oferecendo flexibilidade entre desempenho e facilidade de uso. Você pode misturar linguagens, por exemplo, para implementar algoritmos exigentes com C ou C++ e escrever a maior parte da lógica do jogo com GDScript ou C#.

Fala aí, game dev: Qual você usa?

FAQ Rápido

O que são instâncias no Godot?

Instâncias são objetos que você cria em seu jogo. Elas representam elementos específicos, como personagens, inimigos, objetos do cenário, entre outros.

Como as instâncias são criadas no Godot?

As instâncias são criadas a partir de cenas, que são conjuntos de nós hierarquicamente organizados. Você pode instanciar uma cena para criar uma cópia dela em seu jogo.

Qual é a diferença entre uma cena e uma instância no Godot?

Uma cena é um conjunto de nós no Godot, enquanto uma instância é uma cópia dessa cena em execução no jogo. Você instancia uma cena para criar uma ou mais cópias dela como instâncias.

Como as propriedades das instâncias podem ser personalizadas no Godot?

As propriedades das instâncias podem ser personalizadas diretamente no editor do Godot ou por meio de scripts. Você pode definir valores específicos para as propriedades de cada instância.

Fale conosco nos comentários e diga oque achou dessa matéria e aproveite para ler mais notícias e matérias, como por exemplo, nosso guia para criar jogos, no nosso site.

Projeto de Lei 2796/2021 foi assinado nesta sexta-feira (3) pelo presidente Luiz Inácio Lula da Silva e passa a valer a partir da publicação no Diário Oficial, prevista para segunda-feira, 6/5; Marco Legal estabelece princípios e diretrizes para o setor de games no Brasil e cria condições reais para que ele se desenvolva
Continuando nossas aulas de Godot, entenda a Criação de Instâncias no Godot
Veja mais dicas do nosso guia de Blender para Novatos
Entenda a importância da Diversidade de Personagens em Games e saiba como criar personagens diversos e interessantes
Descubra as principais Ferramentas Para Criar Personagens de Games
Além disso, o Cosplay no Cosmódromo está de volta maior do que nunca este ano na arena de chefes de Destiny 2