[HO] RomHacking con IA

@Jonap Claro que se puede. Yo tampoco tengo ni idea, y ya he sacado dos traducciones, varios parches de modificaciones y tengo tres traducciones más en proceso. Prueba el Freebuff que hay en el mensaje inicial (o la IA que uses, siempre que puedas adjuntarle archivos o usarla vía escritorio, aunque suelen ser de pago): lo instalas, lo inicias, le indicas la carpeta en la que tienes el juego, parche o lo que sea, y le explicas lo que quieres hacer, como has hecho conmigo, y de ahí vas tirando. Si necesitas más ayuda, pregunta aquí.

EDITO: Paralelamente a mi proyecto de traducción actual (Lord Monarch), he empezado a traducir otro juego, mucho más complejo, con Freebuff para ver cómo se desenvuelve. En cuanto tenga algo interesante que mostrar, lo haré. De momento, no pinta nada mal.
Pequeño cambio en la intro que ya mostré el otro día.

Cebolleto escribió:Pequeño cambio en la intro que ya mostré el otro día.


¿Y esa voz que dice "¡Planeador abajo!" en español? 😀
Sale del mismo sitio que el sample de "Mazinger" jajaja, es un sample que se lanza cuando se lee el puntero de esos diálogo completos, un hack MSU-1 vamos. Si tuviera tiempo, ganas y paciencia, recrearía con IA todos los diálogos del juego con las voces del elenco original castellano. He intentado también conseguir que se oiga "¡Puños fuera!" al lanzar los puños en el juego pero parece un poco más complejo que lo que he hecho.
MrNutz escribió:@psicopompo: espero el hack del Wonderboy V como agua de Mayo, macho.
Qué falta le hace a ese juego. Es un juegazo y lo jodieron con esa tontería de jefe al final.
Mi pareja se lo intentó pasar hace dos años y no hubo manera por ese estropicio que le hicieron en occidente al juego.

Ya está el parche. En el mensaje inicial tienes un enlace al hilo del proyecto. 👍🏻

Cebolleto escribió:Sale del mismo sitio que el sample de "Mazinger" jajaja, es un sample que se lanza cuando se lee el puntero de esos diálogo completos, un hack MSU-1 vamos. Si tuviera tiempo, ganas y paciencia, recrearía con IA todos los diálogos del juego con las voces del elenco original castellano. He intentado también conseguir que se oiga "¡Puños fuera!" al lanzar los puños en el juego pero parece un poco más complejo que lo que he hecho.

Pues, te ha quedado realmente bien. 👏🏻👏🏻👏🏻
Por favor que alguien con conocimientos lance algún hack o parche para desbloquear todo el contenido oculto o desbloqueable de los juegos de lucha de la era de psx y demás.

Yo empezaría con el Tekken 1 y 2 (el 3 ya tiene un parche para desbloquear todo desde el inicio). De esta forma tendremos una .iso parcheada para no tener que andar desbloqueando los personajes secretos y demás contenido cada vez que emulamos por primera vez el juego en una consola nueva.

Pienso que se podría trasladar a otros juegos como Bloody Roar... Street Fighter, Mortal Kombat... etc.

Es mi propuesta.
Un saludo.
psicopompo escribió: ¿Debería poner Freebuff en el mensaje inicial dentro de una sección de 'herramientas recomendadas'?


Freebuff llevo tb tiempo usándolo, me gusta más el terminal de opencode porque te da más control, en freebuff no he visto la opción de añadir mcps y toquetear tanto como con opencode. He visto como ha ido cerrando un tanto el grifo en las últimas semanas, primero iba por numero de sesiones al día, luego por cŕeditos fijos diarios y ahora por menor cantidad de créditos diarios aunque parece que parte del excedente de créditos te los acumula...

El otro día vi esto:

https://github.com/alishahryar1/free-claude-code

Parece que es una especia de api router dejándote usar claude code, opencode, codex con otras apis externas de forma que cuando se te acabe el free tier el mismo router este sea capaz de cambiar de proveedor al vuelo, no lo he probado, así queno se que pegas puede tener o posibles baneos por modificar (aunque supongo que lo hará interceptando llamadas al api) los clientes oficiales.

Y me parece interesante no sólo por lo que promete que hace si no por el listado de providers con potencialmente free tiers que tiene:

https://github.com/Alishahryar1/free-cl ... /providers

Supongo que la mayoría tb tendrán free tiers que aprovechar y se podrán rascar un buen puñado de tokens diarios más, la mitad o así del listado desconocía que estaban ofreciendo esos servicios, por ejemplo vercel no sabía que había entrado también al negocio:

https://vercel.com/ai-gateway/models?freeTier=true

Cebolleto escribió:Pequeño cambio en la intro que ya mostré el otro día.

https://youtu.be/AboZroV6zzg


Buen trabajo con ese Mazinger.

trevorbelmont escribió:Por favor que alguien con conocimientos lance algún hack o parche para desbloquear todo el contenido oculto o desbloqueable de los juegos de lucha de la era de psx y demás.

Yo empezaría con el Tekken 1 y 2 (el 3 ya tiene un parche para desbloquear todo desde el inicio). De esta forma tendremos una .iso parcheada para no tener que andar desbloqueando los personajes secretos y demás contenido cada vez que emulamos por primera vez el juego en una consola nueva.

Pienso que se podría trasladar a otros juegos como Bloody Roar... Street Fighter, Mortal Kombat... etc.

Es mi propuesta.
Un saludo.


La gracia de esto es que realmente no hacen falta muchos conocimientos, yo creo que con darle acceso a la rom/iso, tal vez el emulador tb el mismo LLM va a ser capaz de empezar a investigar por su cuenta, si le pasas partidas guardadas, descripción más en detalle de lo que buscas, savegames, savestates y cosas así le das una gran ayuda, pero él mismo te lo va a acabar pidiendo.
Con códigos de trucos se pueden tener todos los personajes desbloqueados.

Pero se basa en la ram.
Si guardas partida, se quedan siempre.
Como suele ser fácil ponerlos en emuladores y algunas consolas, no hay muchos hacks.
Estoy usando Grok, me parece bastante bueno, está logrando avanzar donde Claude se atasca, tengo un proyecto al 99% y otro iniciado con Claude que estaba acumulando muchos fallos lo reinicié de cero con Grok y estoy avanzando sin los bugs que me daba Claude. En cuanto logre pulir el primero subo parche, es algo sencillo, desbloqueo de región que no se quitaba con códigos de GG ni nada y un poquito de localización.
En el último mes he reactivado varios proyectos que llevaba años sin tocar.
La IA me ha permitido avanzar muchísimo en la identificación y análisis de las traducciones y el ROM hacking.

Os paso mis proyectos:

PSX
Ace Combat 2 : https://fjveralv.github.io/Traducci-n-Ace-Combat-2-PSX---Castellano/
Azure Dreams : https://fjveralv.github.io/Parche-traducci-n-Azure-Dreams/
Racing Lagoon : https://fjveralv.github.io/Traduccion-Racing-Lagoon/

SEGA SATURN
Shining the Holy Ark : https://fjveralv.github.io/Traduccion-Espa-ol-Shining-the-Holy-Ark/
Dragon Force : https://fjveralv.github.io/Traduccion-Dragon-Force/

GAME BOY
Azure Dreams: https://fjveralv.github.io/Traduccion-Azure-Dreams-GBC/
Cave Noire : https://fjveralv.github.io/Traduccion-Cave-Noire/

NEO GEO POCKET
SNK VS CAPCOM Card Fighters Expand Edition 2 : https://fjveralv.github.io/Traduccion-SNK-vs.-Capcom-Card-Fighters-2-Expand-Edition/
@lolerbober ¡Gran trabajo! Si te parece bien, los añadiré en cuanto pueda al mensaje inicial.

doblete escribió:Nueva traducción con IA, Berserk: Millennium Falcon Hen Seima Senki no Shou (PS2), al español.

https://www.elotrolado.net/hilo_berserk-millennium-falcon-hen-seima-senki-no-shou-ps2-traduccion-al-espanol-v1-0_2537018


Un currazo también. Habrá que probarlo. 🕺🏼🕺🏼🕺🏼
Una pregunta: Yo pago suscripción Go de ChatGPT y la verdad, le doy una caña tremenda las 24h del día como quien dice. He hecho algún addon para FFXI y otras cosillas a full y no se como pero nunca le he visto el "fin". De hecho este mes he gastado solo un 13% de la cuota mensual. Empecé la traducción del Lunar Sanposuru Gakuen de Game Gear, bueno, al menos una prueba, y la verdad es que conseguí lo que quería rápido con un par de ajustes. Digamos que podría hacerlo desde mi Chati. Sin embargo, me dio por probar la cuenta free de Claude y a los 6 mensajes me dijo que adiós. Es irrisoria la prueba. ¿Con la suscripción pequeña de 20 pavos se puede hacer algo más? Porque si me da un límite similar al de mi Chati igual me animo, que quiero traducir un par de jueguicos como pago por haber disfrutado de otros tantos que otros usuarios tradujeron en su día.
Imagen
@Lázaro Lo de la cuenta gratis de Claude es normal, el límite que dan de prueba es de risa. La suscripción de 20€ te da bastante más margen, pero la forma de gestionar los límites es muy distinta a la de ChatGPT.

ChatGPT es más permisivo y, si le das mucha caña, te baja a un modelo inferior pero te deja seguir trabajando. En cambio, con la suscripción de Claude Pro, si agotas la cuota, te bloquea el acceso por completo durante unas horas. Además, el límite de Claude baja rápido si el chat es muy largo o le subes archivos pesados, por lo que con un uso de 24 horas como el tuyo podrías notar los bloqueos. Para código y traducción siempre dicen que es mejor, pero creo que casi cualquier modelo de pago actual ya está a la altura.
Si te tienta Claude y ya estás pagando ChatGPT, puedes pasar de uno a otro durante un mes a ver y comparar. En realidad, ambas IAs con más o menos igual de buenas, y cada semana puedes ver noticias de una u otra es la mejor del mundo según el modelo que saquen.

Por si acaso en el futuro decides dar el salto a usar herramientas externas conectadas por API (donde pagas por uso real y no por tarifa plana mensual), te dejo aquí los precios oficiales por cada millón de tokens (el equivalente aproximado a bloques de palabras):

| Servicio / Modelo...............................| Entrada (por 1M tokens) | Salida (por 1M tokens) |

| Claude (Sonnet / gama equilibrada)..| $2.00 – $3.00 |.................| $10.00 – $15.00 |
| Claude (Opus / gama alta).................| $4.00 – $5.00 |.................| $20.00 – $25.00 |
| ChatGPT (Modelos insignia)..............| $1.25 – $2.50 |.................| $10.00 – $15.00 |

Para la web de 20€ no te va a afectar esta tabla, pero sirve para entender por qué Claude corta el grifo antes si le metes textos gigantescos: sus costes de procesamiento internos son más elevados. Esto también lo digo porque tanto OpenAI como Anthropic llevan tiempo amenazando con que van a cambiar al método de suscripción por token.

Y mucho ánimo con ese Lunar. 💪🏻💪🏻💪🏻
@psicopompo Me quedaré con mi Chati entonces. De momento he instalado LM con Qwen y ahora estoy instalando Ollama + Open WebUI + SearXNG, después decidiré el modelo. Con algo local y gratuito me olvido de pagar xD
Para estas cosas mejor trastear con algo gratuito si los márgenes de Claude y demás son tan limitados. Total, no soy programador ni voy a hacer grandes tareas, para cacharrear me sobra. ¡Gracias por la explicación!
Yo estoy usando Claude con la versión mensual y alguna vez que me he quedado sin tokens he tirado de billetera.
Con eso he sacado adelante todos los proyectos que comenté eso si por ejemplo Opus 5.5 gasta la sesión diaria en nada de tiempo y hay que jugar un poco con eso. Pero es una maravilla esta versión de la IA de Claude.
@lolerbober
Muy bueno compañero. Y una currada las webs de cada proyecto. ¿Con que haz realizado las webs?
Todas con Claude algunas con Claude Sonnet y otras con Claude Oppus montadas sobre la Pages de la propia Github. Pronto subiré las herramientas en las que me apoyé por si alguien quiere editar las traducciones o traducir a otras lenguas.
Bueno, gracias a mi chati sigo avanzando comprendiendo el Lunar de Game Gear.
Estoy preparando todo para comprender la traducción, cómo funciona la tabla hexadecimal, la introducción de texto y demás. Chati me ha creado una herramienta para traducir visualmente, con verificador de bytes, sustitución de códigos etc.. aunque está en fase de pruebas. Cuando tenga todo intentaré añadir los acentos, signos y la ñ y después ya empezaré a lo serio. Además tengo varios grupos de Discord aficionados a los RPG que creo que pueden ayudarme con el testeo.
Me está molando esto aunque hay muchas cosas que no pillo aún del todo. Me ha ayudado bastante la herramienta de Wave, conocido forero de EOL :P
Imagen
Imagen
Imagen
Lázaro escribió:...


Buenas,

le he echado un ojo al juego, tienes la fuente descomprimida en 48200 en 1bpp, fácil de editar:

Imagen
Imagen

Te iba a decir que para hacer un juego así te iba a ser realmente útil encontrar los punteros del juego, pero parece que no se usan al menos para el texto principal, es decir, no hay una dirección que le indique al programa donde empieza un diálogo, deben tener un ID y el programa simplemente muestra el diálogo del ID que necesita, sin puntero. Por ejemplo, Si tuvieras "Hola Lucas"<00>"Hola Don José"<00>, el byte de fin es "00", si plantas un 00 así: "Hola<00>Lucas" Lucas pararía a ser el ID2 en lugar de "Hola Don José", esto te da cierta libertad a la hora de traducir, igual hay espacio a espuertas después de cada INMENSO bloque de texto, te lo vas a pasar bien. Suerte.
Lázaro escribió:Bueno, gracias a mi chati sigo avanzando comprendiendo el Lunar de Game Gear.
Estoy preparando todo para comprender la traducción, cómo funciona la tabla hexadecimal, la introducción de texto y demás. Chati me ha creado una herramienta para traducir visualmente, con verificador de bytes, sustitución de códigos etc.. aunque está en fase de pruebas. Cuando tenga todo intentaré añadir los acentos, signos y la ñ y después ya empezaré a lo serio. Además tengo varios grupos de Discord aficionados a los RPG que creo que pueden ayudarme con el testeo.
Me está molando esto aunque hay muchas cosas que no pillo aún del todo. Me ha ayudado bastante la herramienta de Wave, conocido forero de EOL :P
Imagen
Imagen
Imagen

La verdad es que a estas alturas no te recomiendo usar mi herramienta, es preferible que la IA extraiga el texto a algún tipo de json y se encargue luego de insertarlo sola (puedes ayudarte con una herramienta como la que tienes para traducirlo e incluso pedirle a la IA una primera versión del texto). Con eso y lo que ha dicho Cebolleto lo tienes fácil.
@Cebolleto WoW! Muchas gracias por la ayuda! Me viene genial!
@wave Sí, tienes razón y es lo que hice, pero los primeros pasos los di con tu herramienta (y me sirvió un montón para comprender las cosas) y aunque al final mi chati lo hizo ella sola, creo que es de recibo dar los merecidos kudos a tu herramienta y tu persona. Es la diferencia entre ser honesto, dar los créditos adecuados o dejar que lo haga todo la IA y decir que lo has hecho tu solo [carcajad] [carcajad]. Gracias por tu herramienta!

EDIT: Joder @cebolleto no entendía lo que querías decir y me ha costado pillarlo XD. Al final descargué el Tile Layer Pro, lo puse como tu, no entendía nada y al final caí en que había que pintar las letras a mano, guardar y listo jajaja

Listo, ya añadí los caracteres especiales y lo tengo preparado en el editor para añadirlos :D

Imagen
Lázaro escribió:...


Muy bien,
iba a contestar el privado pero veo que ya lo dominas, como ves, en caso de estar descomprimido, es muy fácil modificar algo así.

Con respecto a la edición en sí mismo, parece que hay muy pocos códigos de control (solo lo he mirado 5 minutos), hay dos bytes antes del texto "09XX" que indican qué retrato hay que poner en pantalla y luego tienes el salto de línea "01" y el fin de cadena de texto que es "00", con esto la IA debería tener más que de sobra para hacerte un editor que no tenga limitación alguna a la hora de escribir, la caja de texto de este juego es variable, es decir, es tan ancha como el texto que hay dentro hasta un límite de 18 caracteres por línea(más se sale de la pantalla) y puedes jugar con eso para poner más texto y mucho mejor presentado. Con esto y poco más solo te queda ponerte a traducir el mazacote, perdón, LOS mazacotes de texto y a correr. Luego son 4 cosas que están dispersas por la rom.
@Lázaro
Perfecto, me alegra que aunque sea sirva para ayudar a la gente xD
No se si lo hace pero te recomendaría que le digas que intente poder ampliar/reducir el tamaño de los textos según la traducción para no tener que ceñirte al espacio de la tradu inglesa.
Te recomiendo también mover un píxel a la izquierda el ¿ o se pegará con algunas letras.
wave escribió:@Lázaro
Perfecto, me alegra que aunque sea sirva para ayudar a la gente xD
No se si lo hace pero te recomendaría que le digas que intente poder ampliar/reducir el tamaño de los textos según la traducción para no tener que ceñirte al espacio de la tradu inglesa.
Te recomiendo también mover un píxel a la izquierda el ¿ o se pegará con algunas letras.

Ya te digo yo que sí lo hace. 😁

EDITO: Añadido al mensaje inicial el Super Mario Kart - Fullscreen Edition que terminé hace unas horas.
@psicopompo @Cebolleto Pues si me dais alguna pista para decírselo a chati… cojonudo, porque es el único problema que me queda ahora, el espacio. El resto (controles y tal) lo tengo ya finiquitado y dominado.

@wave Vale, apunto el consejo y ahora luego lo hago ;)
@Lázaro Yo precisamente siempre hago lo que comenta wave, pedírselo. Le digo que necesito que amplíe la ventana de texto, le envío states si es preciso y capturas. Le escribo maquetas de cómo quiero que quede un texto, por ejemplo: "Me pica la espalda, / pero sólo en los / días pares." También cuento caracteres para calcular cuántos voy a querer por línea, y que así cree un script que automatice una primera traducción sin pasarse de esos caracteres y sin que corte palabras a mitad (que las pase al siguiente renglón), etc. O también le puedes pedir que te amplíe las ventanas sobre las que se muestra el texto.

Yo tuve que hacer todos eso para el Momotaro Katsugeki porque originalmente los recuadros eran más altos que anchos debido a los textos japoneses en vertical. En definitiva, a la IA sólo se lo tienes que explicar para que te entienda, pero todo lo que le puedas aportar adicionalmente le ayudará.

En mi caso, la IA tiene su propio emulador compilado (es lo primero que le pido cuando empiezo un proyecto) y prueba todos los states que le paso. En esto hay que ser bastante preciso porque su concepción del tiempo es muy diferente. Si le digo que cargue un state y que verá el fallo del que le hablo nada más empezar, me dice que en 2 putos frames no ha visto el error. 😂 Tampoco puedes esperar que la IA llegue siempre por si sola a un menú y lo compruebe, porque eso se les da muy mal. De hecho, hay un bechmark que mide ciertas capacidades de las IAs, y les pone una prueba que consiste en mover un cuadrado hasta un hueco al que tiene que llegar por un pasillo en forma de L, algo que podría hacer un niño, y la mayoría no lo logran (aunque no tardarán en hacerlo). 🤦🏻 Así que yo se lo doy masticado. Una vez dijo (literalmente): "Me vas a tener que ayudar, porque cada vez que quiero llegar al menú del personaje tardo 15 minutos. Necesitaría que me pases un save state justo en dicho menú". 😆
@psicopompo Seguramente estés usando una de pago buena, yo lo hago todo con ChatGPT Go y Codex se termina en un suspiro (de hecho lo agoté en un día montando la IA Local xD). Y cuando probé Claude de manera gratuita se consumió mi prueba solo diciéndole que analizara la rom, así que... xD.
Estoy limitadillo en ese asunto, la verdad.
Ahora por ejemplo tenemos un problema, y es que hay un texto en concreto que tiene un 01 adicional en la rom traducida, pero no se encuentra ni en el editor ni en el ext, pero lo muestra el juego. Hemos probado con copias adicionales pero nada. La teoría es que insertAll.bat de Hextractor.jar añade esos números adicionales si no se llega a completar la cadena como el texto requiere.

Para que veas mis limitaciones (y parte también de mi nulo conocimiento en esto, pero me viene bien para aprender), anoche estuvimos casi 4h intentando sacar las palabras con acentos, eñes y símbolos. No fue capaz en todo este tiempo de decirme "tienes que pintarlas tu en tiles que no se usan y luego las añadimos al juego". Ya digo, seguramente sea porque es mi primera vez en esta movida y no puedo ser concreto con lo que le pido porque no se jeje.
No está muy pulido pero lo dejo por aquí, parche para Ghost Hunter (Unl) originalmente Zhuā Guǐ Dàshī / 抓鬼大師 (Taiwán/China, ~1994, Jumbo / Senchi). Cartucho sin licencia para Mega Drive, clon de Pang / Buster Bros.

Se debe usar la rom: Ghost Hunter (Unl).bin (76C62A8B)

¿Qué aporta el hack? La rom original tiene mal el header por lo que sólo se puede jugar en consolas JAP, modificadas o mediante la utilidad everkey del everdrive. La lista de cambios es la siguiente:

· Corregida la cabecera, ahora se puede jugar en cualquier Mega Drive/Genesis, no tiene ningún bloqueo de región.
· Eliminadas las pantallas en chino que describían los fantasmas, realmente no aportaban mucho para un juego de esta naturaleza.
· El título se ha cambiado a GHOST HUNTER.
· Salvado de memoria SRAM, esto es útil porque en el menú de opciones te permite empezar desde la última pantalla a la que hayas llegado. Se puede borrar la partida guardada mediante A + C + START en la pantalla de título.

Lo que no he tocado son gráficos más allá de cambiar el título ni he arreglado las ralentizaciones ni la falta de optimización que tenía el juego, sigue siendo como es, pero sin el bloqueo, y con la SRAM activada, poco más.

https://1drv.ms/f/c/bc866fbcab8bdd37/IgD5kQbo8HnPSoJa-jt1zvEPAXE70F6a96Z44_hbgNdydrg?e=FAewCZ
psicopompo escribió:
wave escribió:@Lázaro
Perfecto, me alegra que aunque sea sirva para ayudar a la gente xD
No se si lo hace pero te recomendaría que le digas que intente poder ampliar/reducir el tamaño de los textos según la traducción para no tener que ceñirte al espacio de la tradu inglesa.
Te recomiendo también mover un píxel a la izquierda el ¿ o se pegará con algunas letras.

Ya te digo yo que sí lo hace. 😁

EDITO: Añadido al mensaje inicial el Super Mario Kart - Fullscreen Edition que terminé hace unas horas.

Quería decir si ya lo hacía su versión, ya se que lo hace ya xD
He intentado ampliar las cajas o reducirlas según sea necesario pero no he conseguido mucho. Lo que sí puedo ahora es insertar un renglón más (máximo 4). He probado con Claude Free y algo he conseguido (lo de las cuatro líneas), también con Antigravity, pero nada, no doy con ello. Además estoy teniendo bastantes problemas con el editor, cuando no es un pito es una flauta, ya no se si editarlo por html es buena idea o qué. Con json lo intenté ayer y también daba problemas.
Ya digo, el no tener mucha idea de esto es lo que me hace dar tanta vuelta, y supongo que las limitaciones de mi chati lo mismo. Llevo desde ayer sobre las 22:00 hasta ahora mismo lidiando con este problema... y me acosté a las 5:00 y me desperté a las 10:00, llevo bastantes horas con esto.
Podéis decirme qué debo hacer para hacer las cajas dinámicas y la mejor manera de editar el texto visualmente? O qué herramienta le digo que me haga mi chati para ello. Ya digo, me pasa por ser la primera vez y no entender mucho, estoy aprendiendo pero joer... a hostias (supongo que como todos) xD
80 respuestas
1, 2