Exportando proyectos¶
¿Porqué exportar?¶
Originariamente, Godot no tenía ningún medio para exportar proyectos. Los desarrolladores tenían que compilar los archivos binarios necesarios y hacer el empaquetado para cada plataforma manualmente.
Cuando más desarrolladores (y algunos no-programadores) empezaron a usarlo, y cuando nuestra compañía empezó a recibir más y más proyectos a la vez, se volvió evidente que aquello era un cuello de botella.
En PC¶
Distribuir un proyecto de juego en PC con Godot es bastante fácil. Deje el binario godot.exe (o godot) en el mismo lugar que el archivo project.godot, comprima el proyecto y listo.
Esto suena sencillo, pero probablemente haya algunas razones por las que el desarrollador no quiera hacerlo. La primera es que podría no ser conveniente distribuir una gran cantidad de archivos. Algunos desarrolladores no les gustará que los usuarios curiosos se fijen en cómo se hizo el juego, otros pueden encontrarlo poco elegante, etc. Otra razon es que se puede querer tener un binario compilado especialmente para el juego, de menor tamaño o más optimizado, que no incluya herramientas del editor y depurador.
Finally, Godot has a simple but efficient system for creating DLCs as extra package files.
Advertencia
Godot does not support loading PCK files larger than 2 GB yet. If your exported project data is larger than 2 GB, you will need to split it into several PCK files by exporting additional PCKs and loading them at run-time.
En móvil¶
El mismo escenario en dispositivos móviles es un poco peor. Para distribuir un proyecto en estos dispositivos, se compila un archivo binario para cada una de las plataformas y después se añade a un proyecto nativo junto con los datos del juego.
Esto puede ser problemático porque significa que el desarrollador debe de estar familiarizado con los kits de desarrollo de cada plataforma antes de ser capaz de exportar. Aunque siempre es recomendable estudiar cada kit de desarrollo, puede ser frustrante verse forzado a hacerlo cuando no se desea.
Hay otro problema con este sistema: diferentes dispositivos prefieren algunos tipos de datos en formatos distintos para funcionar. El mejor ejemplo de esto es la compresión de texturas. Todo el hardware de PC usa compresión S3TC (BC) y ese ha sido el estándar desde hace más de una década, pero los dispositivos móviles usan diferentes formatos para la compresión de texturas, como el PVRCT (iOS) o ETC (Android).
Exportando desde la línea de comandos¶
En producción es útil automatizar las compilaciones, Godot ofrece soporte a esto con los parámetros de línea de commandos --export
y --export-debug
. Exportar desde la línea de comandos aún requiere una plantilla de exportación para definir los parámetros de exportación. Una invocación básica comandos podría ser:
godot --export "Windows Desktop" some_name
Asumiendo que hay un preset llamado "Windows Desktop" y que la plantilla se puede encontrar, se exportará a some_name.exe
. La ruta de salida es relativa a la ruta del proyecto o absoluta. No se respeta el directorio desde el cual el comando fue invocado.
También puedes configurarlo para exportar sólo el archivo PCK o ZIP, permitiendo que una sola exportación sea usada con múltiples ejecutables de Godot. Esto sucede si el nombre del destino termina con .pck
o .zip
.
A menudo es útil combinar el flag --export
con el flag --path
, y crear una plantilla de exportación dedicada a exportar de manera automatizada:
godot --path path/to/project --export "pck" game_name.pck
PCK contra formatos de archivo ZIP¶
Cada formato tiene sus ventajas y desventajas. PCK es el formato predeterminado y recomendado para la mayoría de los casos de uso, pero puede que quieras usar un archivo ZIP en su lugar, dependiendo de tus necesidades.
Formato PCK:
Formato no comprimido. Un tamaño de archivo más grande, pero más rápido para leer/escribir.
No se puede leer ni escribir con las herramientas que normalmente están presentes en el sistema operativo del usuario, aunque hay third-party tools para extraer y crear archivos PCK.
Formato ZIP:
Formato comprimido. Tamaño de archivo más pequeño, pero más lento para leer/escribir.
Se puede leer y escribir con herramientas que normalmente están presentes en el sistema operativo del usuario. Esto puede ser útil para facilitar el modding (ver también Exportando paquetes, parches y mods).
Advertencia
Due to a known bug, when using a ZIP file as a pack file, the exported binary will not try to use it automatically. Therefore, you have to create a launcher script that the player can double-click or run from a terminal to launch the project:
:: 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
Save the launcher script and place it in the same folder as the exported binary.
On Linux, make sure to give executable permissions to the launcher script using
the command chmod +x launch.sh
.