Probablemente ya tienes experiencia con el Project Manager y te preguntas cómo funciona el sistema de paquetes. Aquí tienes una breve explicación.
Si ejecutas el WME Project Manager y cargas alguna de los ejemplos, verás el típico árbol de directorios con una carpeta llamada data que tiene un icono diferente al resto. La razón es que WME trata esta carpeta como una carpeta de datos y creará un paquete de datos en cuanto compiles el proyecto.
Puedes crear cuantos paquetes quieras. ¡Inténtalo! Si seleccionas una carpeta con el botón derecho del ratón en el Project Manager, puedes elegir Promote to Package (promover a paquete). Esto le dirá a WME que, en la próxima compilación, debe incluir esa carpeta en el repositorio de datos.
Nota que también puedes seleccionar Degrade to Folder (degradar a carpeta) con el botón derecho del ratón.
En la práctica, el resultado es que al ejecutar el juego (F5 en el Project Manager), WME busca los datos dentro de las carpetas marcadas como paquetes. Cuando compilas el proyecto, se crearán archivos dcp por cada una de estas carpetas. Si, por ejemplo, marcas las carpetas data, gfx, sound, speech y gui como paquetes, WME creará en el directorio de salida los archivos data.dcp, gfx.dcp, sound.dcp, speech.dcp y gui.dcp.
La siguiente información es vital. Para WME todas las rutas son relativas a los paquetes. Así que no importa cómo se llamen tus paquetes. Siempre referencias los archivos de forma relativa dentro de estos archivos.
Déjame ponerte un ejemplo:
imagina que tienes 3 carpetas marcadas como paquetes: data, gui y gfx
Ahora pones un archivo de sonido llamado hello.ogg dentro de cualquiera de ellas.
Entonces, puedes ejecutar
Game.PlaySound("hello.ogg");
y el sonido se reproducirá. Puedes entenderlo de la siguiente manera: WME crea un enorme directorio virtual en el que copia los contenidos de todos los paquetes y así forma un enorme repositorio de datos.
Y ahora el problema. ¿Qué pasaría si pones un archivo llamado hello.ogg en la carpeta data y otro en la carpeta gui? Sólo se reproducirá el primero. Tenlo en cuenta cuando diseñes tu juego. Si decides nombrar la imagen de los fondos como background.jpg, debes crear carpetas separadas para cada uno de ellos.
Imagina que tienes un paquete para el cementerio, otro para el bosque y otro para la ciudad, así que creas una estructura de carpetas como
dentro de las carpetas (Entrada, Lapidas, Estatua) puedes tener tus archivos background.jpg y será totalmente válido. No los pongas en la carpeta del paquete principal porque serán tratados como si estuvieran en la misma ruta. Por esta razón, tampoco debes tener una carpeta con el mismo nombre en diferentes paquetes. Una buena práctica es añadir prefijos a las carpetas (ciudad_callenorte, ciudad_plaza, ciudad_callejon), pero depende de tí establecer una buena convención de nombres.
Espero que esto te ayude y nos veamos en el futuro con otro artículo.