martes, 24 de mayo de 2022

La frase fantasma. Luchando con variables y diccionarios.

Una vez que ya conseguí consolidar mis cambios en la versión 0.3.9.2 del master, continúo con algunas traducciones que quería probar. Me interesaba saber cómo gestionar correctamente los colores que son atributos de algunos objetos (ropa, ojos, pelo), algunas partes del cuerpo (genitales y pechos), personajes esporádicos (hombre, mujeres, chicos y chicas, de momento, los animales y monstruos para más adelante), y la ropa.

Con algunas traducciones ya hechas, compilo y abro el resultado en el navegador. Ante mi sorpresa aparece una frase fantasma donde no debería haber texto alguno, pues es el inicio del juego, antes de haber configurado el personaje o la ropa que lleva por defecto.

Repaso una y otra vez el código. Sólo hay llamadas a inicializaciones de variables. Una rutina llama a otra, y ésta a otra. Al final encuentro el error, que no es tal. El objeto (conjunto de variables) que contiene la ropa tiene, además del nombre de la prenda, una clave simple para referirse a ella. Yo traduje el nombre de la prenda, dejando la clave en su idioma original pensándo, erroneamente, que internamente el programa se refiere a las prendas por ella. Pero no es así, en el flujo del programa las referencias son al nombre completo de la prenda.

Así pues, al inicializar el juego, comprueba que el personaje lleve la prenda “naked” en todo el cuerpo y, en caso contrario, la destruye como ocurre durante el juego si el estado de uso llega a su fin. Como encuentra que la prenda no es “naked”, sinó “desnuda”, destruye dicha prenda, pues su estado de uso, de momento es 0.

Por suerte, estuve peleándome con JavaScript para crear una funcion de traducción aplicable a matrices que contienen pares de palabras inglés/español, con la finalidad de usarlos en los colores, que son referenciados en el código fuente tanto para visualizarlos como texto como para fines internos, como variables. Es muchísimo más complicado cambiar todas las veces que una determinada palabra sale en el código (a veces por referencia indirecta, lo que impide una sustitución masiva) que añadir una función de traducción cuando dicha variable/palabra deba ser representada en el texto.

En cualquier caso, ésto implica que debo restituir al inglés todos los nombres de prenda que ya había traducido y crear un nuevo diccionario de prendas con los pares de palabras (o conjuntos de palabras).

El universo de Degrees of Lewdity es enorme y se expande con cada actualización. Ello incluye una oferta de prendas y complementos muy amplias, con traducciones a veces complicadas  (si no sabéis qué es una chaparrera, lo vais a aprender), o una gama de colores sobredimensionada para satisfacer los gustos de casi cualquier jugador.

Esta vez sí, voy a ponerme a hacer estos cambios, intentando no dejar desatendidos mi trabajo y mi familia, y poner a vuestra disposición una beta muy preliminar con esas traducciones hechas antes de acabar esta semana.


No hay comentarios:

Publicar un comentario

Nueva actualización: Grados de lascivia 0.02a

 Llega una nueva actualización, Grados de lascivia, la 0.02a , que, aunque no trae muchas novedades en cuanto al texto, sí que las trae a ni...