- Um engine de jogos focado em 2D, leve e de alto desempenho, com suporte a recursos 3D
- Baseado em scripts Lua para controlar toda a lógica do jogo, com builds rápidos e hot reload para acelerar o desenvolvimento
- Disponível gratuitamente, sem custo de licença nem royalties
- Suporte multiplataforma robusto, permitindo publicar em várias plataformas com um único desenvolvimento
- Oferece ferramentas amigáveis para artistas, como editor de cenas e ferramentas de GUI, facilitando a produção visual
- Expansível e pronto para uso em produção com extensões nativas em C/C++ e integração com diversos SDKs
Principais recursos do Defold
- Não requer instalação: pode ser usado imediatamente, sem instalação nem configuração
- Editor visual e de código: permite trabalho criativo por meio de editor visual e editor de código
- Depurador Lua: oferece ferramenta para depurar scripts Lua
- Editores de cena e partículas: fornece vários editores para desenvolvimento de jogos 2D e 3D
- Sem custos: não há custo inicial, taxa de licença, royalties nem custo de runtime
Suporte multiplataforma
- Várias plataformas: é possível publicar jogos nas principais plataformas, como PlayStation, Nintendo Switch, Android, iOS, macOS, Linux, Windows, Steam, HTML5 e Facebook
- Sem ferramentas externas: oferece suporte a todas as plataformas a partir de uma única base de código, sem ferramentas externas
Estrutura do engine: foco em 2D, com 3D também
- O Defold é otimizado para desenvolvimento de jogos 2D, mas também traz recursos 3D integrados
- Arquitetura baseada em componentes para reforçar desempenho e modularidade
- Componentes 2D: sprites 2D, modelos Spine, editor de tilemap
- Componentes 3D:
- Carregamento de modelos 3D e animações
- Criação e modificação de meshes 3D em runtime
- Materiais personalizados e shaders baseados em GLSL
- Efeitos de partículas
- Editor de partículas com pré-visualização em tempo real
- Ajuste de parâmetros com editor de curvas
- Suporte a emissores de partículas 2D/3D
Recursos de animação
- Sistema de animação poderoso para uso com sprites, modelos, GUI e mais
- Animação flipbook: usada em sprites, nós de GUI e partículas
- Animações de Spine e de modelos
- Suporte a blending
- Tratamento de eventos por keyframe
- Aplicação de cinemática inversa e controle por script
- Animação de propriedades
- Todas as propriedades de sprites e GUI podem ser animadas
- Animação de propriedades personalizada baseada em script
- Uso de funções de easing personalizadas ou predefinidas
Ferramentas amigáveis para artistas
- Editor de GUI
- Composição em camadas com texto, imagens, nós de pizza e mais
- Recursos de clipping e máscara
- Suporte a layout automático e rotação de tela
- Texturas 9-slice, fontes bitmap/campo de distância
- Reutilização de elementos de UI com templates
- Editor de cenas
- Editor visual para montagem e posicionamento de assets
- Composição de game objects baseada em prefabs
- Agrupamento de objetos em hierarquia
Simulação física
- Integração completa com engines de física 2D/3D baseados em Box2D e Bullet
- Objetos estáticos/dinâmicos/cinemáticos
- Detecção de colisão por forma e raycast
- Detecção precisa de colisão em tilemaps
- Suporte a triggers, joints e motores
Tudo é possível com scripts Lua
- Scripts Lua
- Inclui editor de código, syntax highlighting, autocompletar e LSP
- Depurador embutido e inspeção de variáveis
- Pipeline de renderização totalmente scriptável
- Tipagem possível com a linguagem Teal
- Estilo de código reativo
- Suporte a estilo reativo em Lua mantendo alto desempenho
- Estrutura de comunicação assíncrona entre game objects
Suporte multiplataforma
- Verdadeiramente multiplataforma
- Publicação com um clique a partir da mesma base de código
- Steam, Facebook Instant e outros são suportados por extensões
- O editor oferece suporte a macOS, Windows e Linux
- Publicação mobile possível sem Xcode ou Android Studio
- Suporte a WebGL, OpenGL, Vulkan e Metal
- Muito leve
- Gerenciamento automático de recursos incluindo apenas os assets usados
- Empacotamento de atlas de sprites
- Configuração de compressão de textura por plataforma
- Batching dinâmico no pipeline de renderização
Desempenho e estabilidade
- Tamanho de binário muito menor que o de outros engines
- Cerca de 10% do tamanho de binário de Unity 6 e Godot 4.3 (Android, iOS, HTML5 e Windows)
- Excelente desempenho
- Capaz de renderizar dezenas de milhares de objetos (exemplo: Bunnymark)
- Funciona suavemente até em hardware antigo e navegadores mobile
- Versão estável
- Ciclo de lançamento de 4 semanas, incluindo 2 semanas de beta
- Quase não há mudanças que quebrem compatibilidade retroativa
- Falhas do engine acontecem muito raramente
Fluxo de trabalho rápido
- Hot reload
- Aplicação em tempo real de assets e lógica
- Suporte a hot reload e depuração sem fio em dispositivos
- Possibilidade de tratamento de reload personalizado via hooks Lua
- Workflow personalizado
- Uso de pipeline de build independente
- Suporte a build headless integrado a CI
- Compartilhamento de bibliotecas entre projetos
- Asset Portal com recursos oficiais e da comunidade
- Todos os dados são gerenciados como arquivos de texto, facilitando merges
- Build e refatoração
- Todos os builds, incluindo HTML5, são concluídos em poucos segundos
- Suporte a carregamento assíncrono e síncrono
- Refatoração automática de assets
- Otimização e depuração
- Profiler visual em tempo real
- Amostragem remota de frames baseada na web
- Possibilidade de capturar vídeo do jogo
- API de logs de crash nativos
Adicione recursos com extensões nativas
- É possível expandir os recursos do engine Defold com C, C++, ObjectiveC, Java e JavaScript
- Geração automática de engine customizado na nuvem
- Exemplos de uso
- Computação de alto desempenho e processamento de dados
- Acesso a hardware, como câmera mobile
- Integração com SDKs externos, como publicidade e analytics
Uso em produção e integração com terceiros
- O Defold é um engine de jogos pronto para produção, com integração a SDKs confiáveis
- Notificações push: Google, Apple
- Compras no app: Google, Apple, Amazon, Facebook
- Serviços de jogos: Facebook SDK, Google Play, Firebase
- Publicidade: suporte a mediação como AdMob e IronSource
- Rede: WebSockets, Nakama, PlayFab, Colyseus e mais
- Mais extensões podem ser encontradas no Asset Portal
Por que Defold?
- O Defold não afirma ser ideal para todos os jogos
- Mas, para alguns jogos, pode ser a melhor escolha
- Tem pontos fortes especializados em produtividade de desenvolvimento, leveza, multiplataforma e iteração rápida
2 comentários
Não é apenas Lua, é LuaJIT, então é muito rápido.
Comentários do Hacker News
Eles escolheram uma solução de licenciamento interessante. Gosto do fato de chamarem de licença de código disponível, em vez de código aberto
Muitos elogios por chamarem de "código disponível" e não usarem "código aberto" de forma incorreta. Também foi bom destacarem os acréscimos feitos sobre a licença baseada em Apache
Tenho carinho pelo Defold. Ele é único na área de desenvolvimento de jogos. Por exemplo, o editor de GUI embutido é escrito em Clojure
O Defold existe há bastante tempo. Não sei por que isso está na página principal agora. De qualquer forma, o Defold é bom. Comunidade, documentação etc. ficam abaixo do Godot
Lembro da sensação quando o Unity apareceu pela primeira vez. Parecia algo que ia dar certo
Há um envio relacionado em andamento. É sobre um jogo escrito em 60k LOC de Lua usando este motor
Descobri que não está no Nixpkgs
Gostaria de ver uma comparação mais profunda com o Godot em termos de funcionalidades. Pelo menos em recursos 3D, este último parece muito mais avançado
Acompanhei esse motor alguns anos atrás. Era o motor de jogo da King, e eles o liberaram quando deixaram de investir nele internamente
Em comparação com o Löve 2D, fico curioso sobre como ele se diferencia além de vir com uma IDE. O Defold parece oferecer suporte a mais plataformas, mas empacotar jogos para vários consoles pode envolver dependências bastante fechadas