Voltar para o Blog
Quest Log

Como Criar Jogo no Defold: Guia do Primeiro Projeto 2D

Editor de engine de jogos minimalista com cena 2D de nave e moedas, ao lado de um script em Lua aberto

Como criar jogo no Defold do zero: game objects, components, collections, scripts em Lua e um passo a passo conceitual para o seu primeiro jogo 2D.

Ferramenta:Defold

Se você quer aprender como criar jogo no Defold, provavelmente já ouviu os dois argumentos que puxam gente pra essa engine: ela é gratuita de verdade, sem licença nem royalties, e gera jogos 2D absurdamente leves para web e celular. Os dois argumentos são verdadeiros. O que falta na maioria dos textos é o mapa de como a engine pensa, porque o Defold organiza o jogo de um jeito diferente de Godot e GameMaker, e quem entra esperando o mesmo fluxo se perde nos primeiros dias. Este guia resolve isso: conceitos centrais, passo a passo conceitual do primeiro jogo e uma conversa honesta sobre quando o Defold é a escolha certa.

Antes de tudo, o contexto rápido. O Defold é mantido pela Defold Foundation, uma fundação criada para garantir que a engine siga gratuita e independente. Não tem assinatura, não tem royalties, e o código-fonte é público sob uma licença permissiva própria. O editor é leve, roda bem em máquina modesta, e a engine exporta para HTML5, Android, iOS e desktop com builds pequenas, o que faz dela uma das melhores opções para jogo de navegador e casual mobile. Se quiser a análise completa de prós e contras, o post sobre se a Defold engine vale a pena cobre isso em detalhe.

Os conceitos centrais: como o Defold pensa

Quatro ideias sustentam tudo no Defold. Vale gastar dez minutos aqui, porque é exatamente essa parte que derruba quem vem de outra engine.

Game object é a entidade básica do jogo: o jogador, a moeda, o inimigo. Um game object sozinho é só um ponto no espaço com posição, rotação e escala. Quem dá cara e comportamento a ele são os components.

Components são as peças que você pluga num game object: um sprite para a imagem, um collision object para a física, um sound para o áudio, um script para a lógica. A composição é o jeito de construir: em vez de herdar de uma classe gigante, você monta cada objeto com as peças de que ele precisa.

Collections são agrupamentos de game objects, e funcionam como as cenas ou fases. Uma collection pode conter o jogador, o cenário e vinte moedas, e o jogo carrega collections conforme precisa: a do menu, a da fase 1, a da fase 2.

Mensagens são o jeito como as coisas conversam. No Defold, um script raramente chama função de outro objeto diretamente: ele posta uma mensagem endereçada ao outro objeto, que decide o que fazer quando recebe. No começo parece burocracia. Com o projeto crescendo, você percebe que isso força um desacoplamento que mantém o código organizado, uma lição de arquitetura que muita engine não te obriga a aprender.

Lua: a linguagem do Defold

Toda a lógica é escrita em Lua, linguagem leve criada no Brasil, na PUC-Rio, e usada há décadas como linguagem de script na indústria de jogos. A sintaxe é das mais simples que existem, o que compensa parte da curva da arquitetura por mensagens. Um script do Defold é um arquivo com funções de ciclo de vida que a engine chama sozinha: init roda quando o objeto nasce, update roda a cada frame, on_message recebe as mensagens e on_input trata entrada do jogador. O esqueleto de um script que se prepara para receber input é assim:

function init(self)
    msg.post(".", "acquire_input_focus")
end

function on_input(self, action_id, action)
    if action_id == hash("left") then
        -- mover o jogador para a esquerda
    end
end

Se você já brincou com Lua em outro contexto, metade do caminho está feito. Inclusive, se gosta da linguagem mas quer um ambiente mais minimalista ainda, vale conhecer o caminho de criar jogo com LÖVE2D e Lua, que é primo filosófico do Defold.

Aqui cabe uma pausa honesta. O Defold tem documentação oficial boa, mas a maior parte em inglês, e bem menos tutorial em português que Godot ou Unity. Aprender engine assim, sozinho, é totalmente possível, mas o custo escondido é alto: você gasta mais tempo decidindo o que estudar do que estudando, trava em erro bobo por dias e, sem ninguém pra cobrar ritmo, o projeto esfria. Quem quer virar game dev de verdade, com jogo publicado e evolução constante, se beneficia muito de um caminho estruturado, com ordem definida, projetos guiados e gente mais experiente destravando as paradas antes de virarem desistência.

Black Friday: leve 3, pague 2
Travou no código ou na arte? Na Black Friday, leve os dois.

Curso de Godot + curso de Arte 2D + um curso bônus que você só descobre lá dentro. De R$ 2.691 por R$ 997, acesso vitalício, em até 18x no cartão.

Quero os 3 cursos com Godot
Suporte no WhatsAppAcesso vitalício7 dias de garantia

Como criar jogo no Defold: passo a passo do primeiro projeto

Vamos ao primeiro jogo. A receita clássica aqui é um coletor: um personagem que se move e pega moedas, com placar. É pequeno de propósito, porque o objetivo do primeiro projeto é completar o ciclo, não impressionar ninguém.

Passo 1: crie o projeto e conheça o editor

Crie um projeto novo a partir de um template básico. O editor do Defold é enxuto: uma árvore de arquivos do projeto, a visualização da cena e o painel de propriedades. Repare que tudo no projeto é arquivo: collections, game objects, scripts, atlas de imagens. Essa transparência ajuda muito quando o projeto cresce e quando você usa controle de versão.

Passo 2: importe as imagens e monte um atlas

Traga dois ou três sprites simples, o jogador e a moeda, e agrupe num atlas, que é o arquivo onde o Defold organiza as imagens que a engine vai usar. Não gaste tempo com arte: quadrado colorido resolve. Arte entra depois que a mecânica funciona.

Passo 3: monte o game object do jogador

Crie um game object para o jogador e adicione dois components: um sprite apontando para a imagem no atlas e um script em Lua. No script, use init para pedir o foco de input e on_input para tratar as teclas, movendo o objeto com as funções de posição da engine, lendo a posição atual e aplicando o deslocamento a cada atualização. Coloque o game object na collection principal, rode o jogo e teste. Esse ciclo curto de rodar e ajustar é seu melhor amigo: o Defold compila e abre rápido, aproveite isso.

Passo 4: crie a moeda com colisão

Crie o game object da moeda com um sprite e um collision object marcado como trigger, que detecta sobreposição sem empurrar fisicamente. Dê um grupo de colisão para a moeda e outro para o jogador, e configure cada um para enxergar o outro. No script do jogador, trate a mensagem de colisão que a engine envia quando os dois se encostam: ao receber, delete a moeda e some um ponto. É o estilo Defold na prática: a engine avisa por mensagem, o seu script reage.

Passo 5: espalhe moedas e mostre o placar

Espalhe várias cópias da moeda pela collection e crie um placar na tela usando uma GUI simples com um nó de texto. A cada moeda coletada, atualize o texto, de novo via mensagem: o script do jogador avisa o script da GUI que o placar mudou. Quando as moedas acabarem, mostre uma mensagem de vitória. Começo, meio e fim: isso é um jogo completo.

Passo 6: exporte para HTML5 e mostre para alguém

Aqui entra a cereja do Defold: exporte o projeto para HTML5 e veja seu jogo rodando no navegador, leve e com carregamento quase instantâneo. Mande o link para um amigo. Jogo que outra pessoa jogou muda o seu cérebro: deixa de ser estudo e vira produto, e o feedback real te ensina mais que qualquer tutorial.

Quando o Defold faz sentido, e quando a Godot ganha

Conversa franca de final de guia. O Defold brilha num cenário específico: jogo 2D leve, principalmente para web e mobile, feito por alguém que já tem alguma base de lógica e não depende de tutorial em português para cada passo. Nesse cenário, a build pequena, o editor rápido e a arquitetura organizada são vantagens reais que você sente todo dia.

A Godot ganha na maioria dos outros cenários de iniciante: tem muito mais material em português, comunidade local enorme, 3D de verdade quando você quiser experimentar, e um fluxo de cena e nós que a maioria das pessoas acha mais intuitivo no começo. Não é que uma engine seja melhor que a outra em termos absolutos: é que elas otimizam para coisas diferentes. Se essa dúvida ainda está viva aí, o comparativo Defold ou Godot, por onde começar desce nesse detalhe.

O resumo de tudo: o Defold é uma engine gratuita de verdade, séria e leve, e criar o primeiro jogo nela é questão de entender quatro conceitos, game objects, components, collections e mensagens, e aceitar que a lógica flui por Lua e troca de mensagens. Escolha um projeto minúsculo, siga o passo a passo, exporte para o navegador e termine. Engine não faz game dev: ciclo completo de jogo terminado faz. O resto é repetição com ambição crescente.

Perguntas frequentes

O Defold é gratuito mesmo?

Sim, gratuito de verdade. A engine é mantida pela Defold Foundation, não cobra licença, não cobra assinatura e não cobra royalties sobre o que o seu jogo faturar. O código-fonte é público sob uma licença permissiva própria, e o uso comercial é liberado sem pegadinha.

Qual linguagem o Defold usa?

A linguagem de script do Defold é Lua, uma linguagem leve criada no Brasil e usada há décadas na indústria de jogos. A lógica vive em arquivos de script com funções de ciclo de vida como init e update, e os objetos do jogo conversam entre si por troca de mensagens.

O Defold é bom para iniciante?

Dá para começar nele, mas exige mais autonomia que Godot ou GameMaker: há menos material em português e a arquitetura por mensagens pede um pouco mais de cabeça de programador. É uma ótima segunda engine, e uma primeira engine viável para quem já tem alguma base de lógica.

Defold ou Godot para fazer o primeiro jogo?

Para a maioria dos iniciantes brasileiros, Godot, por causa do volume de tutorial e comunidade em português. O Defold ganha quando a prioridade é jogo 2D leve para web e mobile, onde o tamanho pequeno da build e o carregamento rápido fazem diferença real na retenção.

Que tipo de jogo dá para fazer no Defold?

O ponto forte é 2D: puzzle, plataforma, arcade, jogo casual de celular e jogo de navegador. A engine exporta para HTML5, Android, iOS e desktop com builds bem leves. Existe alguma capacidade 3D, mas não é o foco, e projetos 3D ficam melhor servidos em outra engine.