Exportando projetos¶
Por que exportar?¶
Originalmente, Godot não tinha nenhum meio de exportar projetos. Os desenvolvedores compilariam os binários adequados e construiriam os pacotes para cada plataforma manualmente.
Quando mais desenvolvedores (e até mesmo não programadores) começaram a usá-lo, e quando nossa empresa começou a fazer mais projetos ao mesmo tempo, ficou evidente que isso era um gargalo.
No PC¶
Distribuir um projeto de jogo no PC com Godot é bastante fácil. Deixe o binário Godot no mesmo diretório que o arquivo project.godot
, depois comprima o diretório do projeto e pronto.
Parece simples, mas provavelmente há algumas razões pelas quais o desenvolvedor pode não querer fazer isso. A primeira é que pode não ser desejável distribuir cargas de arquivos. Alguns desenvolvedores podem não gostar de usuários curiosos espiando como o jogo foi feito, outros podem acha-lo deselegante, e assim por diante. Outra razão é que o desenvolvedor pode preferir um binário especialmente compilado, que é menor em tamanho, mais otimizado e não inclui ferramentas como o editor e o depurador.
Finalmente, Godot tem um sistema simples, mas eficiente para criar DLCs como arquivos extras de pacotes..
No mobile¶
O mesmo cenário nas plataformas móveis é um pouco pior. Para distribuir um projeto nesses dispositivos, um binário para cada uma dessas plataformas é criado, e em seguida adicionado a um projeto nativo juntamente com os dados do jogo.
Isso pode ser problemático porque significa que o desenvolvedor deve ser familiarizado com o SDK de cada plataforma antes mesmo de ser capaz de exportar. Embora aprender cada SDK seja sempre encorajado, pode ser frustrante ser forçado a fazê-lo em um momento indesejado.
Há também outro problema com essa abordagem: diferentes dispositivos preferem alguns dados em diferentes formatos a serem executados. O principal exemplo disso é a compressão de textura. Todo o hardware do PC usa compressão S3TC (BC) e que foi padronizado por mais de uma década, mas dispositivos móveis usam diferentes formatos para compactação de textura, como PVRTC (iOS) ou ETC (Android).
Exportação a partir da linha de comando¶
Em produção, é útil automatizar construções, e o Godot suporta isso com os parâmetros de linha de comando -export
e -export-debug
. Exportar da linha de comando ainda requer um conjunto prévio de exportação para definir os parâmetros de exportação. Uma invocação básica do comando seria:
godot --export "Windows Desktop" some_name.exe
This will export to some_name.exe
, assuming there is a preset
called "Windows Desktop" and the template can be found. (The export preset name
must be written within quotes if it contains spaces or special characters.)
The output path is relative to the project path or absolute;
it does not respect the directory the command was invoked from.
The output file extension should match the one used by the Godot export process:
Windows:
.exe
macOS:
.zip
(from all platforms) or.dmg
(only when exporting from macOS)..app
is not supported directly, although the generated ZIP archive contains an.app
bundle.Linux: Any extension (including none).
.x86_64
is typically used for 64-bit x86 binaries.HTML5:
.zip
Android:
.apk
iOS:
.zip
Você também pode configurá-lo para exportar somente o arquivo PCK ou ZIP, permitindo que um único arquivo de pacote principal exportado seja usado com vários executáveis Godot. Ao fazer isso, o nome da predefinição de exportação ainda deve ser especificado na linha de comando:
godot --export-pack "Windows Desktop" some_name.pck
It is often useful to combine the --export
flag with the --path
flag, so that you do not need to cd
to the project folder before running
the command:
godot --path /path/to/project --export "Windows Desktop" some_name.exe
Ver também
See Tutorial de linha de comando for more information about using Godot from the command line.
Formatos de arquivo PCK versus ZIP¶
Cada formato tem suas vantagens e desvantagens. PCK é o formato padrão e recomendado para a maioria dos casos de uso, mas você pode querer usar um arquivo ZIP, dependendo de suas necessidades.
Formato PCK:
Formato sem compressão; Tamanho de arquivo maior, mas mais rápido para ler/gravar.
Não é legível e gravável utilizando ferramentas normalmente presentes no sistema operacional do usuário, embora existam ferramentas de terceiros para extrair e criar arquivos PCK.
Formato ZIP:
Formato comprimido. Tamanho de arquivo menor, porém mais lento para ler/gravar.
Legível e gravável usando ferramentas normalmente presentes no sistema operacional do usuário. Isto pode ser útil para tornar o modding mais fácil (veja também Exportando pacotes, patches e mods).
Aviso
Devido a um bug conhecido, ao usar um arquivo ZIP como um arquivo de pacote, o binário exportado não tentará usá-lo automaticamente. Portanto, você deve criar um script de inicialização que o player pode clicar duas vezes ou executar a partir de um terminal para iniciar o projeto:
:: launch.bat (Windows)
@echo off
my_project.exe --main-pack my_project.zip
# launch.sh (Linux)
./my_project.x86_64 --main-pack my_project.zip
Salve o script do iniciador e coloque-o na mesma pasta do binário exportado. No Linux, certifique-se de dar permissões executáveis ao script do iniciador usando o comando chmod +x launch.sh
.