Pokes y cargadores (I)

13 febrero, 2014

Uno de los factores que nos permite clasificar a una actividad como un juego o no es evaluar si al llevarla a cabo se establecen ciertas restricciones respecto a las acciones que realmente podríamos llevar a cabo en el «mundo real». Así pues, si jugamos a papás y a mamas, interpretaremos el rol de un miembro de la familia, pero normalmente, no a un cyborg que ha viajado desde el futuro. Si jugamos a ajedrez, los alfiles se mueven en diagonal. Nada nos impide realmente hacer lo contrario, claro, pero incluso si nos ceñimos a un entorno no competitivo, aceptamos estas restricciones como un reto con el que alimentar nuestra diversión. Así pues, aunque sean juegos poco estructurados, suele haber siempre algún tipo de regla o restricción.

Los videojuegos tienen una particularidad: al estar nuestro personaje o avatar inmerso en un entorno virtual, sus capacidades quedan limitadas a lo que el programador decida. Es muy diferente de los ejemplos anteriores, puesto que no eres tú en persona quien interactúa con los elementos del mundo, y por lo tanto, no podemos salirnos de las reglas impuestas aunque queramos ¿O sí? Como se suele decir cuando hay reglas, «Hecha la ley, hecha la trampa». Un videojuego no es excepción a la hora de romper dichas reglas impuestas por el programador, ya sea para ganar, o para ajustarlas a algo más acorde a nuestros gustos y que el juego nos resulte más divertido. A fin de cuentas, si algo hemos aprendido de algunas películas (ver Matrix o Tron, entre otras) es que estar atrapado en un mundo virtual no evita que puedas tomar un atajo en el «mundo real».

Ese atajo en el «mundo real» es simplemente cambiar la lógica del videojuego, los ceros y unos que lo componen. Desde que los videojuegos llevaban pañales, conseguir esto ha sido un reto en sí mismo (a veces ¡más divertido que el propio juego!). Ya en la época de lo 8 bits, existían lo que en la antigua jerga se llamaban «pokes» y «cargadores». Se trata de mecanismos para modificar la memoria del ordenador una vez el juego está cargado (total o parcialmente), de modo que la lógica que controla las reglas del juego se altera. Por ejemplo, si alteramos la memoria donde se guardan el número de vidas restante, podemos incrementar su número inicial, de 3 a 255. También podemos ir más allá y manipular la condición que controla el final de partida (para que no se dé nunca), y así obtener obtener vidas infinitas. Eso sí, a veces, este tipo de ventajas solo garantizaba que no podías perder, o sea, ver la pantalla de «Game Over», pero en absoluto saber que ganarías. El juego era tan complicado que ¡ni aun así llegabas al final!

Camelot Warriors: Un atajo a la meta

Con la aparición de la posibilidad de guardar la partida, aparece una nueva vía de acceso: Modificar los datos guardados, de modo que al recuperarlos, tu personaje sea más poderoso que cuando lo guardaste. Es lo mismo que la opción anterior, pero sobre los ficheros en el disco. En casos donde los datos de guardado son simples, con un mero editor hexadecimal, com el Ghex, y un poco de maña, es más que suficiente.

Por ejemplo, en el viejo Eye of The Beholder, un caso muy sencillo, las características de los personajes se encuentran en un offset concreto del fichero «EOBDATA.SAV». Es necesario adivinar el nombre del fichero de guardado, claro. Pero con esta extensión «.SAV» y observando que es el único que se modifica al guardar el juego entre los 18 que hay, no es algo difícil de deducir. Para iniciar el proceso de ingeniería inversa, basta con abrirlo con un editor hexadecimal y ver que en él aparecen los nombres de los personajes. A partir de cada uno, se pueden buscar los valores actuales de dichas características un poco «a ojo», y a base de prueba y error, y modificarlos por otros más acordes a nuestros gustos. Si no somos muy abusones, nos podemos ceñir a algo equilibrado, que nos ahorre la pesada «jobification» del proceso de creación, basada en tiradas de dados al azar.

A modo de ejemplo, en la imagen vemos que nuestro personaje tiene Fuerza 17, Inteligencia 16, Sabiduría 13, Destreza 13, Constitución 10 y Carisma 17. Por lo tanto, hay que buscar los valores en hexadecimal 0x11, 0x10, 0x0D (repetido), 0xA y 0x11. Remarcado en el segundo panel, vemos que son muy fáciles de encontrar, y tienen la particularidad que se encuentran repetidos, por lo que se tendrán que cambiar dos veces. Podemos bajar la Inteligencia a 11, pero a cambio, nos subimos la Sabiduría a 15 y la constitución a 16, para ser un buen Paladín.

Se acabó tirar los dados una y otra vez

Si queremos hacer trampas del todo, también podríamos poneros la Fuerza a 22, que es imposible para un personaje inicial, pero las reglas del juego lo contemplan. Si ponemos valores incorrectos o incongruentes según las reglas del juego, entonces el juego puede fallar al cargar o comportarse anómalamente, por lo que hay que ser cuidadoso, y hacer una copia de seguridad del fichero antes de manosearlo.

Si el fichero de guardado es más complejo, será necesario generar un programa adicional que trate los datos, un editor de partidas. Normalmente será necesario con juegos cuyas partidas grabadas guardan estructuras de datos complejas y no valores directos, como el ejemplo anterior. Pero una cosa está clara, si el juego puede decodificar la partida guardada, también lo puede hacer otro programa externo, con más o menos trabajo y dificultad. Un ejemplo de este tipo de editores lo encontramos en el Gatekeeper (para los Baludr’s Gate) o el DaleKeeper (para los Icewind Dale), puestos a seguir en la línea Dragones & Mazmorras, y aprovechando que este 2014 celebramos sus 40 años.

Al final, ya lo dicen mis compañeros de optimización, el cerebro humano se ha diseñado para optimizar. Solo que en el contexto de un juego, a veces «optimizar» no es más que un eufemismo de «romper las reglas». Pero averiguar cómo hacer esto puede ser tan divertido o más que jugar al propio juego. Y como me he alargado mucho, en una próxima entrada os explicaré ejemplos de otras maneras distintas de «optimizar» personajes en videojuegos.

Joan Arnedo es profesor de los estudios de Informática, Multimedia y Telecomunicaciones en la UOC. Director académico del Postgrado de Diseño y Programación de Videojuegos e investigador en el campo de la ludificación y los juegos serios en el eLearn Center. Su experiencia se remonta a cuando los ordenadores MSX poblaban la Tierra…

(Visited 75 times, 1 visits today)
Autor / Autora
Joan Arnedo Moreno
Comentarios
Albert Coronado14 febrero, 2014 a las 1:31 pm

Hola,

Ostras, no oía hablar de los ‘pokes y cargadores’ desde que tenia mi ‘Amstrad CPC 464’ y los conseguíamos de la revista ‘Micromania’ (Creo que todavía la editan, yo la coleccionaba). De eso hace veinte-y-muchos años, los cargadores se tenían que copiar a manita y luego los podías grabar en una cinta. Casualmente también tuve el «Camelot Warriors»(Imagen que ilustra la foto), menudo viaje a la infancia.

Saludos,

Responder
    Joan14 febrero, 2014 a las 4:56 pm

    Yo también coleccionaba la Micromania. «Solo para adictos»… 🙂

    Aunque el cargador del Camelot Warriors que aparece en la imagen está sacado de una vieja copia de la revista MSX Club (yo era del MSX).

    Ayyy, los viejos tiempos.

    Responder
Deja un comentario