Guía de traducción de videojuegos (ROMS)
En este tutorial aprenderás a modificar los juegos en formato ROM para traducirlos a otro idioma. Trataremos en esta primera entrega la traducción Hexadecimal ASCII con modificación de TILES para introducir carácteres especiales.
Lo básico:
Esta guía es aplicable a cualquier juego en formato ROM, ya sea de NES, SNES, Megadrive, Gameboy, etc que tenga los textos sin codificar por tablas. Con un editor Hexadecimal buscaremos palabras y si la encuentra y vemos que no está el texto codificado, lo modificaremos a nuestro gusto. Al ser una guía básica no nos centramos en juegos con textos encriptados ni trabajaremos conceptos avanzados como el uso de las tablas.
Lo que sí haremos un poco más avanzado es aprender a modificar los gráficos del juego para insertar carácteres especiales como por ejemplo la Ñ o los accentos.
En futuras guías trataremos temas más complejos.
Juego ejemplo: Streets of Rage 2 para la Sega Megadrive
Trabajaremos con la ROM en formato BIN, no sirven las ROMS SMD.
Lo primero es bajar un editor Hexadecimal, en este caso usaremos el WinHex 32:
El segundo programa que usaremos para editar los gráficos y la fuente es el Tile Layer Pro:
Necesitaremos también un emulador de megadrive. Cualquiera sirve, yo uso el GENS:
1. Abre la ROM con el editor Hexadecimal.
Selecciona "SEARCH" y abre "RELATIVE SEARCH".
Ahora pon una palabra que hayas visto en el juego. pon una palabra que no sea muy común. En mi caso busqué la palabra "BELIEVE". Dale a aceptar y espera a que escanee.
Ha encontrado una referencia. Si ponéis palabras comunes, os saldrán múltiples referencias. Es mejor probar con palabras raras o poco comunes.
Como el texto no está codificado, lo vemos en la parte izquierda del editor. Ahora podemos empezar a traducir.
Cosas a tener en cuenta: los 00 en hexadecimal son los saltos de línea. Si veis uno, no os lo saltéis. Habéis de adaptar todo el texto según el espacio que tengáis. No podéis saltaros ese espacio a la ligera.
Por defecto las fuentes del juego están en inglés. Por lo que carácteres locales como la Ñ o accentos del castellano no están dibujados. Habrá que dibujarlos editando la ROM con el programa Tile Layer Pro.
Así que antes de ponernos en faena, abriremos la ROM con el programa Tile Layer Pro. Veréis que abre unas ventanas con unos gráficos sin sentido.
Las ventanas os las podéis ampliar y poner a vuestro gusto, en mi caso la amplié al máximo y me puse la ventana a la derecha para trabajar cómodamente.
El siguiente paso es ir buscando entre los gráficos la fuente del juego. Una vez localizado el abecedario, haremos lo siguiente: clicas encima de cualquier carácter o letra que no se vaya a usar en el juego y en la parte izquierda nos saldrá la letra o carácter para modificarla.
En este caso, debéis ir añadiendo letra a letra las que queráis usar. Lo típico sería las vocales con acentos, y carácteres especiales como la Ñ, ¿¡
Vamos a insertar la Ñ y la é:
Para ello, recomiendo usar como gráficos los números. El porqué es simple, en los juegos saldrá como mucho una o dos fechas, 19xx o cosas así pero la mayoría de números como el 7 no se usan para nada. Usaremos el 7 para dibujar la é.
- Tenéis que seleccionar en "VIEW" la opción "FORMAT" y elegir el tipo de ROM, en este caso, Megadrive / Genesis. Si fuese otro sistema, vais probando hasta que os cargue los gráficos con sentido.
Abre la ROM y elige el tipo de ROM (en este caso, Genesis) |
Ahora estamos visualizando la fuente del juego que modificaremos |
El siguiente paso es ir buscando entre los gráficos la fuente del juego. Una vez localizado el abecedario, haremos lo siguiente: clicas encima de cualquier carácter o letra que no se vaya a usar en el juego y en la parte izquierda nos saldrá la letra o carácter para modificarla.
En este caso, debéis ir añadiendo letra a letra las que queráis usar. Lo típico sería las vocales con acentos, y carácteres especiales como la Ñ, ¿¡
Vamos a insertar la Ñ y la é:
Para ello, recomiendo usar como gráficos los números. El porqué es simple, en los juegos saldrá como mucho una o dos fechas, 19xx o cosas así pero la mayoría de números como el 7 no se usan para nada. Usaremos el 7 para dibujar la é.
- En la fuente clica encima del 7. Ahora a la izquierda selecciona la paleta negra y ponlo todo negro para borrar. Luego, copia exactamente la letra E tal como está en la fuente original (clica en la E y haz una captura de pantalla) yo lo hice así, me hacía una captura de pantalla, la ponía al lado como referencia, y luego clicas en el número y vas copiando. Te será más fácil así porque lo podrás ampliar etc.
- Hay que ser creativos: si quieres poner el acento a la E, lo que hice fue dibujar la E como la original pero ganando algo de altura para meter el acento dibujando la letra pegada a la base. Luego dibujas una ralla y listos.
Selecciona un numero como el 7, y bórralo |
Hemos pintado una E con acento donde estaba el 7 |
Importante, cuando hayas acabado de modificar la letra o letras que quieras, graba la ROM. Es importante que hagas copias de seguridad de la ROM en cada paso que hagas!
Añadimos otra letra, la Ñ. En este caso me compliqué bastante la vida, porque no usé un espacio reservado a un número sino a un símbolo. Y tuve que buscar su equivalencia en Hexadecimal para luego insertarlo en el editor.
Elegí el símbolo después de la letra Z para insertar la Ñ |
Dibujé la N con acento ajustando la altura para que se viera el acento |
Al elegir una letra que no es un número, hay que buscar su equivalencia en hexadecimal. Como elegí la letra después de la Z, en esta tabla que os dejo me daba el valor HEX "5B". Ahora explico todo.
Tabla de equivalencias Hexadecimales:
Vamos a traducir una frase del juego con la Ñ y la É insertados.
En el editor Hexadecimal, en el texto que buscamos antes, seleccionamos con el TABULADOR entre la parte izquierda donde están los números HEXADECIMALES, o bien la parte derecha donde están los CARÁCTERES / LETRAS.
Con el TABULADOR alternamos de un lado a otro. Hay que ir traduciendo el texto de la derecha. PERO, CUANDO VEÁIS EN LA PARTE IZQUIERDA UN 00, ESO ES UN SALTO DE LÍNEA. HAY QUE RESPETARLOS!
La letra é con acento que dibujamos en el Tiler Layer PRO, la pondremos poniendo un 7 en la parte derecha del editor, que es donde podemos escribir los carácteres. El 7 es donde pusimos la letra modificada. Si es otro número, ponéis el que hayáis modificado. El problema viene de la Ñ que la puse en un carácter raro, después de la Z. Si veis la tabla HEX que os dejé antes, después de la letra Z viene un corchete "[" y su valor HEX es "5B". Pues ese 5B es el que representará la Ñ porque la metí ahí. Entonces para insertar valores HEXADECIMALES en el editor, es la parte IZQUIERDA. Le habéis de dar al tabulador y entonces podéis añadir el 5B donde vaya la Ñ. Una vez hecho todo esto grabáis la ROM y ya lo tendréis.
Este es el resultado final, habiendo traducido sólo una frase de muestra para este tutorial:
Veis que hemos insertado una Ñ y la E con acento.
Todo este tutorial es una prueba didáctica, a nivel básico con algo de edición de gráficos. Este tutorial no es avanzado, ni tratamos en profundidad temas como tablas, punteros, etc. Es un tutorial para todo juego que encontréis texto en Hexadecimal y podáis hacer pruebas con vuestros juegos favoritos,
En futuros tutoriales iremos profundizando en más modificaciones de traducción.
Un saludo y espero que os haya gustado el tutorial, si es así compartirlo en vuestras redes sociales y pasarnos fotos por redes de vuestras traducciones.