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++:
- 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:
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:
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:
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":
- 4 -
Ahora vamos a proceder a extraer y descomprimir los mapas del juego.
Para ello, tenemos que escribir lo que indica el recuadro rojo:
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":
En él vemos el siguiente contenido:
Ú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:
- 7 -
Procedemos a importar los tiles, vamos a dicha opción en Tile Studio:
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):
En el cuadro de importación, debemos indicar tiles de 16x16 píxeles, tal y como muestra el recuadro rojo:
Y pulsamos "Import":
- 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:
A continuación creamos un nuevo mapa con el botón indicado en el recuadro rojo:
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:
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:
Y este es el mapa vacío que se ha creado:
Ahora vamos a importar el mapa, seleccionamos la opción sombreada:
Vamos a la carpeta "Pantalla01" y seleccionamos "map.dec" como nos ha indicado el fichero de log:
Y al importarlo podemos ver la primera pantalla del juego:
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:
Una vez modificado vamos a exportarlo:
Lo vamos a exportar al mismo fichero "map.dec" sobrescribiéndolo (ya que el programa cogerá el mismo para comprimir):
- 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):
Puede salir un mensaje importante como el que marca el recuadro verde:
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":
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:
A partir de ahí, podemos romper los bloques como si fueran los propios del juego y coger todo ese dinero xD:
- 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)