miércoles, 17 de septiembre de 2025

22 - Traducción para "Dragon Warrior II" de NES al Español




Traducciones Koda tiene el orgullo de presentar la primera traducción al español del mítico Dragon Warrior II de Nintendo. Usualmente las entradas de traducciones no suelen ser muy extensas, más allá de detallar algunas características junto la ficha técnica, sin embargo en esta ocasión se desea recalcar algunos aspectos importantes con respecto a las características que incluye la traducción, como también el apartado técnico que ha supuesto traducir tal obra.

Antes de empezar, es importate señalar  que la traducción se basa en el script de la versión delocalizada hecha por Translation Quest. Si bien en un inicio se había trabajado con la versión americana base, por recomendación de un amigo, Noishe se optó por usar esta versión, puesto que garantiza mayor fidelidad con el guión original, además de eliminar de censuras en diálogos, ilustraciones en algunos mapas, cambios a sprites de NPCs, y en general, todo lo relacionado con elementos religiosos.

1. Romhacking

El citado juego posee una compresión de textos de 5 bits. Aunque ya existía documentación al respecto y código que permitía su extraccción, no se contaba con la parte más importante: la reinserción. Por ello se desarrolló una herramienta propia que permite automatizar el proceso completo: extracción, reinserción, búsqueda de diccionarios automáticos y formateo de punteros asociados. 

El espacio base de la ROM resultó ser muy limitado y, como se suponía desde el inicio, una traducción al español requería un mayor trabajo de romhacking. Afortunadamente, al ser un título bastante famoso, esta bien documentado por la comunidad y, gracias a las notas de "disassembler", fue posible manipular parte del banco del script principal para moverlo a un lugar más conveniente, eliminando así las limitaciones de espacio para la traducción.

En general, las modificaciones de espacio no se limitaron únicamente al script principal, sino que también abarcaron las listas de nombres de monstruos, conjuros y objetos, como también para los créditos finales. Asimismo, de poco habría servido ampliar el espacio de texto, si no se hubiera hecho lo propio con el espacio gráfico: por ello se expandieron los menús, con el fin de evitar el uso de abreviaturas.



Además de expandirse las limitaciones de cadenas en los nombres de monstruos y conjuros.



Otro punto clave fue la edición de la rutina de plurales en inglés, que si bien comparte cierta regla como lo es agregar "s" al final de la palabra, las demás reglas son incompatibles. Es por esto que el código ha sido editado mediante ASM a las reglas de plurales del español, como se puede apreciar en la imágenes.

 


El juego, al ser el primero de la saga en incluir batallas contra grupo de enemigos, posee de base una rutina que indica la cantidad en pantalla. si bien es cierto cambiar los textos no supone un gran desafío de "Romhacking", ocurre algo especial con el número uno, pues para contar de debe hacer uso del artículo un/una. Para solucionar esto, se creó una rutina que detecta el género del monstruo en pantalla.


Tras un poco de testeo se detecto un error para dos casos de monstruos con terminaciones contrarias a lo que usualmente dictan las reglas, en este caso "Mano" y "Miasma", por lo tanto, toco nuevamente agregar estas excepciones a la regla.



Otra funcionalidad que se agregó fue la anulación de la cuenta para los jefes, pues si bien esto si está en la versión base, esto es extraño de aplicar para nombres propios, y lo hace muy poco natural. Esto ocurre para los siguientes monstruos: Atlas, Pazuzu, Belial (Zarlox), Hargon y Malroth (Shido).


2. Eliminación de Censura

Gracias al trabajo de Translation Quest se restauró la forma de cruz en el templo de Hargon, y la cruz en la iglesia de Cannock (Sumatria), como el sprite original del clérigo. También se recuperaron otros diálogos que habían sido censurados en la versión occidental.



3. Nombres de la Princesa y el Príncipe

El juego incluye una rutina que asigna al azar nombres al príncipe de Cannock (Sumaltría) y a la princesa de Moonbrooke a partir de una lista predefinida. Sin embargo, este azar estaba condicionado: la elección dependía de la primera letra del nombre del protagonista, lo que provocaba que repitiendo el mismo nombre siempre se obtuvieran los mismos nombres para los dos personajes.

Translation Quest modificó esta rutina para que la elección fuese totalmente aleatoria, lo que da mayor rejugabilidad al título. Asimismo, el nombre de la princesa ahora aparece durante la secuencia introductoria.
 

4. Características de la Traducción


La citada traducción incluye todos los signos de puntuación del idioma castellano. En cuanto a la terminología empleada se ha optado por el uso de los nombres japoneses para las ciudades, sin embargo se ha usado el nombre de Loto para el guerrero legendario. 

Otro punto impotante es que esta traducción trata de estandarizar la terminología para los conjuros, objetos y nombres de enemigos con el doblaje contemporáneo. Para el caso de la inexistencia algunos de estos que no se encuentre estandarizado, se ha hecho uso de la traducción literal, dejando pendiente para futuro, una revisión completa de esto, con la pronta salida de "Dragon Quest I-II HD-2D Remake".

Se incluye un parche para cambiar los nombres de las ciudades a las de la versión americana, como también el nombre del guerrero legendario a Edrick.

5. Descarga

El parche debe ser aplicado a la versión americana con cabezera.

Database match: Dragon Warrior II (USA)
Database: No-Intro: Nintendo Entertainment System (v. 20210216-231042)
File SHA-1: D77A4F66E7314F3E67C1AC647DE3B72DD681A9E3
File CRC32: FFB8C056
ROM SHA-1: 191A131E7E27E121D094CC412FED87C708147B2C
ROM CRC32: 8C5A784E

Versión 1.0 (17/09/2025):
  • Traducido completamente al español.
  • Editada pantalla de presentación y de inicio.
  • Agregados caracteres del español.
  • Menús expandidos.
  • Función interna de refresco de pantalla expandida para que coincidan con los menús.
  • Editadas tamaño máximo de cadenas para monstruos y conjuros.
  • Bloque principal del script expandido.
  • Editada rutinas de plurales para el correcto uso del español.
  • Creadas rutinas que permiten identificar un enemigo o un grupo de enemigos, creando un byte de control nuevo para ha/han
  • Creada rutina de control que permite identificar el genero de los enemigos, creando un byte de control nuevo un/una
  • Arreglado un error en la función interna del byte "F2", para el conteo del oro.
  • Agrega la función de detener el sonido de los diálogos de los personaje, trás cerrar un diálogo con el caracter ’.
  • Aleatoriedad completa para los nombres del príncipe de Cannock y la princesa de Moonbroke, ya no se usa la letra inicial del jugador como semilla para elección de nombres.
  • Eliminada la censura en el mapa del templo de Hargon y la iglesia de Cannock.
  • Recuperado el "sprite" original del clérigo en la iglesia.
  • Recuperados algunos diálogos censurados por la versión inglesa.
  • Créditos finales expandidos y traducidos.
5.1 Instrucciones

Se incluyen 2 parches, el principal "Dragon Quest 2 (ESP).ips" y el secundario  "Dragon Quest 2 (ESP)_localización_americana.ips" que utiliza los nombres para las ciudades de la primera localización de NES, junto con el nombre del héroe denominado Erdrick, además la pantalla de título se mantiene el nombre del juego como "Dragon Warrior parte 2", más detalle sobre las diferencias en el README.txt

Ambos parches son independientes y deben aplicarse a la ROM base.

Además se incluyen 2 parches que modifican la dificultad del juego, uno con la dificultad americana, y otro con la japonesa, para las personas que son más Hardcore.

NOTA: Ambos parches citados arriba ya incluyen por defecto la dificultad americana, si se ha incluido es solo por si alguien decide arrepentirse.


6. Créditos

  • A todo el equipo de Translation Quest.
  • A Alex_231 por las notas inciales de descompresión.
  • A Osteoclave por el código original de dumpeo.
  • A Noishe por recomendar usar esta versión.
  • A Wave por ayudar a hacer un repaso general al script.
  • Y en especial a los usarios "abw" y "Joe73ffdq" por todas la notas de "disassembler", sin ustedes esta traducción no habría sido posible.