jueves, 21 de mayo de 2026

¿Es posible traducir el Policenauts?

Hola a todos, os cuento el quilombo. Todo esto empezó a raíz de una conversación que tuve con Víctor hace unos días. Ya había leído antes los textos de slowbeef en Let's Play, viendo lo jodidamente difícil que fue traducir el Policenauts al inglés, eso unido a que Víctor lleva ya unos 14 años con ello, me dio curiosidad por ver el juego internamente, a ver si realmente es un proyecto maldito o no.

Sé que en general hay mucha gente en contra de la IA, pero yo al no tener ni idea de programación informática he tenido que apoyarme en ella.

Lo primero que hice fue volcar todos los archivos de las ISOs y estudiar estructuras, pronto descubrí los contenedores .DPK con sus subarchivos.

Luego me puse a buscar la fuente obviamente, cosa que encontré fácil y vi que hay varias de ellas, siendo una tipo Rodin y otra tipo Mincho, ambas con infinidad de kanjis. Una vez sacada la fuente vi que había que convertir de alguna manera todos esos kanjis low-res a algo legible por procesador de textos, usé software especializado de OCR y bueno, seguro que tengo algún que otro kanji mal, pero lo gordo ya está hecho.

Después descubrí dónde se alojaban los textos, todo está estructurado en los archivos .SZ, al principio no lo sabía, pensaba que era texto sin más, los saqué en formato XLIFF, hice unas pruebas de inserción, me di por satisfecho y lo dejé ahí para centrarme en las imágenes.

Respecto a las imágenes, vi que el equipo inglés nunca consiguió hackear el codec original de Konami y tuvieron que usar una técnica llamada LZO Hijack, pero yo a base de insistir conseguí replicar el codec original y ya saco todas las imágenes, o casi todas porque nunca he jugado al juego ni sabría deciros si las tengo todas ya, pero sé que son un montón. Esto de las imágenes fue bastante duro, estuve varios días dale que te pego.

Siguiendo con los textos, descubrí que al inicio de cada archivo hay un checksum raro (CRC-32/BZIP2), y además los textos en sí están codificados también de forma rara, MIPS negated se llama la técnica, ni idea de cómo explicároslo, pero lo que hace es aplicar una transformación de bytes.

Para terminar, entre ayer y hoy he conseguido hackear la expansión de textos, me inspiré en Metal Gear Solid. Siendo ambos juegos de Konami estaba bastante seguro que habrían usado estructuras similares, y creo que es así, hay un anidamiento de estructuras y cada estructura lleva punteros de tamaño. Cualquier mínimo cambió en strings de texto implica actualizar todos los punteros que haya por arriba de forma jerárquica, y esto es un quilombo de mucho cuidado.

Los ingleses nunca llegaron a hackear estas estructuras y decidieron hacer otro hack llamado DATCH, es decir mover los textos de sitio, punteros de sitio también, más añadidos ASM para leer todo esto. Por suerte nada de eso me ha hecho falta, mis textos se insertan en un principio en el mismo lugar que los originales, pudiendo expandirse o reducirse a placer, y actualizando todos los punteros necesarios.

Mi idea es compartir las cosas que vaya descubriendo por aquí, y quizá algún día traducir el juego al valenciano o catalán, ya veremos.

Test de inserción con pseudotraducción:



¿Es posible traducir el Policenauts?

Hola a todos, os cuento el quilombo. Todo esto empezó a raíz de una conversación que tuve con Víctor hace unos días. Ya había leído antes lo...