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
Isso será exportado para some_name.exe
, assumindo que há um conjunto prévio chamado "Windows Desktop" e o modelo pode ser encontrado. (O nome pré-definido para exportação deve ser escrito entre aspas se contiver espaços ou caracteres especiais). O caminho de saída é relativo ao caminho do projeto ou absoluto; não respeita o diretório que o comando foi invocado.
A extensão do arquivo de saída deve corresponder àquela usada pelo processo de exportação do Godot:
Windows:
.exe
macOS:
.zip
(de todas as plataformas) ou.dmg
(somente ao exportar do macOS)..app
não é suportado diretamente, embora o arquivo ZIP gerado contenha um pacote.app
.Linux: Qualquer extensão (incluindo nenhuma).
.x86_64
é normalmente usado para binários x86 de 64 bits.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
Muitas vezes é útil combinar o sinalizador --export
com o sinalizador --path
, para que você não precise cd
para a pasta do projeto antes de executar o comando:
godot --path /path/to/project --export "Windows Desktop" some_name.exe
Ver também
Veja Tutorial de linha de comando para mais informações sobre como usar o Godot na linha de comando.
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
.