Jaos Dawn

jaosdawn

Substituir la intro por una imagen estática

Substituir la intro por una imagen estática
 
 
PokemonRuby.png
Substituye la animación de la intro por una imagen estática (quieta) de tu elección.
Base ruby
Idioma es

Este tutorial está en construcción. Falta verificar si el formato es el adecuado.

Contenido

 [ocultar]
  • 1 Antes de empezar
    • 1.1 Introducción
    • 1.2 ¿Qué necesitaremos?
    • 1.3 Conocimientos previos "recomendados" para poder entender el tutorial
  • 2 Primer paso: el diseño
  • 3 Segundo paso: montar el tileset
  • 4 Tercer paso: indexar el tileset, prepararlo e insertarlo
  • 5 Cuarto paso: montar el tilemap
  • 6 Quinto paso: insertar el tilemap
  • 7 Sexto y último paso: aplicar los parches de EliteMap
  • 8 Possibles problemas (FAQ)
  • 9 Dudas

Antes de empezar

Introducción

Aunque no se hable mucho de ello, ni (por lo visto) se utilice demasiado, existe la posibilidad de substituir, de forma relativamente fácil, la introducción de Ruby por una imagen estática. El procedimiento es casi el mismo que cambiar la pantalla negra del copyright que sale al principio, o la portada del juego, con la diferencia que aquí entra en juego EliteMap. Muy concretamente, una función específica del EliteMap, que debemos agradecer a Kyoufu Kawa.

Antes de explicar nada, responderé a la pregunta que muchos debéis estaros haciendo: ¿qué diablos quiere decir "imagen estática"? ¿Qué es lo que vamos a conseguir, exactamente, si seguimos este tutorial? Pues algo parecido a este vídeo de ejemplo:

http://www.youtube.com/watch?v=miBGwG8defE

La novedad, como podéis ver, es que tras la pantalla del copyright aparece una imagen estática (quieta), que se queda parada hasta que el jugador pulsa cualquier botón: entonces, y sólo entonces, aparecerá la portada del juego.

¿Estáis hartos de ver siempre las mismas hojitas, la misma gota que cae, y el mismo esquema de intro? ¿Queréis una imagen estática personalizada para vuestros hacks? Pongámonos manos a la obra, pues.

 

¿Qué necesitaremos?

  • Una ROM (nuestro hack) de base Ruby.
  • UnLZ-GBA o cualquier otro programa que edite imágenes comprimidas (NLZ-GBA, GBA Graphics Editor).
  • Free Space Finder (FSF) o un editor hex, para buscar espacios libres.
  • EliteMap.
  • Nameless Tilemap Editor (NTME). Aseguraos de que tenéis la versión 1.1 y no inferior.
  • Paint o cualquier otro editor gráfico sencillo.
  • Para montar el tileset podéis usar también el programa Sphere, con el cual es mucho más rápido que hacerlo a mano.

Puedes encontrar estas herramientas en la seccion de herramientas

Conocimientos previos "recomendados" para poder entender el tutorial

  • Saber indexar imágenes.
  • Tener una "ligera" idea de lo que es un tileset y de lo que es un tilemap (es decir, de como usar NTME). Iremos bastante al grano y no nos entretendremos con eso.
  • Saber qué es un offset y cómo encontrar offsets libres (sea con FSF o hex).
  • Saber usar UnLZ de forma básica.

"CONSEJO" IMPERATIVO: haced una copia de seguridad de vuestra ROM cada vez que acabéis uno de los pasos mostrados en este tutorial.

 

Primer paso: el diseño

Primero debéis diseñar la imagen estática que queréis que aparezca en el hack. El diseño debe tener el tamaño de una pantalla de GBA, es decir, 240x160 píxeles, y puede tener un máximo de 15 colores más el color de fondo. En este caso, usaremos como ejemplo este diseño:

1-12.png
Ejemplo de imagen estática

Recordad que la imagen debe ser "divisible" en tiles de 8x8 píxeles para después poder montar bien el tilemap:

2-8.png
 

Recomiendo hacer un diseño que tenga una cierta repetición de tiles, para reducir el tamaño del tileset que después elaboraremos.

 

Segundo paso: montar el tileset

Una vez hecho el diseño, debemos desmontarlo en piezas de 8x8 px, eliminando las piezas repetidas, hasta montar nuestro tileset. Eso podemos hacerlo a mano, con Paint, o usando el programa Sphere. En este caso, quedaría algo así:

3-3.png
 

Por lo tanto, el tileset final podría ser, por ejemplo, este:

4-2.png
Ejemplo de tileset a punto para insertarlo en el juego

Aunque desaprovecha algo de espacio, es importante mantener un cierto "orden" en el tileset (eso sólo es posible controlarlo si lo hacemos a mano, ya que Sphere lo hace automáticamente). Si el tileset queda muy desordenado, después será imposible, o exageradamente difícil, volver a montarlo. Recordad también que, cuando montemos el tileset con NTME, podremos hacer "efecto espejo" de forma tanto horizontal, como vertical, de los tiles.

Pese a que no hay un límite claro del tamaño que puede tener el tileset que necesitamos (no tiene un límite de 128x128 px, por ejemplo), es recomendable que sea cuanto más pequeño, mejor. Es posible usar directamente el diseño entero como tileset (un tileset de 240x160 px), aunque malgastemos espacio de la ROM, pero un tileset de tal tamaño causa problemas y errores.

 

Tercer paso: indexar el tileset, prepararlo e insertarlo

A continuación, debemos indexar el tileset con sus 16 colores. El primer color de la paleta que le asignemos será el color de fondo, que en nuestro ejemplo no hemos usado en el dibujo (en este caso, sería el azul claro), aunque, a diferencia de lo que ocurre en la mayoría de sprites del juego, con esta imagen sí que podría usarse el color de fondo y se vería correctamente en el emulador.

A continuación, debemos añadir dos líneas de 8 px (es decir, 16 píxels en total) vacías en la parte superior de nuestro tileset. Es recomendable para evitar problemas más tarde:

5-3.png
Tileset con 16 px arriba como precaución

Hecho esto, buscad dos espacios libres en la ROM mediante FSF (espacios con "FF FF" si usáis editores hexagesimales): aseguraos de que hay una buena cantidad de espacio libre después de cada dirección... para exagerar un poco, unos 6000 bytes, aunque eso depende del tamaño de vuestra imagen.

A continuación, abrid el UnLZ-GBA (o el programa que sea que uséis), cargad vuestro tileset indexado, dadle a "write to ROM" (no importa en qúe número estéis) y guardad la imagen en una de las direcciones vacías que habéis encontrado y la paleta, en la otra dirección. MUY IMPORTANTE: no olvidéis guardar en un documento de texto, o donde sea, esas dos direcciones, porque las necesitaremos más tarde.

6-1.png
Introduciendo el tileset y su paleta en el juego mediante UnLZ-GBA

 

Cuarto paso: montar el tilemap

Abrid el NTME, cargad vuestro tileset y empezad a montar el tilemap. Dejad la configuración que da NTME por defecto (tamaño de mapa 32x21, modo 4pp, etc.): tan sólo añadid un bloque de altura, de esta manera:

7-2.png
Tilemap con línea de bloques vacía en la parte de arriba

Montad el tilemap, tal y como veis en la imagen de arriba, dejando una línea en blanco en la parte de arriba. La opción de seleccionar más de un tile a la vez os facilitará enormemente el trabajo. Podéis seleccionar más o menos tiles a la vez usando la opción marcada con un círculo verde:

8-1.png
Como seleccionar más de un tile a la vez

Una vez hayáis terminado de montar el tilemap, guardadlo a través del menú "file->save TileMap" y obtendréis un archivo .raw.

 

Quinto paso: insertar el tilemap

Buscad otro espacio vacío con FSF (aseguraos de que haya mucho espacio, para evitar sobreescribir nada). Entonces volved a abrir el UnLZ e id al menú "file->load raw". Cargad el archivo .raw que habéis creado con NTME, pulsad "write to ROM" y guardad el raw en la dirección vacía que habéis buscado antes. Sólo debéis importar la imagen, no la paleta:

9.png
Introduciendo el archivo .raw en el juego mediante UnLZ-GBA

De nuevo, aseguraos de guardar en un archivo de texto el offset (dirección) donde habéis insertado el raw.

 

Sexto y último paso: aplicar los parches de EliteMap

Hecho todo esto, la ROM ya tiene insertada la imagen, la paleta y el orden de los tiles. Sólo nos queda hacer dos cosas: suprimir la intro y "decirle" al juego que, en lugar de la intro, muestre nuestra imagen, con su paleta y su raw respectivos.

Esta parte sería imposible de hacer sin usar hex, si no fuera por dos fantásticos parches que incorpora EliteMap. Cargad vuestra ROM con EliteMap e id al apartado "parches":

10.png
Seleccionando los parches con Elitemap

Como podéis ver, hay dos parches: un primer parche, llamado "No intro", y un segundo parche, llamado "Insert Credit". A partir de este momento, bastaría con seguir las instrucciones que da Kyoufu Kawa, pero para los que no sepáis inglés, aquí lo tenéis explicado resumidamente:

1) Id al parche "No Intro" y haced click en "Apply". Si abrís ahora vuestra ROM con el emulador, comprobaréis que la intro ha sido eliminada, y que después del copyright del principio sólo sale una pantalla negra.

2) Aplicad el parche "Give credit". El programa os pedirá, en este orden: la dirección de la paleta, la dirección del tilemap (raw) y la dirección del tileset (imagen). Escrivid las direcciones siempre con un "&H" delante.

Una vez hagáis hecho eso, abrid vuestra ROM y, voilà!, ahí está: vuestra imagen estática. Basta con pulsar cualquier botón y se pasa automáticamente a la portada.

 

Possibles problemas (FAQ)

  • Cuando he terminado de hacerlo todo, la imagen estática me sale movida hacia un lado. Eso significa que no has dejado una línea en blanco encima del tilemap cuando lo has montado en el NTME. Revisa el paso cuatro.
  • Algunas partes de la imagen me salen raras o distorsionadas. Probablemente no has dejado dos líneas de espacio encima del tileset (revisa el paso tres), has hecho un tileset demasiado grande, o has sobreescrito sin querer una parte del tileset con otra cosa. Por eso es importante ir con cuidado y buscar espacios vacíos muy amplios.


Todos los gráficos usados como ejemplo en este tutorial (incluídos los del vídeo) pertenecen al autor señalado en cada caso. Si quieres usarlos o modificarlos, deberás tener el permiso del autor.

Hoy habia 6 visitantes (33 clics a subpáginas) ¡Aqui en esta página!

48.858309 2.294533 Eiffel Tower, Paris, France Este sitio web fue creado de forma gratuita con PaginaWebGratis.es. ¿Quieres también tu sitio web propio?
Registrarse gratis