Technomage: el Metajuego

El mes pasado completé un clásico de mi infancia, Technomage: Return of Eternity. Cuando era chico lo jugaba en PlayStation, lo retomé en la versión de PC, o sea, en la versión Windows.

La premisa del juego es que un mestizo entre una raza que usa magia, los Dreamers, y otra que usa tecnología, los Steamers, a través de una serie de laberintos, tareas y enigmas, y habilidades reducidas de ambos grupos, pero superiores al combinarse, tiene que dar solución a un repentino resurgir de monstruos subterrestres. Algo que no se veía desde hace siglos, cuando ambas razas eran una.

Y para ello iría desvelando los secretos de los Antiguos, su ciencia y su saber. Para poder empezar a jugar en Linux, más o menos tuve que recorrer un camino similar:

Jugando antes del Juego

  • Condicionar el Wine (definido mal y rápido como un emulador que niega su condición de tal, que no crea una interfaz de emulación, sino que hace creer al programa de Windows que está siendo ejecutado en Windows) para que sea amigable con este juego del 2001.
  • Instalar el Directx9 (directx es un coso que se necesita para algunos elementos multimedia) y fallar.
  • Instalar una serie de componentes extraños a Wine, listados en un blog caduco encontrado por casualidad, sólo para que el Directx9 sea procesado por el Wine, y se instale.
  • Recibir una pantalla negra luego del menú de inicio, y tiempo después descubrir un truco: cambiar de programa con atajos del teclado y volver al juego, ahora con su interfaz visible.

Relatable

Sonará desesperante para otros pero para mí fue muy entretenida esta experiencia previa al juego. Cuando encuentro situaciones como esta, trato de sacarle todo el aprendizaje posible en mi propia laptop, debido a que tengo poco margen de tiempo para formación adicional en lenguajes u otras cuestiones de hacker :v

Puede que no vaya más allá de poner Hola Mundo en python (con relativo esfuerzo), pero puedo hacer que juegos viejos funcionen.


Resolviendo glitches con hacking y magia

Entonces iba todo bien. Hasta que tomé una mala decisión en uno de los niveles. Estaba masacrando esqueletos y monstruos para conseguir llaves, lo normal. Consigo una, tenía que conseguir otra, pero decido retroceder hasta el otro escenario a ver si no quedó algo.

Vuelvo, sigo con los monstruos… y el juego SE OLVIDA de darme la correspondiente llave. Algo pasó ahí. Capaz el nivel estaba hecho para completarse en un tirón. Capaz las llaves estaban programadas para una secuencia reviento monstruos, sale una llave, abro la puerta, repetir… no interrumpir esa secuencia o cambiando de escenario hasta que todas las puertas se hayan abierto.

Y ya había guardado el juego. Con el error. Te da varias casillas para guardar, y yo explotaba sólo una. Entonces sólo existía un archivo de guardado.

Antes de iniciar mi uso de tecnología libre, y con ello necesitar ajustar esto, retocar lo otro, y aprender de su funcionamiento, quiera o no, mi solución como usuario tipo prendo-la-compu-diseño-uso-las-redes-apago hubiera sido reiniciar el juego completo, a 1/5 de terminarlo.

O buscar en internet otros archivos de guardado, que hubieran implicado dos molestias. La primera es que lo más probable el guardado viniera en el punto de inicio de esa etapa del juego, cuando yo ya iba por más de la mitad. Y la segunda que viniera con atributos muy diferentes a los que yo tenía, como ser menos pociones y otros objetos, o una distribución alternativa de los puntos del personaje (yo priorizo Defensa y Magia más que Ataque, por ejemplo).

Pero ahora que entiendo un poco, podía suponer unas cosas:

✅ El archivo de la partida se guarda en una carpeta dentro de una carpeta dentro de la carpeta del juego.

✅ El archivo tiene un contenido más o menos descifrable, con algo de observación.

✅ Lo que guarda el archivo es el inventario y un par de datos más sobre la ubicación, el nivel de Melvin (el protagonista), y otros.

❌ Se puede editar el archivo sencillamente con el Bloc de Notas.

Qué bueno que al menos fui a esa charla de Pensamiento Computacional de Paraguay Educa, creo que en julio 2019.

En el Bloc de Notas se visualiza código binario, todo de corrido, o eso creo yo que era. Entonces descargué un visor universal de archivos, y la versión de prueba, para windows también, del programa que podía leer el formato .tsg, que era en el que estaba escrito el guardado.

El editor no sirve, pero el visor sí. Buscando y buscando encontré los significados de cada código de la primera columna. Silver Key = 4bc0. Pude haberme cargado cuantas pociones, atributos y otros quisiera, pero me conformaba con lograr que el experimento resulte.

El visor FreeFileViewer a la izquierda y el editor SublimeText a la derecha.

Entonces con el editor emulado que no sirve, y el bloc de notas que me da en binario, pensé, ¿qué otra forma tengo de agregarme esa Llave al inventario en el archivo guardado? Sublime Text, el programita que usamos en Diseño Web para hacer las páginas en html/css, PERO, que tiene su interfaz lista para otros muchísimos lenguajes.

Y sí, me sale todo en columnas pero sin el código que le identifica. Más o menos por aproximación, y deducción con otros objetos de inventario, determiné cuál era la columna que se refería a cantidad.

Lo que no hice fue definir la ubicación de la llave dentro del inventario, entonces al probar el juego no la veía. Pero no pasaba nada.

Todo lo que jugué con la compu para… seguir jugando con el juego.

Revirtiendo relaciones

En esta época tenemos máquinas que hablan nuestro lenguaje. Reconocen la voz humana, las pupilas, las huellas dactitales. Biometría. Es casi como invitando luego a Skynet que algún día muy cercano haga lo suyo. Pero es muy interesante, al menos para mí, poder hacer el proceso inverso: hablar nosotros el lenguaje de las máquinas.

Y como muchos juegos viejos éste no es la gran cosa, es un RPG un poco lineal, se puede completar con mayor o menor rapidez según el orden en el que se reciban y se completen las tareas (que están todas relacionadas entre sí, no hay side-quests), pero me entretuvo en más de una manera.


Trailer

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.