[PCE] Momotaro Katsugeki - Diario de la traducción al castellano

Imagen

Momotaro Katsugeki (PC Engine) — traducción al castellano

Mucho más que una traducción.

Imagen

¿Qué es Momotaro Katsugeki?

Aunque fuera de Japón sea un gran desconocido, Momotaro Katsugeki pertenece a la saga Momotaro Densetsu, una de las franquicias más queridas del país. En lugar del rol o los tableros de sus hermanos, esta entrega llevó a Momotaro al género de las plataformas y la acción, con escenarios coloridos, personajes expresivos y un sentido del humor constante que recuerda a los Ganbare Goemon. Y con una particularidad que lo había mantenido sin traducción durante más de tres décadas: sus diálogos viven en bocadillos de escritura vertical, de arriba abajo y de derecha a izquierda.

Imagen Imagen

El reto

Convertir esos bocadillos verticales al horizontal que pide el castellano ha sido, con diferencia, la parte más difícil del proyecto. No por la conversión en sí, sino por todo lo que arrastraba: el marco que hay que girar, el rabillo que hay que recolocar, los sprites que se descartan cuando se pasa del límite de la consola, las flechas de continuar que quedan huérfanas, las pantallas que dejan de limpiarse... Cada solución destapaba tres problemas nuevos, y varios no parecían tener nada que ver con lo que estábamos tocando.

A eso se sumaron la pantalla de passwords convertida a parrilla latina, las dos fuentes del juego adaptadas con minúsculas y acentos, los gráficos con texto redibujados a mano, los menús, los cuatro finales y el guion completo: aldeanos, tiendas, minijuegos, el quiz del ermitaño y hasta los mensajes de error. Traducir el texto era sólo una pequeña parte del trabajo.

Imagen Imagen Imagen

Un mes

Y todo ello en una colaboración muy particular: yo no sé romhacking, no leo una rutina de ensamblador ni distingo un banco de memoria de otro. Toda la parte técnica —analizar la ROM, localizar rutinas, seguir el motor de texto, escribir herramientas— la ha hecho la IA. Yo he puesto el enfoque, el criterio, la adaptación gráfica y las decisiones de traducción; y, sobre todo, muchas horas de emulador, de jugar mil veces la misma pantalla y de decir "esto no está bien".

No ha sido pedirle a una máquina "tradúceme el juego" y esperar. Ha sido una investigación larguísima, en la que cada uno corregía al otro. El resultado es que la IA no ha sustituido el proceso: ha formado parte de él.

Imagen Imagen Imagen

PARCHES

DESCARGA: EN BREVE.

----------------------------------------------------------

Aplicar sobre la ROM JAPONESA VIRGEN (sin cabecera de 512 bytes):

Nombre:        Momotarou Katsugeki (Japan).pce
Tamaño:        524288 bytes (512 KB)
MD5:           ec7358edb3672a8aa8850623eec72a71
SHA-1:         b63aa8ae29b4d06dea7f5b795c4192285fc3c43b
CRC32:         345f43e9


Resultado tras aplicar el parche:

MD5:           473e9309263a23e0117e689d83858625


Espero que lo disfrutes.

CAPTURAS:
Imagen Imagen Imagen

Imagen Imagen Imagen

Imagen Imagen Imagen
psicopompo escribió:Gracias por leer. Y, cuando salga la traducción, espero que la disfrutes con la misma ilusión con la que la hemos construido.


Puedes apostar que sí.
Excelente diario, espero que te animes con otros :D
Una cosa, ¿no podrías subir un píxel arriba las mayúsculas? Queda rarísimo con las minúsculas. El acento de BOTÓN del título tampoco tiene el sombreado.
Cebolleto escribió:Puedes apostar que sí.

Gracias. Espero que sea pronto.

@wave La verdad es que lo arreglé hace un par de días, pero las capturas son anteriores. Es algo que tenía entre ceja y ceja casi desde el principio. En cuanto pueda, actualizo las capturas. Gracias. 🤜🏻🤛🏻

Hasta entonces, te dejo esto:

Imagen

Imagen

Imagen
@psicopompo Una pasada como detallas el proceso compañero. Así los demás también vamos aprendiendo. [ginyo]
DeVlL escribió:@psicopompo Una pasada como detallas el proceso compañero. Así los demás también vamos aprendiendo. [ginyo]

El problema de ir contándolo todo es que al final va a terminar siendo un mazacote inabarcable. Si a alguien se le ocurre cómo organizar mejor el mensaje inicial, le agradecería que lo comentara. A este foro le faltan —o eso creo— algunas etiquetas BBCODE que serían de mucha ayuda.
psicopompo escribió:
DeVlL escribió:@psicopompo Una pasada como detallas el proceso compañero. Así los demás también vamos aprendiendo. [ginyo]

El problema de ir contándolo todo es que al final va a terminar siendo un mazacote inabarcable. Si a alguien se le ocurre cómo organizar mejor el mensaje inicial, le agradecería que lo comentara. A este foro le faltan —o eso creo— algunas etiquetas BBCODE que serían de mucha ayuda.


Es un problema en cierto modo pero ilustra perfectamente la idea de que "traducir texto es una pequeña parte del trabajo" que es algo que mucha gente no entiende y si bien la IA es una herramienta fantástica para atacar problemas técnicos, al final, tiene que haber un usuario que le marque el camino a seguir.
Un gran hilo, muchas gracias por el Diario, y parece que este juego tiene varios retos distintos del anterior. Seguiré atento a las actualizaciones.
TRIUNFO

Imagen


Ya tenemos bocadillos y diálogos horizontales (y todos traducidos). Eso sí, ahora tengo que arreglar un montón de errores colaterales —pero están localizados—, y eso que ya he arreglado la tira.

Imagen Imagen

Hace unos años, @jackic me comentó algunos de los obstáculos en la traducción de este juego. Se quedó corto...

Por cierto, en la captura en castellano no se ve la flecha para pasar el texto porque parpadea y no la he pillado en el momento.

Queda por traducir las tiendas, finales y créditos, nombres de enemigos, el menú RUN (que son pocas palabras), el texto de los puntos de guardado y alguna cosa más.

El menú SELECT ya está:

Imagen
@psicopompo Si señor. Artista. Ya dirás como lo has hecho. :p
Genial! Este juego siempre me ha recordado un poco a los juegos de la saga Goemon, en lo de combinar plataformeo con un poco de historia, y pueblos donde puedes comprar cosas y hablar con npcs

¿Tienes en mente intentar traducir alguno de los rpgs de la saga Momotaro cuando acabes esta traducción? Solo el primero, que salió en la nes, (aunque creo que hicieron un remake en pc-engine con el nombre de Momotaro Densetsu Turbo) tiene traducción a inglés.

De los no traducidos he jugado, usando un traductor online, al Shin Momotaro Densetsu de la snes (que es como un remake del Momotaro Densetsu II de la pc-engine, pero tiene tantos cambios y añadidos en la historia y el gameplay que es casi un juego distinto). Y del mencionado Momotaro Densetsu II, he visto un let's play entero en youtube.

La verdad es que son todos bastante buenos juegos, aunque claro, la cantidad de texto y el curro que tendrå traducirlos será notablemente mayor que el Katsugeki.
@akualung Los densetsu los estuve mirando, pero al que realmente le tenía ganas es al katsugeki. Quizá, más adelante. Primero tengo que terminar éste, que me está dando mucha guerra. Llevo una semana para adaptar los cuadros de diálogo y evitar el límite de sprites por línea. En la mayoría de los casos está resuelto, pero aún hay cosas que debo arreglar, y luego faltarían otras de la lista general.

Cuando termine el katsugeki quiero continuar el Lord Monarch para Mega Drive, que lo comencé y lo dejé aparcado. Me había olvidado por completo, y eso que ya había traducido todos los diálogos y había insertado los de los dos primeros capítulos. 🤦🏻

Por si no lo conocéis:



Y otro que tengo en mi lista es el Shadowrun para Mega CD:

@psicopompo El Lunar Silver Star de MegaCD sigue sin traducción... 🙄
@bluedark Sí, lo sé. El problema es que aún hay demasiados juegos sin traducir.
Antes de nada, chapeau, gran trabajo el que estás haciendo.

Yo tb me he puesto a hincarle el diente otros juegos de otras plataformas, se lo divertido y al mismo tiempo desagradecido y desesperante que es todo esto.

psicopompo escribió:Y otro que tengo en mi lista es el Shadowrun para Mega CD:



A este tb le he empezado a meterle mano, pero por hacer tiempo mientras avanzo con el otro juego... tengo la imagen extraida , el desemsamblado del código MAIN (El motorola de la megadrive) y SUB (El motorola del megacd), vamos que no tengo trabajo "real" de ingeniería inversa hecho todavía.

He empezado a pedir que haga análisis estático, en otras plataformas lo que mejor me ha funcionado es hacer una primera pasada en estático y luego ir planteando incógnitas al llm, montar un sistema de trazas configurable para que el llm pueda ir activando lo que necesite según la incógnita a despejar "¿De de archivo o zona de memoria se cargan estos datos?, ¿Qué formato tienen los tiles? ¿Puedes convertirlos a png?".

La gracia de trabajar con el LLM es que le puedes plantear preguntas a muy alto nivel, a veces se confunde (demasiadas) pero si te apoyas en las trazas le estás dando buen camino para que no se salga mucho de madre.

Del Shadowrun todavía no he conseguido extraer el texto ni imágenes, primero me he puesto a ampliar el soporte de debug/trazas del GenesisplusGX.. que ni he revisado aún si funciona... y ni se si luego tendré problemas con retroarch...

Bueno algo sí he encontrado investigando a mano sin LLM, hay un archivo que no tengo claro si es un dummy o se usa en el juego, es un lha con la extensión cambiada de unos 15MB aprox (me llamó la atención porque es una barbaridad para el tamaño de la memoria que tiene el Megacd), aparece copiado 7/8 veces con diferentes nombres (por eso supongo que es un dummy, aunqueno descarto que se use en el juego) dentro hay un video frame a frame en formato MAG (que por lo visto es un formato de imagen común en PC98)

Los archivos dummy que digo son (con idéntico md5):

329b55605f0eb3c97b8114e010980e57 DUM_00.D
329b55605f0eb3c97b8114e010980e57 NOT_01.D
329b55605f0eb3c97b8114e010980e57 NOT_02.D
329b55605f0eb3c97b8114e010980e57 NOT_03.D
329b55605f0eb3c97b8114e010980e57 NOT_04.D
329b55605f0eb3c97b8114e010980e57 NOT_05.D
329b55605f0eb3c97b8114e010980e57 NOT_06.D
329b55605f0eb3c97b8114e010980e57 NOT_07.D

Si se extrae cualquiera de esos archivos como lha/lzh se obtiene una lista de archivos .MAG, también hay un .txt que indica la secuencia de imágenes y algunos archivos mas .pal que creo que indicarán paleta de colores.

Los archivos .MAG se pueden visualizar con esta herramienta:
tk-web.sakura.ne.jp/hako/tools/magloaderjs/

Imagen

Me hice un decoder en python(con gemini) y los extraje todos, pero aún sigo pensando que no es más que un dummy de alguna prueba que hicieron para añadir videos al juego.
@wah_wah_69 ¿Estás usando algún agente tipo OpenClaw o Hermes? Yo empezaría dándole acceso a los .bin descomprimidos y le pasaría capturas mostrando textos (como los del menú), e incluso states y breakpoints. Lo primero que suelo hacer yo es decirle que se instale el emulador de turno, que suele ser un core de Retroarch. Eso cambia mucho las cosas porque así el agente se pone a hacer pruebas y no trabaja a ciegas. A partir de ahí toca ir orientándole porque, como ya sabes, no es tan fácil como se piensa. Yo llevo más de una semana con un problema que poco a poco se está solucionando, pero a veces la IA mete algunas cagadas gordas —porque a veces presupone cosas que no son— que toca corregir. Muchas veces la detengo a tiempo, gracias a que suelo leer la cadena de pensamientos, pero otras veces te la cuela. Ojo, es accesible para todo el mundo, pero no es un paseo, como algunos puedan llegar a pensar, y la visión humana es fundamental para que la cosa prospere.

Ánimo con tu proyecto. Espero que se sume más gente.
psicopompo escribió:@wah_wah_69 ¿Estás usando algún agente tipo OpenClaw o Hermes? Yo empezaría dándole acceso a los .bin descomprimidos y le pasaría capturas mostrando textos (como los del menú), e incluso states y breakpoints. Lo primero que suelo hacer yo es decirle que se instale el emulador de turno, que suele ser un core de Retroarch. Eso cambia mucho las cosas porque así el agente se pone a hacer pruebas y no trabaja a ciegas. A partir de ahí toca ir orientándole porque, como ya sabes, no es tan fácil como se piensa. Yo llevo más de una semana con un problema que poco a poco se está solucionando, pero a veces la IA mete algunas cagadas gordas —porque a veces presupone cosas que no son— que toca corregir. Muchas veces la detengo a tiempo, gracias a que suelo leer la cadena de pensamientos, pero otras veces te la cuela. Ojo, es accesible para todo el mundo, pero no es un paseo, como algunos puedan llegar a pensar, y la visión humana es fundamental para que la cosa prospere.


Te resumo un poco mi forma de trabajar que he ido improvisando por prueba y error:

Estoy con opencode y el llm que haya disponible en el free tier del momento, o por api compatible de openai (Z.ai y google), codex tb con free tier (aunque dura un suspiro) o cualquier cosa que me deje usar un llm por la patilla (se nota que ando tieso para estas cosas eh...) y tb mucho copia pega del navegador planteando problemas más concretos.

Lo primero que hice fue extraer todo del .bin -> 1 iso 2 wavs -> luego del iso todos los archivos tal cual aparecen en la pista de datos, ahí a ojo es cuando he visto lo de los dummys... pues aún extrayéndolo todo y diciéndole donde están los archivos... se ha puesto a buscar esos archivos en el .bin o el .iso porque los dejé en el repo.

Cuando hay que extraer datos, preparar/analizar una traza lo que le pido es que genere un script de python adhoc para esa tarea, con la idea de reutilizar la inferencia todo lo posible y ahorrar tokens.

Como bien dices hay que estar muy pendiente de por donde se pone a investigar porque igual que te hace la filigrana de sacarte la rutina exacta de carga de tiles se pone a hacer cosas a desorden, mezclar datos que no son...

Últimamente ando tirando de deepseek, y aunqe no va nada mal para ingeniería inversa es que no es multimodal y no le puedes pasar capturas de imagen, de todas formas en la mayoría de las cuestiones que planteo lo hago al revés "bottom up", es decir dado el estado que le paso en el savestate o la traza le pido que me encuentre el origen de los datos o qué hace tal o cual código de tal o cual dirección de memoria.

La gracia de usar un LLM además de que te simplifica enormemente las tareas de ingeniería inversa es que esa barrera mental de meterle mano a un juego de una consola/ordenador de arqhitectura que no conoces nada se difumina enormemente, para empezar con el shadowrun he cogido varios docs de segaretro, he generado un .md y se lo he dejado como referencia, no obstante como tb son capaces de hacer búsquedas web cualquier cosa fuera de esas referencias tb son capaces de sacarlo adelante, por lo que va uno aprendiendo las particularidadades de arquitectura sobre la marcha, sobre todo cuando hay problemas, la traza es incompleta, el juego crashea o se corrompe...

psicopompo escribió:Ánimo con tu proyecto. Espero que se sume más gente.


Pues por ahora estoy yo sólo, si quieres hacemos equipo, pero vamos por ahora sólo estoy picoteando para ver lo puñetero que puede ser el juego y metiéndole únicamente lo que me sobra de quota de free tiers del otro juego al que le ando dedicando más tiempo.

Si quieres seguimos por privado, que no es plan de descarrilarte el hilo de Momotaro.
@wah_wah_69 He abierto este hilo, precisamente para poder hablar de todas estas cosas.

EDITO: He alcanzado el límite de caracteres en el mensaje inicial del hilo, por lo tanto, no podré ir añadiendo en él los avances del proyecto. Lo haré a través de mensajes como éste. Cuando tenga el parche listo, le encontraré sitio de algún modo en el mensaje inicial para que no haya que buscarlo a lo largo del hilo.
Ya casi lo tenemos:

- Todos los diálogos traducidos.
- Todas las tiendas traducidas.
- Todos lo minijuegos ocultos traducidos.
- Todos los Quiz traducidos.
- Todos los finales traducidos.
- Passwords japoneses transcritos a alfabeto latino.

Sólo queda por traducir algunos gráficos (no son muchos: el "Banzai! Studio" que aparece en los finales, un cartel de "GOAL" en un minijuego, el cartel que aparece antes de los jefes finales, y poco más) y pulir alguna cosa aquí y allá.

ALGUNAS CAPTURAS:

Imagen Imagen Imagen

Imagen Imagen Imagen

Imagen Imagen Imagen

Imagen Imagen Imagen

Imagen Imagen Imagen

Imagen Imagen Imagen

El texto de estas capturas, por cierto, ya ha sufrido correcciones:

¡Ve a la isla
de los ogros!


Ha cambiado a:

¡Ve a la isla de
los ogros!


Así se aprovecha mejor el número de caracteres por línea.

Aquí faltaba el signo de apertura de exclamación:

¡Bien hecho!
Toma: ¡+Vuelo!


También se ha reajustado este bloque:

Permíteme darte
las gracias otra
vez.


Un apunte sobre el Quiz: Las preguntas son de folclore japonés. Cada tanda es de cinco preguntas. Si fallamos alguna, salimos (nos echan) de la casa del ermitaño, pero podemos volver a entrar tantas veces como queramos. Cada nivel tiene sus propias preguntas, así que no es difícil aprenderse las cinco respuestas para obtener el premio. Una vez obtenemos el premio, ya no podemos seguir jugando en ese nivel.
¡Pues ya está todo hecho! Ahora sólo me queda darle un repaso al juego para comprobar que todo esté bien. Hay cosas del juego original que creo que podría mejorar, como algún que otro parpadeo, pero, en general, yo lo veo todo bastante bien. Ya os hablaré del cambio que le he tenido que hacer al menú RUN por los problemas que me daba. Es básicamente igual, pero en lugar de abrirse en tres ventanas en cascada, lo he puesto en una sola que muestra la ventana activa. Esto ha evitado muchos problemas de límite de sprites por línea porque el texto en castellano es más largo que el japonés, y tuve que ampliar las cajas de texto.

En fin, espero no encontrar ningún fallo que retrase más la publicación del parche, pero tampoco sería raro. Me he terminado el juego varias veces y tengo como un millón de partidas guardadas en diferentes niveles para poder acceder a las partes que resultaron conflictivas. Lo revisaré todo bien y subiré el parche lo más pronto posible.

En cuanto pueda, actualizaré el mensaje inicial del hilo y lo dejaré con la información básica, alguna que otra imagen y los enlaces de descarga. Todo el testamento que hay ahora lo pondré en GitHub para quien tenga curiosidad de leerlo. Además, aquí en realidad no me cabe ni la mitad de todo el diario en un solo mensaje.

Os dejo algunas imágenes de gráficos traducidos:

Imagen Imagen Imagen

Imagen Imagen Imagen

Imagen Imagen Imagen
Que maravilla compañero. [tadoramo]

Estas que no paras :p
Increíble, gran trabajo y en menos de un mes de abrir el hilo. Estaré pendiente de tus próximos proyectos.
22 respuestas