R: Sim, a engine Defold e editor com todas as funcionalidades é completamente de graça. Nenhum custo escondido, taxa ou royalties. Apenas de graça.
R: Um dos objetivos da Defold Foundation é ter certeza que software Defold esteja disponível para desenvolvedores ao redor do mundo e que o código fonte esteja disponível de graça.
R: Nós estamos muito compromissados à Defold. A Defold Foundation foi planejada de forma que garante a existência como um proprietário responsável para Defold por muitos anos à frente. Não vai acabar.
R: Absolutamente. A Defold é usada por um número crescente de desenvolvedores profissionais de jogos e estúdios de jogos. Verifique demonstração de jogos para exemplos de jogos criados usando Defold.
R: Nós registramos uso de dados anônimos dos nossos sites e do editor Defold para melhorar nossos serviços e produtos. Não existe nenhum rastreamento de usuário nos jogos que você cria (a menos que você adicione serviços de análise/analytics por conta própria). Leia mais sobre isto em nossa Política de Privacidade.
R: A Defold foi criada por Ragnar Svensson e Christian Murray. Eles começaram a trabalhar na engine, editor e servidores em 2009. O King e a Defold comeraçam uma parceria em 2013 e o King adquiriu a Defold em 2014. Leia a história completa aqui.
R: As seguintes plataformas são suportadas para o editor/ferramentas e o tempo de execução da engine (engine runtime):
System | Version | Architectures | Supported |
---|---|---|---|
macOS | 11 Big Sur | x86-64, arm-64 | Editor and Engine |
Windows | Vista | x86-32, x86-64 | Editor and Engine |
Ubuntu (1) | 18.04 | x86-64 | Editor |
Linux (2) | Any | x86-64 | Engine |
iOS | 11.0 | arm-64 | Engine |
Android | 4.4 (API level 19) | arm-32, arm-64 | Engine |
HTML5 | asm.js, wasm | Engine |
(1 O editor é construído e testado para Ubuntu 18.04 64-bit. Deve funcionar em outras distribuições também, mas não damos garantias.)
(2 A execução da engine deve rodar na maioria das distribuições Linux 64-bit desde que os drivers gráficos estejam atualizados e suportando OpenGL ES 2.0.)
R: O editor usará até 75% da memória disponível do sistema. Em um computador com 4 GB de RAM isto deve ser o suficiente para projetos Defold menores. Para projetos de tamanho médio e grande é recomendado usar 6 GB ou mais de RAM.
R: Com um clique você pode publicar para Nintendo Switch, iOS, Android e HTML5 como também macOS, Windows e Linux. É realmente uma base de código com múltiplas plataformas suportadas.
R: Defold usa OpenGL ES 2.0 para renderização gráfica, o qual está disponível em todas as plataformas suportadas.
R: Absolutamente! A engine é uma engine 3D madura. Entretanto o conjunto de ferramentas (toolset) é feito para 2D, por isso terá que fazer muito trabalho pesado por conta própria. Um suporte 3D melhor está planejado.
R: Lógica de jogo no seu projeto Defold é principalmente escrito usando a linguagem Lua (especificamente Lua 5.1/LuaJIT, recorrer ao manual Lua para detalhes). Lua é uma linguagem leve e dinâmica que é rápida e muito poderosa. Você também pode usar código nativo (C/C++, Objective-C, Java e Javascript dependendo da plataforma) para estender a engine Defold com novas funcionalidades. Quando construindo materiais personalizados, a linguagem de shading (shader language) do OpenGL ES SL é usada para escrever vertex e fragment shaders.
R: Sim, selecione a opção “Sobre” no menu de Ajuda. O popup mostra claramente a versão beta da Defold e, mais importante, a release específica SHA1. Para verificar versões de runtime, utilize sys.get_engine_info()
.
A última versão beta disponível para download de http://d.defold.com/beta pode ser verificado abrindo http://d.defold.com/beta/info.json (o mesmo arquivo existe também para versões estáveis: http://d.defold.com/stable/info.json)
R: Sim, verifique sys.get_sys.info()
.
R: Sim. O editor beta Defold verifica por uma atualização na inicialização, assim como a versão estável da Defold faz.
R: Quando estiver enviando, a Apple possui três checkboxes para os três casos de uso válidos para o IDFA:
Se você marcar a opção 1, o revisor de app procurará por propagandas que aparecerão no app. Se seu jogo não mostra propagandas, o jogo pode ser rejeitado. Defold em si não utiliza id de propaganda (AD id).
R: Defold possui suporte para comprar dentro do app e várias soluções de publicidade. Verificar a categoria de Monetização no Portal de Ativos para uma lista atualizada das opções disponíveis de monetização.
R: Verifique se existem espaços no path da aplicação Defold. Por exemplo, se você colocar a pasta Defold-macosx contendo a versão macOS do editor em sua pasta Applications, então deve estar tudo bem. Se você renomear a pasta Defold macosx o editor pode não inicializar mais. No Windows, colocar Defold dentro de C:\Program Files\ pode ocasionar este problema. Isto é por conta de um bug conhecido na base do framework Eclipse.
R: O processo de build pode falhar ao realizar rebuild dos arquivos em casos raros onde já tinha encontrado erro de build que você arrumou. Forçe um rebuild completo selecionando Project > Rebuild And Launch a partir do menu.
R: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
Esta exceção ocorre quando o editor tenta fazer uma conexão https mas a cadeia de certificados fornecida pelo servidor não pode ser verificada.
Ver este link para detalhes neste erro.
A: Change the scaling factor before running Defold. source
$ gsettings set org.gnome.desktop.interface scaling-factor 2
$ ./Defold
A: An alternative solution, especially when you wish to scale up by a fraction, is to modify the Defold/config
file and on the vmargs
line add glass.gtk.uiScale
: source
vmargs = -Dglass.gtk.uiScale=1.5,-Dfile.encoding=UTF-8,...
vmargs = -Dglass.gtk.uiScale=175%,-Dfile.encoding=UTF-8,...
vmargs = -Dglass.gtk.uiScale=192dpi,-Dfile.encoding=UTF-8,...
More on this value in the Arch Linux HiDPI wiki article.
A: Start the editor like this:
$ GTK_CSD=0 ./Defold
A: On certain distributions (like Ubuntu 18) there is an issue with the version of jogamp/jogl Defold uses vs. the version of Mesa on the system. You can override which GL version that gets reported when calling glGetString(GL_VERSION)
by setting the MESA_GL_VERSION_OVERRIDE
to 2.1 or a larger value but less than or equal to the version of your driver. You can check which is the maximum OpenGL version your driver supports using glxinfo
:
glxinfo | grep version
Example output (look for “OpenGL version string: x.y”):
server glx version string: 1.4
client glx version string: 1.4
GLX version: 1.4
Max core profile version: 4.6
Max compat profile version: 4.6
Max GLES1 profile version: 1.1
Max GLES[23] profile version: 3.2
OpenGL core profile version string: 4.6 (Core Profile) Mesa 20.2.6
OpenGL core profile shading language version string: 4.60
OpenGL version string: 4.6 (Compatibility Profile) Mesa 20.2.6
OpenGL shading language version string: 4.60
OpenGL ES profile version string: OpenGL ES 3.2 Mesa 20.2.6
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
GL_EXT_shader_implicit_conversions, GL_EXT_shader_integer_mix,
Use version 2.1 or version matching your graphics driver:
$ MESA_GL_VERSION_OVERRIDE=2.1 ./Defold
$ MESA_GL_VERSION_OVERRIDE=4.6 ./Defold
A: On certain distributions (for instance Ubuntu 20.04) there is an issue with the new Mesa drivers (Iris) when running Defold. You can try using an older driver version when running Defold:
$ MESA_LOADER_DRIVER_OVERRIDE=i965 ./Defold
A: The libffi version of your distribution and the one required by Defold (version 6 or 7) does not match. Make sure libffi.so.6
or libffi.so.7
is installed under /usr/lib/x86_64-linux-gnu
. You can download libffi.so.7
like this:
$ wget http://ftp.br.debian.org/debian/pool/main/libf/libffi/libffi7_3.3-6_amd64.deb
$ sudo dpkg -i libffi7_3.3-6_amd64.deb
Next you specify the path to this version in the LD_PRELOAD
environment variable when running Defold:
$ LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libffi.so.7 ./Defold
A: Yes, it might be possible to use Defold if you enable software rendering. You can enable software rendering by setting the LIBGL_ALWAYS_SOFTWARE
environment variable to 1:
$ LIBGL_ALWAYS_SOFTWARE=1 ./Defold
A: Check the console output in the editor. If you get the following message:
dmengine: error while loading shared libraries: libopenal.so.1: cannot open shared object file: No such file or directory
Then you need to install libopenal1. The package name varies between distributions, and in some cases you might have to install the openal and openal-dev or openal-devel packages.
$ apt-get install libopenal-dev
A: This is likely caused by the window manager used (for instance Qtile or i3). This is a known issue in JavaFX and it can either be solved by setting the GDK_DISPLAY
environment variable to 1:¨
$ GDK_DISPLAY=1 ./Defold
D=2
Or by modifying the Defold/config
file and on the vmargs
line add -Djdk.gtk.version=2
:
vmargs = -Djdk.gtk.version=2,-Dfile.encoding=UTF-8,...
A: Yes, set the immersive_mode setting in the Android section of your game.project file. This lets your app take over the whole screen and capture all touch events on the screen.
A: Android detects that you try to install the app with a new certificate. When bundling debug builds, each build will be signed with a temporary certificate. Uninstall the old app before installing the new version:
$ adb uninstall com.defold.examples
Success
$ adb install Defold\ examples.apk
4826 KB/s (18774344 bytes in 3.798s)
pkg: /data/local/tmp/Defold examples.apk
Success
A: In some cases it is not possible to run a game in the browser locally from the filesystem. Running from the editor serves the game from a local web server. You can, for instance, use SimpleHTTPServer in Python:
$ python -m SimpleHTTPServer [port]
A: This usually happens when you are using Windows and make a build and commit it to Git. If you have the wrong line-ending configuration in Git it will change your line endings and thus also the data size. Follow these instructions to solve the problem: https://docs.github.com/en/free-pro-team@latest/github/using-git/configuring-git-to-handle-line-endings
A: This error can happen on computers using AMD Radeon GPUs. Make sure to update your graphics drivers.
A: Try running Defold as administrator. Right-click on the Defold executable and select “Run as Administrator”.
A: Make sure to update your driver to a version higher than or equal to 27.20.100.8280. Check with the Intel Driver Support Asistant. Additional information can be found in this forum post.
If the editor crashes with a log mentioning Caused by: java.awt.AWTError: Assistive Technology not found: com.sun.java.accessibility.AccessBridge
then follow these steps:
C:\Users\<username>
.accessibility.properties
using a standard text editor (Notepad is fine)assistive_technologies=com.sun.java.accessibility.AccessBridge
screen_magnifier_present=true
#
`) in front of theses linesA: You will be able to create application bundles from the command line tools. Information about how to test on PlayStation®4, PlayStation®5 and Nintendo Switch hardware will be provided to you when you are given access to the respective platforms.
A: Yes, all of the standard Defold API functions are available also for the console platforms. In addition to the standard functionality you will also have access to a couple of PlayStation®4, PlayStation®5 and Nintendo Switch specific functions, but in general the code should be able to remain exactly the same across multiple platforms.
R: Sim. São chamados de coleções(collections). Elas permitem que você crie hieraquias de game object complexas e armazene-as como building blocks separados que você pode instanciar no editor ou em tempo de execução (por meio de collection spawning). Para nós GUI existe o suporte para templates GUI.
R: Existe chance de você estar tentando adicionar um filho em um arquivo de game object e isso não é possível. Para entender o porquê, tem que se lembrar que hierarquias pai-filho são estritamente uma hierarquia de transformação scene-graph. Um game object que não foi colocado (ou gerado) dentro de uma cena (coleção) não é parte de uma scene-graph e então não pode ser parte de uma hierarquia scene-graph.
R: Relações pai-filho espressam nada mais do que relações de transformação scene-graph e não devem ser confundidos por agregados de orientação objeto. Se você tenta focar no dados do seu jogo e em como melhor transformá-los enquanto seu jogo altera seu estado, você provavelmente encontrará menos necessidade de enviar mensagens com o estado dos dados para tantos objetos ao mesmo tempo. No caso de precisar de hieraquias de dados, estes são facilmente construídos e lidados em Lua.
R: Isso é um artefato visual chamado “edge bleeding” onde você encontra os pixels de borda