Cambiar las pantallas del Alex Kidd in Miracle World

Contenido

Objetivo

Este tutorial consiste en cambiar la estructura de las pantallas del juego Alex Kidd in Miracle World. Con la estructura de las pantallas me refiero a los mapas de meta-tiles del juego, en ningún caso se cambia el aspecto gráfico de estos, ni los colores, etc.

Como ejemplo, he hecho un vídeo donde muestro el resultado de cambiar la primera y segunda pantalla del juego:

http://www.youtube.com/watch?v=-JDGgrKzNU4

Este tutorial se basa en una herramienta/programa que he creado para extraer y descomprimir los mapas de todas las pantallas del juego. De manera que puedan ser modificados y reconstruir la ROM con los cambios realizados.

Para utilizar la herramienta es necesario disponer de la ROM original del juego, pero en ningún caso se modifica esta. El programa de compresión/descompresión realiza una copia del fichero ROM para insertar los cambios de las pantallas, dejando intacta nuestra ROM original.

La idea de este tutorial es hacer divertidas variaciones de las pantallas del juego, para poder probarlas y disfrutar jugándolas en el emulador.

Herramientas necesarias

Las herramientas necesarias para seguir el tutorial son:

- Un backup software de la ROM de nuestro cartucho Alex Kidd in Miracle World versión v1 o v0 edición europea.

- Un editor de texto, podemos usar el que sea (simplemente es para abrir un fichero de texto). En el tutorial uso Notepad++:

http://notepad-plus-plus.org/

- El programa en línea de comandos de Windows que he hecho para comprimir/descomprimir los mapas del juego:

http://www.mediafire.com/download.php?7xbzyozxp9zrt23

- El editor de tiles y mapas Tile Studio:

http://tilestudio.sourceforge.net/

- Los tile-sets del juego ("Tiles-AlexKidd.zip"). El zip contiene imágenes png con los tiles de todas pantallas del juego:

http://www.mediafire.com/download.php?4r8gnjny38rie3c

- Un emulador de Sega Master System. En el tutorial uso Meka:

http://www.smspower.org/meka/

Pasos a seguir

- 1 -

Primero descargar el programa de compresión/descompresión "alex_dec_enc_v2.zip".

Descomprimimos el zip por ejemplo en "C:" y creará la carpeta "alex_dec_enc\" cuyo contenido es este:

alextuto1.png

Donde "alex_dec_enc.exe" es el programa para ser ejecutado en línea de comandos y "pantallas.cfg" es un fichero con toda la información necesaria para que el programa pueda extraer los mapas de la ROM (no es necesario ni recomendable modificarlo).

- 2 -

Abrimos una consola de Windows, por ejemplo, escribiendo "cmd" en el área de búsqueda del menú de inicio, y nos ubicamos en el directorio descomprimido con "cd [directorio]" (en mi caso ha sido "cd c:\alex_dec_enc" porque lo he descomprimido en "C:").

Podemos ejecutar el programa sin ningún parámetro, escribiendo lo del recuadro rojo:

alextuto3.png

Ejecutando el programa sin parámetros no hace nada, solo muestra información sobre este como los parámetros necesarios a incluir y ejemplos de uso.

- 3 -

Copiamos al directorio donde hemos descomprimido el programa la ROM del juego, en mi caso se llama "alex.sms":

alextuto4.png

- 4 -

Ahora vamos a proceder a extraer y descomprimir los mapas del juego.

Para ello, tenemos que escribir lo que indica el recuadro rojo:

alextuto202.png

Donde cada parámetro corresponde a:

- "d" indica que queremos descomprimir (decode).

- "alex.sms" es el fichero ROM.

- 5 -

La ejecución anterior habrá creado tantos directorios como pantallas hay en el juego ("Pantalla01", "Pantalla02", "Pantalla03", ...). Cada directorio contiene el mapa descomprimido de la pantalla y demás ficheros con información de la misma.

Vamos a modificar por ejemplo la pantalla 1 así que entramos en el directorio "Pantalla01":

rb72.png

En él vemos el siguiente contenido:

alextuto7.png

Únicamente vamos a necesitar: "map.dec" (el mapa descomprimido de toda la pantalla) y "map.log" (fichero de texto que contiene información útil sobre la ejecución del programa y el proceso de descompresión).

- 6 -

Abrimos el Tile Studio para importar los tiles y el mapa descomprimido de la primera pantalla:

alextuto9.png

- 7 -

Procedemos a importar los tiles, vamos a dicha opción en Tile Studio:

alextuto10.png

Tenemos que haber bajado y descomprimido el zip con los tile-sets "Tiles-AlexKidd.zip".

Una vez hecho esto, vamos donde se han descomprimido y seleccionamos el tile-set "Pantalla01.png" (recordar seleccionar en "Tipo:" la opción "PNG files (*.png)", como indica el recuadro rojo):

alextuto11.png

En el cuadro de importación, debemos indicar tiles de 16x16 píxeles, tal y como muestra el recuadro rojo:

alextuto12.png

Y pulsamos "Import":

alextuto13.png

- 8 -

Ahora procedemos a crear e importar el mapa descomprimido de la primera pantalla.

Lo primero es cambiar el área de trabajo del Tile Studio a "Map Editor", con la opción sombreada en azul:

alextuto14.png

A continuación creamos un nuevo mapa con el botón indicado en el recuadro rojo:

alextuto15.png

Nos aparecerá el cuadro de "New Map" donde debemos indicar de cuanto x cuanto tiles debemos crearlo.

Para saber de qué tamaño crearlo, vamos al directorio "Pantalla01" y abrimos con el editor de texto el fichero "map.log". Nos fijamos en el texto que indica el recuadro rojo:

alextuto15b.png

Podemos ver que tenemos que crear un mapa de 16 x 144 tiles y que el fichero que se deberá importar es "Pantalla01\map.dec".

Así que, en el cuadro de "New Map" indicamos 16 tiles horizontales y 144 verticales:

alextuto16.png

Y este es el mapa vacío que se ha creado:

alextuto17.png

Ahora vamos a importar el mapa, seleccionamos la opción sombreada:

alextuto18.png

Vamos a la carpeta "Pantalla01" y seleccionamos "map.dec" como nos ha indicado el fichero de log:

alextuto19.png

Y al importarlo podemos ver la primera pantalla del juego:

alextuto20.png

Realizaré una pequeña modificación en ella. Para ello, en la parte inferior se puede seleccionar cualquier tile (por ejemplo el bloque amarillo de estrella) y dibujar sobre el mapa:

alextuto21.png

Una vez modificado vamos a exportarlo:

alextuto22.png

Lo vamos a exportar al mismo fichero "map.dec" sobrescribiéndolo (ya que el programa cogerá el mismo para comprimir):

alextuto23.png

- 9 -

Ya tenemos el mapa modificado, ahora solo falta recomprimir todo y reinsertarlo en la ROM.

Para ello volvemos a la consola de Windows y escribimos lo que dice en el recuadro rojo (solo hay que cambiar el segundo parámetro con respecto a la ejecución anterior, "e" para comprimir/encode):

0pmz.png

Puede salir un mensaje importante como el que marca el recuadro verde:

1l05.png

Lo que dice es que los nuevos mapas modificados ocuparan más espacio en la ROM que los originales. Podemos decir que si "s" sin problema como marca el recuadro rojo.

No hay que preocuparse porque el programa crea una copia de la ROM en el directorio principal de la herramienta, en ningún caso modifica la ROM original. La copia se llama "out.sms":

ny2y.png

La ROM resultante "out.sms" con nuestro mapa modificado de la primera pantalla ya está lista para ser cargada en algún emulador y jugar.

- 10 -

Vamos al Meka o nuestro emulador preferido y cargamos el fichero "out.sms". Accedemos a la primera pantalla que es la modificada:

alextuto26.png

A partir de ahí, podemos romper los bloques como si fueran los propios del juego y coger todo ese dinero xD:

alextuto27.png

- Nota -

Estos pasos se han hecho solo para el mapa de la primera pantalla. Pero podríamos haber modificado la segunda pantalla, la tercera, así como varias pantallas a la vez.

Si quisiéramos volver a modificar pantallas, no hace falta volver a descomprimirlas de la ROM desde el primer paso. Simplemente volvemos a entrar en los directorios de las pantallas a modificar para importar el "map.dec" en TileStudio, modificar la pantalla, y volverlo a exportar sobrescribiendolo, para finalmente reconstruir la ROM "out.sms" (es decir, repetir el proceso desde el paso - 6 -).

Conclusiones

Hasta aquí todo. Realmente no es difícil el procedimiento, solo que ha salido extenso porque he intentado explicarlo al detalle.

Si tenéis alguna duda o sugerencia sobre el tutorial no dudéis en contactar conmigo.

Por cierto, si queréis ir a la pantalla concreta que habéis modificado nada más iniciar el juego, podéis utilizar este código de Pro Action Replay para saltar directamente a ella:

00C0-23??

Donde ?? debemos sustituirlo por:

01 - Pantalla01

02 - Pantalla02

03 - Pantalla03

04 - Pantalla04

05 - Pantalla05

06 - Pantalla06

07 - Pantalla07

08 - Pantalla08

09 - Pantalla09

0A - Pantalla10

0B - Pantalla11

0C - Pantalla12

0D - Pantalla13

0E - Pantalla14

0F - Pantalla15

10 - Pantalla16

11 - Pantalla17

--icecaap 21:43 20 nov 2013 (CET)