Como o Godot Vai se Tornar um Gigante do Mercado de Jogos

O Godot tem crescido muito desde sua criação. Nesse artigo explico como ele vai continuar crescendo e vai se destacar entre os outros motores de jogos.

Como o Godot Vai se Tornar um Gigante do Mercado de Jogos

Godot Engine é um motor gráfico de jogos Open Source lançado em 2014. Seu crescimento desde então tem sido uma longa e desafiadora jornada. Grandes estúdios de jogos quase sempre usam uma das gigantes Unity e Unreal ou uma ferramenta própria. Entre as opções menos populares o Godot compete com várias outras ferramentas como Construct, GameMaker, GDevolop. Clickteam Fusion, RPG Maker, e várias outras. Toda ferramenta tem seus prós e contras e todas as engines mencionadas são ótimas ferramentas, mas a minha aposta vai pro Godot ser o novo gigante que ficará lado a lado da Unity e Unreal. Esse artigo vai explicar os motivos.

O Poder do Open Source

Open Source não é um movimento de briga contra código fechado ou grandes empresas de software. Assim como todas as outras coisas na vida, você consegue ser muito mais produtivo construindo coisas boas do que lutando contra coisas ruins. Permitir livremente o acesso e uso do código do seu software cria a oportunidade de atrair contribuições de outros desenvolvedores, atrair mais usuários e parceiros pela transparência e flexibilidade oferecida, e até ajuda a encontrar falhas de segurança.

A licença de uso 100% gratuita de softwares Open Source torna o Godot bastante atraente no meio de sua competição de outras engines, principalmente pra desenvolvedores independentes, onde cada centavo conta, e pra empresas do ramo de apostas, que precisam utilizar uma licença especial com custo adicional pra operar se forem criadas com a Unity ou Unreal.

Tudo isso foi essencial pro crescimento do Godot. Sua página no Github mostra que mais de 2000 desenvolvedores fizeram pelo menos 1 contribuição ao projeto. O modelo Open Source também permitiu o apoio da Software Freedom Conservancy pra gerir o recebimento de doações, e o investimento da OSS Capital.

Por um lado estúdios pequenos ficam aliviados ao saber que tem uma opção em que não precisam se preocupar com custos de suas ferramentas. De outro lado Estúdios AAA não se importam com o "Open Source" como um movimento nem com a sua ausência de custo. Eles vão alegremente pagar custos da licença de softwares pagos e assinar NDAs pra acesso parcial ao código se essa for a melhor opção que atenda todas as suas necessidades.

Estúdios AAA ainda podem se beneficiar do Open Source de forma bem indireta, e a melhor forma de explicar as vantagens começa falando sobre as empresas que escolhem usar sua própria engine. Há muitas empresas nessa lista como a Valve, Epic Games, Crytek, Bethesda, FromSoftware, EA Games, Square-Enix, Insomniac, etc. Essas empresas escolheram abrir mão de usar um software pronto e ter todo o trabalho de criar sua própria ferramenta. Isso não é um erro. É apenas uma diferença de prioridades. Algumas dessas empresas nem ao menos tinham as diversas opções de game engines que temos hoje quando começaram a fazer jogos. Algumas dessas empresas precisam de recursos muito específicos que nenhuma ferramenta atual pode oferecer. Algumas dessas empresas preferem priorizar o controle e compreensão maior de suas ferramentas.

Pra parte dos motivos citados acima, faz sentido considerar uma ferramenta Open Source. Um estúdio de jogos que escolhe criar sua própria ferramenta pode escolher usar o Godot como base pra economizar tempo assim como a Blind Squirrel Games utilizou o Godot como base pra criar sua própria engine, Xerus, pra lançar Sonic Colors: Ultimate. Graças a sua licença extremamente permissiva, qualquer pessoa ou empresa pode modificar e utilizar o Godot sem custos ou restrições. Pode até vender um produto derivado, como o RPG in a Box, um motor de jogos derivado do Godot para uma categoria de jogos mais específicos. Todos os softwares Open Source possuem essa característica, mas o Godot em particular se torna um candidato melhor pra softwares derivados por causa de um recurso chamado GDExtension, que dá ainda mais opções e facilidades pra alteração da ferramenta. Um software modificado é um equilíbrio interessante entre o controle e conhecimento absoluto de uma ferramenta que você mesmo fez e a economia de trabalho e tempo de não ter que refazer os recursos básicos de uma engine do zero. Essa alternativa com certeza não atende todas as necessidades das empresas citadas acima, mas existe um bom caso pra considerar essa opção.

A longo prazo o Godot se beneficia de algumas melhorias de código que alguns estúdios grandes podem ir contribuindo no processo. Como consequência outros estúdios se beneficiam dessa melhoria, reduzindo drasticamente o custo de manutenção da ferramenta. Essa colaboração é importante porque...

A Bethesda lança jogos com o mesmo bug há 12 anos!

Skyrim, lançado em 2011:

Starfield, lançado em 2023:

Em ambos os jogos é possível abusar do sistema de colisão quebrado pra sair entrar num "limbo" e acessar áreas não planejadas. Isso já seria grave, mas pra piorar a forma com que o inventário de NPCs vendedores é feita através de baús. Um baú inteiro é carregado na memória e renderizado no jogo ao invés de uma simples lista de itens que não está associada a nenhum objeto visível exceto o NPC vendedor. Além de não ser eficiente permite que jogadores explorem essa vulnerabilidade simplesmente interagindo com o baú. É fácil entender isso como uma questão de baixa prioridade e/ou limitações do software. Seja como for, usar um motor de jogos popular permite utilizar dezenas de ótimas soluções de outros desenvolvedores para várias funcionalidades. Um bug que durou 12 anos pode se beneficiar do processo comum em softwares populares de se buscar uma solução na comunidade desse software.

Arquitetura do Godot

Nós e Cenas

Crafting Dreams Together

A arquitetura de jogos feitos com Godot usa uma estrutura peculiar para organizar os elementos do jogo. Todos os elementos se encaixam na estrutura de dados de arvore. Um projeto é composto de cenas. Cada cena possui um nó raiz. Todo nó pode ter quantos nós filhos forem necessários. Um nó representa um elemento dentro do jogo. Por exemplo o personagem principal de um jogo de plataforma é um nó. As malhas do personagem formam um sub-nó do personagem. Os formatos de colisão formam outro sub-nó. E a maquina de estados pode ser implementada como uma sub-árvore do personagem e por aí vai. Nós podem ser dinamicamente criados e movidos na arvore com facilidade. Cenas podem utilizar nós de outras cenas. Tudo é dinâmico e reutilizável, de forma semelhante aos "prefabs" da Unity.

Como vantagem principal, é mais fácil e rápido entender e prototipar jogos.

GDScript

GDScript é uma linguagem interpretada criada pra atender da melhor forma possível os recursos da engine. Por ser uma linguagem interpretada, há preocupações de performance e uma visão inicial pode fazer parecer uma péssima decisão design, mas isso tem um bom motivo. Graças a essa e outras escolhas é possível iniciar seu projeto de jogo instantaneamente e ainda alterar o código e mover objetos enquanto o jogo está rodando. A perda de performance também não é tão pesada. Na hora de exportar seu jogo os arquivos .gd são convertidos para bytecode no formato .gdc com um ganho aproximado de até 300% em situações específicas.

Não gosta do GDScript ou precisa de ainda mais performance pra algum recurso específico? Não tem problema. Você também pode criar seus jogos com C#, C, C++, Rust, Nim, Haskell, Clojure, Swift, e D.

Flexibilidade: GDExtension e Addons

GDExtension e Addons permitem um gigantesco potencial de modificação e expansão dos recursos do Godot. Todos os aspectos do Godot podem ser alterados. Quer criar um nó novo? Um elemento de UI novo? Mudar totalmente a aparência? Implementar uma linguagem nova? Mudar todo o sistema de física? Implementar uma nova biblioteca de renderização? Existe um caminho bem documentado pra fazer tudo isso sem que você precise alterar o código-fonte e recompilar o Godot. Em alguns casos você nem precisa reiniciar o Godot.

Editor de Código Embutido

Você não precisa de um programa externo pra editar o código do seu jogo. O editor embutido possui todos os recursos modernos. Caso prefira usar um editor externo, isso também é possível e possui uma boa integração.

Git-Friendly

Todos os arquivos de script e de cena são salvos como texto, o que significa que é fácil controlar as alterações com o Git, eliminando a necessidade de ferramentas mais caras e trabalhosas como o Perforce pra maioria dos projetos.

O Fim do Começo

Uma sequencia de eventos importantes começaram em 2021 e 2023 que elevaram o Godot a uma posição de destaque.

Agosto de 2021

Foi acidentalmente revelado que Sonic Colors: Ultimate foi criado usando uma versão altamente modificada do Godot.

Março de 2023

A W4 Games, nova empresa dos criadores do Godot foi anunciada publicamente e recebeu um investimento de milhões de dólares.

Abril de 2023

Godot lançou sua incrivelmente esperada versão 4.0 que introduziu vários grandes melhorias e atualizações pra aumento de recursos e performance pra renderização, ferramentas de extensão como o GDExtension e melhorias nos addons.

Julho de 2023

A maior Game Jam do mundo reportou um grande crescimento do Godot, indo pra mais 1000 jogos e conquistando 19% da fatia de jogos totais.

Unity ainda domina com 59% dos jogos, mas é uma queda se comparado com os 61% do ano anterior.

Setembro de 2023

A Godot Foundation foi criada, permitindo independência do Patreon e da Software Freedom Conservancy pro recebimento de doações e criando uma estrutura legal pra criação de uma Asset Store oficial com venda de assets.

Unity fez um anuncio polêmico sobre monetizar instalações de jogos feitos com Unity. A decisão foi alterada após a resposta da comunidade, mas houve um impacto na confiança da empresa. Dezenas de estúdios indies reagiram negativamente a notícia.

Vários motores de jogos receberam atenção na época por causa de desenvolvedores procurando uma alternativa, mas o Godot se destacou mais. Por causa desse destaque, a empresa por trás do Terraria decidiu doar 100 mil dólares por mês ao Godot e mais mil dólares por mês.

Esses valores nem chegam perto dos gastos anuais das gigantes Unity e Unreal, que lidam com receitas brutas de centenas de milhões de dólares por ano, mas chamam atenção por destacar ainda mais o Godot entre as principais alternativas ás gigantes.

É importante lembrar que o conteúdo das redes sociais nem sempre é uma boa métrica pra medir os impactos reais. As pessoas mais ativas em redes sociais não são uma representação precisa da população geral. Grandes estúdios que trabalham com Unity como a Mihoyo, Ubisoft, Rockstar e Gameloft não reagiram publicamente à notícia. No modelo de negócios e estrutura total de custos que eles trabalham, as mudanças da Unity representam um impacto quase trivial, principalmente se comparado ao custo da licença da Unreal e do custo gigantesco de trocar o motor gráfico da empresa.

O que ainda falta?

O Godot já é uma ferramenta está num estado que pode ser usado pra lançar jogos de forma profissional. Seu uso profissional ainda tem muito espaço pra crescer mas já existem exemplos sólidos de times pequenos tendo grande sucesso como em Cruelty Squad e de nomes grandes como Sonic Colors: Ultimate. E caso você tenha um bom jogo que queira levar pros consoles isso também é possível.

O ponto mais importante é que ser "bom o bastante" não é o suficiente num ambiente tão competitivo como o mercado de jogos. Chamar atenção com pontos fortes únicos e paridade de funcionalidades é essencial pra que o Godot ganhe destaque e passe a ser considerada seriamente por grandes estúdios.

Consoles

Se você tem hoje um bom jogo feito com Godot, já pode procurar empresas como a GOTM, Lone Wolf Technology ou Pineapple Works pra levar seu jogo pra consoles, mas está limitado nas opções de consoles. O desafio está no lado Open Source da Engine. Os SDKs necessários pra levar jogos pra consoles não podem ser públicos, o que impede a compatibilidade com softwares Open Source.

Esse é um dos motivos pra criação da W4 Games. Uma empresa privada pode pedir acesso aos SDKs e trabalhar no código e burocracia necessárias pra levar um jogo pra consoles.

Suporte

Grandes empresas querem suporte para o seu software, ou em outras palavras, querem ter alguém pra culpar se as coisas derem errado. Esse é um dos motivos pra criação da W4 Games. Infelizmente essa possibilidade de suporte ao Godot ainda não é amplamente divulgada e nunca foi testada num projeto real.

Asset Store

Já existe uma Asset Store, mas ainda não é possível vender assets. Esse recurso só se tornou possível graças a criação recente da Godot Foundation, mas já foi anunciado oficialmente e "em breve" vai entrar em desenvolvimento.

Performance do Código

O GDscript atende a grande maioria dos desenvolvedores e outras linguagens podem ser usadas em casos específicos onde a performance seja mais importe, mas esse processo ainda é mais trabalhoso do que o ideal. Várias melhorias na performance do código e no sistema de linguagens de programação já estão planejadas e em desenvolvimento.

Recursos Gráficos e Performance Gráfica

Começo com uma consideração muito importante nesse aspecto: O coração de todo jogo é sua jogabilidade. É por isso que jogos como Minecraft, Terraria, Undertale, Stardew Valley, etc. conseguiram imenso sucesso. Grafico é sim importante, mas perceba como Elden Ring conseguiu suprir deficiências do lado técnico de gráficos com direção de arte e ganhou o prêmio de Jogo do Ano pela The Game Awards em 2022.

Dito isso, o Godot ainda precisa melhorar muito nesse aspecto. A atualização 4.0 trouxe muitos recursos e performance o bastante pra viabilizar um projeto grande real, mas não se compara com a estabilidade e variedade de recursos da Unity ou de grandes diferenciais como o "Lumen" e "Nanites" da Unreal. Mais alguns anos de desenvolvimento são necessários para atender estúdios com ambições maiores no lado gráfico.

O Futuro é Agora

Nenhuma ferramenta jamais vai tornar todas as outras obsoletas. Toda escolha de design ou estrutura tem grandes vantagens e desvantagens se comparada a outra escolha. A escolha de qual ferramenta usar depende muito das suas necessidades e mais ninguém pode escolher isso melhor do que você mesmo. Todo esse artigo foi uma defesa do Godot mas eu sinceramente fico feliz por você se você encontrar a melhor ferramenta pra você independente de qual seja.

Seja como for, espero que tudo isso tenha pelo menos te convencido a baixar o Godot, que pesa menos de 100 MB, e experimentar.

Até a próxima!