Maniac Mansion. Con el código en las venas.

La siguiente historia cuenta cómo Dani, compañero de Aurigae – Cashware, tuvo su primera experiencia de código a través del “hacking” del Maniac Mansion con tan solo 12 años. Es indiscutible que hay personas que han nacido con el código en las venas.

Resumen de la trama de Maniac Mansion.

¿Recuerdas el Maniac Mansion? ¿Ese juego de aventura gráfica para ordenador lanzado por Lucasfilms Games en 1987?

El pobre Dave Miller intenta rescatar a su novia secuestrada en una mansión ocupada por un científico maníaco obsesionado con los cerebros.

El juego consiste en solventar complejos acertijos y puzzles que nos permiten avanzar en la mansión y la trama.

Quizá una de las partes más interesantes del juego se basa en que el personaje que decidas escoger, determinará la trama y los pasos a seguir. El juego finaliza cuando mueren todos los personajes jugables o cuando llegas a uno de los cinco potenciales finales exitosos.

La complejidad se hace aún más patente con la existencia de personajes no jugables como la enfermera Edna que intenta entorpecer tus avances llevándote a prisión.

Maniac Mansion es de los primeros juegos con control point & click.

Expuesto el contexto, será mejor que sea Dani quien cuente la experiencia….

Cómo con 12 años hice el hacking del Maniac Mansion.

¡Tranquilos, no entréis en cólera todavía! Antes de contar mi experiencia, quiero calmar a cualquiera que pueda molestarse. Hace apenas dos años se lanzó un proyecto crowdfunding de los creadores del Maniac Mansion y el Monkey Island. El proyecto se llama Thimbleweed Park, y la trama hace guiños al Maniac Mansion y al Monkey Island. Además, cuenta con el mismo modo de juego.

Cuando me enteré del proyecto no dudé en participar en el crowdfunding. Además, la opción que escogí no fue la básica, sino la que incluía la posibilidad de grabar tu propio mensaje de voz en el juego, así dejé mi huella digital jejeje. Y para mi sorpresa, me recompensaron con algo parecido a la carta que había en el monopoly que te libera de la cárcel… a esto me refiero:

 

 

He de reconocer que me hizo muchísima gracia recibir esto, y encima, en forma de diploma para colgar en mi pared.

Son conscientes de que en esos años, entre que no teníamos internet y los niños apenas podíamos comprar juegos, teníamos que idear otras formas (aka: pirateo) para poder jugar 🙂

Así que ya sabes, tanto por el tiempo transcurrido, como por este certificado que me otorga la propia compañía, quedo absuelto de todo posible cargo. =)

 

Editando en hexadecimal

El principio de todo fue, al menos lo fue para mí, la diferencia que te encontrabas al trastear con dos tipos de ficheros en tu ordenador. Por un lado, tenías los ficheros en texto plano, y por otro tenías otros ficheros que contaban con caracteres “raros”.

Poco a poco vas entendiendo que esos ficheros son binarios, y partiendo de esa simpleza tienes un buen camino a seguir.

Las partidas guardadas de los juegos, servían un poco para hacer esos experimentos. Normalmente acababas fastidiando la partida o incluso te cargabas el arranque del propio juego…

Con el Maniac Mansion me di cuenta de una cosa muy curiosa… Si has jugado al juego, te sonará la siguiente captura:

 

 

Esa puerta…

Detrás estaba el laboratorio del Dr Fred y ahí estaba Sandy… nunca conseguí abrir el segundo candado. En aquél momento, no tenía acceso tan fácil como ahora de encontrar las guías o soluciones del juego. Además, eso no era algo que me gustase hacer. Es cierto que entre amigos siempre se comentaban los avances y a veces alguno te sacaba de un “atasco” o le sacabas tú a él.

A pesar de que nunca encontré la llave para abrir el segundo candado, sí que conseguí pasarme el juego… ¡Ahí está la cuestión!

Cómo abrí la puerta sin la llave… ¡a fuerza bruta!

Lo que voy a contar a continuación parecerá sencillo, o incluso algo rápido, puesto que tengo que resumirlo, pero en realidad no fue así, fue un intento tras intento y no sabría decir cuántas horas me llevaría en total la hazaña.

 

Esos archivos binarios que comentaba antes, siempre tenían la referencia de que el antiguo “edit” de msdos no valía para modificar estos ficheros, puesto que sólo grababa en texto plano y asociaba esos “editores de hexadecimal” a los archivos “con caracteres raros”.

Antes de lanzarme con las partidas guardadas, recuerdo que hacía cosas más fáciles como, por ejemplo, en un juego antiguo de fórmula 1 que tenía vallas publicitarias, cambiar textos, etc. Evidentemente, muchas de esas pruebas eran totalmente fallidas.

Entrando en la cuestión, lo que hice fue lo siguiente. Dentro de la mansión, y enfrente de una puerta, exactamente con el mismo inventario, mismos personajes, etc., guardé dos partidas distintas, una con la puerta cerrada y otra con la puerta abierta. El resto de contenido que se guardase en la partida, como decía antes, era exactamente el mismo, la única diferencia: el estado de la puerta.

 

Al comparar ambos ficheros generados por el juego en formato de partida guardada, resulta que la diferencia en bytes era sólo de uno, es decir, comprendí que el código de cierto byte era “puerta abierta” y el otro código era “puerta cerrada”.

Cogí una de las dos partidas, le cambié todos los bytes de “puerta cerrada” por “puerta abierta”. Et voilà!!!!

Llegué a la cárcel, y la puerta del laboratorio estaba abierta, ya sólo me quedó entrar, estaba el Dr Fred, soltó una “chapa” y juego terminado……

 

Conclusión final

La sensación de éxito fue plena, aunque estaba yo sólo en mi habitación, no lo recuerdo bien, pero seguramente llamaría a mi hermano para contárselo.

He resumido mucho, y la verdad es que, al comparar ambos ficheros, la diferencia no estaba en un sólo byte. El gran problema fue entender que al comienzo y al final del fichero había cierto trozo de bytes, que eran más bien bytes de control del juego, y que sólo tenía que modificar aquel byte por el otro en cierto trozo del fichero, para así no modificar contenido que no tenía nada que ver con el estado en sí de la partida que el juego utilizaba dentro del fichero, para después cargar el mismo escenario.

Con el código en las venas

Pues sí, esta es la clase de personas que trabaja en Aurigae-Cashware, gente apasionada por lo que hace, con el código en las venas.

Te recomendamos que veas la charla que nos regaló Eduardo Orive, otro de nuestros compañeros sobre Blockchain, un loco de su trabajo igual que Dani.