viernes, 26 de febrero de 2010

COMO TRADUCIR UN JUEGO DE PLAYSTATION 1 DESDE CERO

Les ensenare por medio de este blog la traduccion sobre juegos de psx:



Este tema de traduccion sobre juegos de psx llega a ser extenso y aveces un poco largo y complicado, pero en la programaccion todo se trata de dedicarle tiempo y tomarlo con calma asi que empecemos de una vez...



*PROGRAMAS NECESARIOS:


-SearchRX: Es necesario para encontrar y localizar los textos de los juegos que queremos traducir.



-Adobe Photoshop: Magnífico editor de imágenes de todo tipo. Para modificar imagenes formato tim necesitas conceguir los plugin del photoshop.


-Thingy V2.0: Es la version mas avanzada que existe y este programa esta muy bien editado para facilitarnos el trabajo a la hora de traducir los textos de los videojuegos por forma hexadecimal (Es el editor de texto que vamos a utilizar) pueden utilizar otros pero para mi este es muy comodo y facil de usar; mas adelante les explicare por que.





-Translhextion: Es otro editor hexadecimal para traducir juegos de psx que existe, yo diria que es muy conocido y tambien es muy comodo para traducir juegos, pueden utilizar el Thingy V2.0 o el Translhestion para traducir en fin el que mas les guste, los dos son buenos pero ambos tienen unas cosas mas buenas que los otros. Mas adelante les explicare las diferncias entre los dos y sus funciones.





-Poweriso: Necesario para ver el contenido de los videojuegos y para extraer los archivos de la ISO y para que el computador reconozca los diferentes formatos de imagen en los que vienen los juegos de psx, playstation 1 (Es lo mismo) Las extension de imagen Iso que hay son:Bin, Iso, NRG, MDF, CCD.





-Tile molester: muy bueno a la hora de editar los graficos de los juegos.





-TIM viewer: Necesario para extraer los tim de los juegos (TIM: Un tipo de imagen que usan los juegos de psx, son muy conocidos) Estas imagenes las podemos editar y insertar nuevamente en los juegos. Ejemplo: Imagen.tim que contenga un grafico de un texto de un juego; NOTA: No todos los juegos traen tim.





-Semitram: Editador de imagenes Tim, un poco lento y complicado pero nos sera util. (Los editores de graficos de psx que existen son muy sencillos y complicados ya que no tienen muchas herramientas).





-Insertbw: Para insertar los tim nuevamente dentro del juego ( La imagen iso).





-CDmage: Para insertar los archivos de los juegos dentro de la imagen ISO. Tambien sirve para extraer los archivos. (Mas adelante explicare con mas claridad su funcion.


___________________________________________________________________





***CURSO DE TRADUCCION:





-Introduccion:


Es importante que sigas severamente los pasos sin saltarte ninguna para que puedas hacer una buena traduccion de un juego...





Lo mas complicado de la traduccion de los juegos de psx es elegir el juego para traducir ya que los hexadecimales de las letras de todos lo juegos no es el mismo varian y aveces es complicado encontrar el texto de los juego; pero no importa los guiare de una buena manera.





Para traducir un juego de cualquier consola el metodo mas conocido es a traves del editor hexadecimal, un editor hexadecimal es el encargado de decifrar los caracteres binarios (combinacion de ceros y unos) a caracteres hexadecimales ( Estan compuestos por 2 digitos del 0 al 9 y de la A a la F). Ahora les sonara dificil y quedan viendo un chispero pero miren este ejemplo: Cada juego tiene su tabla hexadecimal que esta compuesta por hexadecimales asi: Tiene un abecedario de la A hasta la Z sin la letra que viene despues de la n. y un juego de signos usados en las conversaciones .,?+-&# etc. Ahora veamos en modo hexadecimal digamos que la A equivale a 00, la B a 01, la C a 02, asi sucesivamente hasta el nueve que vendria siendo I= 09, despues del 09 siguen con 0A asi: 0A equivaldria a J, asi hasta 0F que es O, y despues del 0F empiezan con 10 hasta 19,despues 1A hasta 1F, hasta que le den un valor hexadecimal a cada letra del abecedario y a cada signo que vean del juego que esten traducciendo;ven que despues de todo no es tan dificil.

*ACLARACIOOOON: La mayoria de los juegos de psx usan una tabla ASCII, Esto significa que con cualquier editor hexadecimal podras ver los textos los juegos de psx a simple vista, pero imaginate que los creadores del juego de psx cambiaron esos valores hexadecimales y ponen los que ellos quieran, entonces el editor te mostrara muchos valores pero menos lo de los textos...

Bueno aqui esta la solucion: se trata de buscar esos valores y guardarlos dentro de una tabla (tbl) la cual nos va ayudar a ver los textos. Pero el problema esta en saber cuales son los valores hexadecimales del texto del juego para crear la tabla. Pr eso existe el SearchRX o un buscador dentro del programa que uses, aqui entra el tema de la busqueda de los textos les dire como se hace:



Les explicare paso por paso preparando el juego desde el principio

EJEMPLO CON JUEGO CASTLEVANIA S.O.T.N.

1)Tomas la iso de un juego de psx que quieres traducir.

2.1.1)Esto depende del editor hexadecimal que vas a usar en este caso, usaremos el Thingy V2.0, este programita tiene una ventaja puedes cargar toda la iso de un juego sin ningun problema, ejemplo hay editores que toman solo 1 megabyte, para traducir, pero en caso de Thingy V2.0 puede cargar la iso completa el tamano no importa puede ser 500, o 700 megabyte, el lo cargara si problema.

2.1.2)bueno en este ejemplo traduciremos el juego Castlevania Sinfonia de la noche. Primero digamos que no tienes la iso del juego lo que tendras que hacer es descargarla por internet o si tienes un CD de psx con el juego de Castlevania crearemos la Iso a partir del Cd. 1>mete el cd en la computadora, 2>abre el programa Alcohol 120% que es usado para grabar juegos de psx y crear sus Isos (Descargalo por internet tambiem) Abres Alcohol 120%>vas a: Imagen making wizard, el reconocera el cd> le das: Next> eliges el formato de la iso recomiendo (Bin,cue), buscas la carpeta donde lo quieres guardar y al juego le pones el nobre que quieras en mi caso Castlevania S.O.T.N. Esp Latino ej:Disco local (D:carpeta:Creas una carpeta con el nombre que quieras ej: Castlevania S.O.T.N. y alli guardas el juego y luego le das crear o Next y tendras tu imagen Iso.)

2.1.3)Ahora en la carpeta del juego que creaste metes los componentes del programa Thingy V2.0 que son: thingyv.exe,ascii.tbl, thingyv.bas. Y listo ahora si, vamos a traducir. 1>abres el archivo thingyv.exe>selecciona el archivo a editar, selecciona la imagen Castlevania S.O.T.N. Ep Latino>Ahora selecciona la tabla principal, para el juego (Como no tienes eliges obviamente ascii.tbl)>luego tienes que seleccionar otra tabla secundaria (Elije siempre la misma tabla)>Listo ahora lo que vas a ver en primer plato son un poco de numeros mas que todo 00,01,00,01.etc. son numeros que no dicen nada ya que no los entiendes y no sabes para que sirven, te recomiendo tratar de no editarlos ya que con cualquier hexadecimal que edites y no tengas que eeditarlo podras corromper el funcionamiento del juego(puede que el play 1 ya no lo lea) por eso edita siempre hexadecimales de los textos y que comprendas.

2.1.4)Vamos a buscar el texto: en una barrita negra abajo del programa ThingyV2.0 vas a ver una opcciones usaremos la tecla S para buscar alguna palabra, se abrira una nueva ventana en la cual introduciremos el texto a buscar, ejemplo buscaremos la palabra monster, se tomara un tiempo y despues, suaz aparecera el texto a simple vista ya que los creadores del juego Castlevania S.O.T.N. no han modificado los valores hexadecimales y han dejado los valores que usamos en la tabla que son: ASCII bueno ahora vamos a cambiar ese texto por monstruo que es lo que significa en espanol, bueno nos situamos en la palabra m y tecleas 2 veces espacio se abre una nueva ventana y alli podras poner las palabras que quieras y asi de simple se modifica el texto, lo que tienes que haces es jugar el juego y ver las conversaciones y ver todo el texto que este contenga y buscarlo y modificarlo...
NOTA:al traducir no te hexedas de los valores hexadecimales que el juego te ofrezca, ejemplo: En el editor: ALUCARD00SWORDFF0000SHIELD00SWORDFF. si vas a modificar las palabras ALUCARD00SWORDFF0000, los 00 significan espacio en el juego y la FF es para cerrar el nombre y si despues de la FF te dan 0000 eso significa que puedes usar 2 hexadecimales mas ejemplo: ESPADA00ALUCARDFF00, solo tuviste que usar un hexadecimal mas, pero digamos que quieres modificarlo asi: ESPADAOODEOOALUCARD00FF alli estas usando 3 hexadecimales mas y el juego no te los proporciona y si lo haces asi vas a corromper el funcionamiento del juego (ENTENDIDO) hay una forma para poder usar mas hexadecimales de los que el juego nos proporciona, pero es mejor no usarla porque te enrredaras mas en la traduccion y se convierte en algo complicado.






Búsqueda y edición de gráficos:
Después de tener la tabla, vamos a ver si la podemos completar. La mejor manera de hacerlo es buscar los gráficos (luego verás porqué). Vamos a explicar como localizarlos, y como editarlos.

En PSX hay muchos tipos de gráficos. Los más conocidos y fáciles de editar, son los TIM, pero existen otros más difíciles de encontrar, y en ocasiones, no se pueden modificar.

En primer lugar veamos como localizar los TIM. Necesitaremos el programa Timrip. Usaremos como ejemplo el Parasite Eve, ya que el FF5 no usa este formato para los gráficos. En primer lugar abre el programa y selecciona la ruta del archivo (no selecciones la iso, hazlo archivo por archivo), así como la carpeta donde quieres que te extraiga los TIM (crea una nueva, porque dependiendo del juego puede haber mas de 100 TIM.



Dale al botón "Rip" y te extraerá los que encuentre. Te generará un archivo de texto llamado "TIMRIP". No lo borres, porque contiene las direcciones de los TIM, que nos servirán mas adelante para volver a insertarlos.

Para editar los TIM, hace falta el Adobe Photoshop 6.0 (o superior). Al ser un programa de pago, no puedo facilitar la dirección, pero se puede conseguir por ahí. También nos hará falta el plugin de Adobe Photoshop para manejar TIM. Una vez se tiene todo, abre el programa, y ves a Archivo>Abrir, y selecciona el primer TIM. Puede que te vayas encontrando diferentes tipos de gráficos, pero el que nos interesa es el del texto.



Una vez lo tienes, solo tienes que modificarlo, como si de una imagen cualquiera se tratara, pero sin aumentar su tamaño. normalmente tendrás que buscar 8 caracteres prescindibles, para cambiarlos por á, é, í, ó, ú, ñ, ¡, ¿. Si te sobran mas caracteres, puedes incluir mayúsculas acentuadas, etc. Pero siempre sobrescribiendo otros caracteres, nunca en un hueco en blanco. Al final debería quedar algo así:



Para guardarlo, te aconsejo que le des el mismo nombre con algún sufijo, o simplemente seleccionando la casilla "Como copia". En la siguiente pantalla tienes que llevar mucho ojo con los bits. Tienes que guardarlo en el mismo formato. Lo sabrás por el nombre del archivo. Por ejemplo, el archivo "04b_0001.tim", será de 4 bits, por lo que asegúrate de marcarlo. Deja las demás opciones como están y dale a OK.

El hecho de que encuentres gráficos en formato TIM, no te asegura que sean los que usa el juego.

Vamos a ver como modificar los gráficos por el método del editor gráfico.

Aquí usaremos el Tile Layer Pro, que es el que uso yo, pero puedes usar el que mejor te vaya. Normalmente los gráficos suelen estar en el mismo archivo donde se encuentra el texto, o en otro archivo de la misma carpeta. En esta ocasión usaremos el FF5 como ejemplo. Abre el Tile Layer y ves a File> Open... En Tipo marca "All Files" y luego abre el archivo que contenga el texto. Luego verás un montón de cuadraditos verdes y negros, que esos son los gráficos. Ahora ves a View> Format, y verás diferentes opciones. Normalmente el texto se ve en formato Game Boy o GBA, por lo que selecciona uno de los dos y ves examinando el archivo hasta el final para ver si encuentras algo. Si no encuentras nada cambia de formato y vuelve a empezar. Si igualmente no encuentras nada, cambia de archivo y repite todo el proceso (si, ya sé que es muy pesado).

Una vez hemos encontrado algo, veremos algo parecido a esto:



En este caso ha habido mucha suerte, porque si os fijáis hay varios kanas japoneses, y como no los vamos a usar, se pueden sustituir por las vocales acentuadas, ñ y ¿¡. Para ello marca la casilla que quieras sustituir, y te aparecerá en el cuadro grande. Tienes una paleta de colores. Solo puedes usar 2. El verde para borrar y el blanco para dibujar. Cuando hayas hecho las modificaciones que creas oportunas, guarda el trabajo pero no cierres el programa.

************************************************** ****
Completar la tabla

Ahora abre el tabular, y a partir de lo que ya tenias, ves completando la tabla basándote en los gráficos, ya que siguen el mismo orden. Ojo que puede haber mas de una tabla y mas de un gráfico, porque los menús o las batallas del juego usan diferentes gráficos. La imagen anterior muestra los gráficos del menú del juego. Cuando tengas ya la tabla, quedará algo así:



Aquí ya he hecho las modificaciones que me hacían falta. Puedes usar símbolos guía para los caracteres que no puedas escribir, por ejemplo, en algunos gráficos he puesto una @. Ahora ya tenemos la tabla completa. Esta es la mejor forma que conozco, aunque hay otra más "chapuzas", pero mucho mas segura. La voy a explicar, por si en el caso de que no hayas encontrado los gráficos puedas completar la tabla igualmente.

El método consiste en encontrar el principio del texto del juego, y situarte en la primera letra y editando la parte hexadecimal escribes "00", en la siguiente letra escribes "01", luego "02", y así consecutivamente hasta que tengas unos cuantos (30 o 40). Cuando acabes guarda los cambios. Ojo no cargarte el código, solo escribe donde haya texto. Luego juega al juego en el emulador. No explicaré como se configuran los emuladores, hay otras webs para eso.

Para poder jugar con lo que tenemos modificado tenemos que insertarlo en la imagen. Para ello usaremos nuevamente el CDMage. Abre la imagen como lo hicimos antes y localiza el archivo que modificaste dentro de la iso. Dale con el botón derecho y selecciona "Import File", y luego busca el archivo modificado donde lo guardaste. Te lo hará instantáneo o no, todo depende del tamaño del archivo a insertar. Luego aunque no es necesario, es recomendable hacer un escáner ECC, ya que a veces no arranca el juego por eso (ya me ha pasado varias veces). En el mismo programa ves a Action> Scan for Corruption. Le das a Scan y esperas a que acabe. Sal del programa.

Ahora usaremos el Daemon Tool para cargar la iso. Este programa emula una unidad de cd, de manera que no hará falta grabar el juego para probarlo, ya que algunos emuladores no soportan la carga de imágenes directamente. Abre el programa, y se quedará en la barra de tareas Pulsa una vez y se te abrirá un pequeño menú. Dale ponga "Device 0: No media" y selecciona la imagen de donde la tengas guardada. A partir de ahora actuará como si de un cd se tratara.

Ahora prueba el juego en el emulador y ves anotando en un papel todo lo que salga en pantalla (ya sé que es muy engorroso). Cuando hayas apuntado todo lo que habías modificado, sal del emulador y apunta los resultados en la tabla. Luego vuelve a modificar el texto siguiendo desde el valor en el que te quedaste. Lo vuelves a probar vuelves a apuntar y así consecutivamente hasta llevar al valor "FF". De esta manera tendrás tu tabla completa. No te extrañe si un valor representa 2 caracteres juntos o una palabra entera. Esto lo explicaremos en la próxima sección.

************************************************** ****
DTE's y manejo de scripts

Puede que al completar vuestra tabla, os hayáis encontrado que un valor representa dos caracteres o una palabra entera. Esto se llama DTE (Dual Tile Encoding), o MTE (Multi Tile Encoding). Esto hace que en un solo valor (por ejemplo "D6") haya almacenado dos letras o más. Este tipo de compresión parece difícil, pero sin embargo nos puede solucionar la vida en lo que a espacio se refiere, ya que ocupan menos que una palabra normal. Se suelen usar para simplificar palabras comunes del tipo "and", "or", "what", etc. Por supuesto podemos modificarlos y adaptarlos a nuestro idioma con el fin de ahorrar espacio. Para localizar la tabla de DTE (para poder modificarlos) basta con introducir en el buscador del editor hexadecimal, el DTE que estamos buscando, pero en su forma decodificada, es decir, en los valores de las letras por separado. Con un poco de suerte las encontraremos y las modificaremos, pero siempre sin incluir mas letras de las que caben. Por ejemplo, si ves "what", que tiene 4 la puedes sustituir por "pero", pero no por "que", porque tendría menos. Tiene que tener los valores exactos. Hay programas que te calculan los DTE que mas te conviene meter, en base al texto traducido.

Para hacer una traducción mucho más cómoda, lo mejor es usar scripts. Los scripts no es mas que la conversión de lo que aparece en el editor hexadecimal a texto de Bloc de notas, pro lo que es mucho más fácil de editar.

Para empezar abre el Translhextion, carga la tabla y localiza el texto que quieres extraer. Busca el final de ese texto. Sitúate en el byte exacto hasta donde quieras extraer y apunta el offset que aparecerá abajo a la izquierda (en decimal o hex, es indiferente). Luego ves al principio del texto y sitúate en el byte exacto. Luego ves a Script> Dump script, y en el segundo cuadro anota el offset del final del texto. Si usas DTE, desmarca la casilla Separated-byte format, sino no hace falta. Dale a OK, ponle un nombre y guárdalo. Te habrá creado un bonito archivo de texto que te hará la traducción mucho más fácil. Para volver a insertar el script es muy sencillo. Situate al principio del texto, ves a Script> Replace script, en la ventana dale a Ok, selecciona el script y ya estará insertado.

Recuerda que el script no puede pasar del tamaño inicial, y depende del juego, no te permitirá mover el texto si no es usando punteros. Este tema lo explicamos en la siguiente lección.

************************************************** ****
Punteros en PSX

Este tema ya es un poco mas complicado, así que os recomiendo que os familiaricéis antes con todo lo tratado anteriormente.

Intentaré hacer una explicación clara de lo que son los punteros. Un puntero (como su nombre indica) es un indicador que apunta hacia determinado bloque de texto. Para que nos entendamos, internamente, el juego va a la tabla de punteros, lee el puntero, y este le indica donde se encuentra el texto. Los punteros en PSX (por propia experiencia) no se parecen mucho a los de snes, ya que no hay que hacer ningún tipo de fórmula (por regla general).

Veamos un ejemplo con el FF5:



Pulsa en ella para verla con mas claridad. El cuadro negro es el principio del bloque de texto, y lo marcado en rojo es el principio de la tabla de punteros. Suelen ser de 2 o de 4 bytes, y suelen empezar con 00 00. Ahora veamos su funcionamiento.

El valor 00 00, no apunta a ningún sitio aparente, pero el siguiente (01 00) si lo hace. Apunta al cuadro marcado en negro. Y te preguntarás ¿cómo lo sé?. Pues es bien fácil. Si te fijas, el siguiente puntero es 09 00, y si cuentas desde el cuado negro 9 caracteres, llegas al asterisco (ósea E7) entre "unarmed" y "Knife". En este juego el código E7 representa un gráfico de un arma, y se pone delante de cada arma para indicar lo que es (arma, armadura, accesorio, etc). Bueno, como decíamos, el puntero apunta a ese código, y si leemos el siguiente puntero y volvemos a contar, veremos que nos lleva al siguiente código. Al principio cuesta un poco de entender, pero ya veréis que no es tan difícil.

Para meter una palabra mas larga de lo permitida, tendremos que modificar los punteros. Para ello simplemente modifica la palabra y hazla lo lo larga que quieras (lo que sobrescribas memorízalo a apuntalo para escribirlo a continuación), aunque la mejor forma de manejar este tipo de texto es por script. Veamos un ejemplo:



Vuelve a darle para que se vea mejor. Aquí podemos ver que he cambiado "unarmed" por "desarmado", y evidentemente es mas largo. Nos hemos comido un poco de la siguiente, pero la he "apañado". Si nos fijamos, el puntero que he marcado lo he cambiado por 0B 00, porque si contamos nos sale que eso es lo que ocupa hasta la siguiente palabra.

Todo este ejemplo lo hemos hecho basándonos en los textos de las batallas, pero en texto del juego normal funciona igual, solo que en vez de dividirlo por palabra, cada puntero apunta hacia una frase o un bloque de texto entero. Lo mejor es investigar, ya que cada juego lo maneja de una manera diferente

Hay programas que te calculan los punteros automáticamente, pero en este caso es mejor hacerlo manualmente, a parte de que te da más seguridad.

************************************************** ****
Creación del parche

Seguramente no habrás hecho la traducción para ti solo, así que seguramente querrás compartirla. Para ello lo mejor es el parche PPF. Ahora explicaremos como crearlo.

Para ello necesitaremos el makeppf. Es en ms-dos, pero es muy fácil de usar. En primer lugar necesitamos la iso traducida y la iso original. Asegúrate de que la ruta del directorio desde donde lo haces no tenga espacios. Para mayor seguridad hazlo directamente en C:. Mete allí las isos y el programa. Pon un nombre corto a las imágenes. Por ejemplo orig.bin y trad.bin y que estén en la misma carpeta que el programa. En el programa dale con el botón derecho y ves a propiedades. Ves a la pestaña Programa, y en Línea de comando, sitúate al final (sin borrar lo que hay) y escribe lo siguiente: orig.bin (o el nombre que le hayas dado a la original), trad.bin (o el nombre que le hayas dado a la traducida) y parche.ppf (o el nombre que le quieras dar. Quedaría algo así:



Dale a aceptar y te generará un acceso directo. Ábrelo y te dejará escribir una descripción de 50 letras. Cuando acabes dale a Enter y te empezará a generar el PPF (Tarda un poquillo). Cuando acabe tendrás tu bonito archivo ppf para que lo puedas distribuir donde quieras.
BUENO Y ESO ES TODO AUN HACEN FALTA MUCHAS COSAS PERO ESAS SE LAS EXPLICO DESPUES, SALUDOS

COMO APRENDER A TRADUCIR ISOS DE PSX

Les ensenare a traducir juegos de playstation 1 por medio de este BLOG...