Emuladores de Amstrad CPC  |  

Enlaces  |  

Contactar  |  

Mapa del Sitio  |  

Amstrad ESP 5.4 (legal)  |  

Usted está aquí: 

>> Artículos  >> Varios. 

Recuperando un trozo de historia

 

¿Cuantos juegos se quedaron guardados en un cajón? ¿Cuantos proyectos, casi finalizados, no vieron finalmente la luz?
Lo cierto es que ya se han rescatado unos cuantos y, sin embargo, cada año vamos descubriendo juegos que finalmente no fueron publicados por diversos motivos.

The Prayer of the Warrior (Amstrad CPC)

Este es el caso de “The Prayer of the Warrior” un juego realizado por dos hermanos que a punto estuvo de publicarse por Zigurat y, finalmente, no ocurrió.
Originalmente sus autores enviaron una demo de Spectrum a Dinamic, Topo, Zigurat... y fue esta última la que respondió a los hermanos. La única condición era rehacer algunos aspectos del juego y, además, crear la versión para Amstrad CPC y PC. La versión de Amstrad fue realizado en menos de dos meses, con un PC cedido por Zigurat y en ensamblador cruzado.
Lamentablemente, cuando todo estaba más o menos finalizado y se comenzaba con la versión de PC, el mercado de los 8 bit no daba para más y... ahí quedó todo.
Años más tarde, en 2004, un grupo de usuarios de Spectrum se ponen las pilas para recuperar el juego, contactando con sus autores y, finalmente, la versión Spectrum ve la luz en Spectrum Forever.

¿Y la versión de Amstrad CPC? ¿Que fue de ella?

En Octubre de 2010, Syx, revisando viejos hilos de las "news" hispanas de Spectrum, se interesa por esta historia y comprueba que, según comentan los autores, la versión Amstrad CPC fue creada. ¿Pero dónde estaba?

 

Empieza un cúmulo de coincidencias. Mochilote, asiduo del foro de Amstrad ESP, conoce a Emilio Serrano con el que, casualmente, trabajó y aún mantiene amistad. Después de preguntarle sobre la versión CPC del juego, Emilio confirma la historia y deja pendiente preguntar a su hermano sobre la versión de Amstrad CPC a ver si hay suerte y existe algún disco con código, versión o similar.
Más casualidades. Otro de los foreros habituales, robcfg, que, además, es programador, trabaja en Zinkia, y ¿Quién es su jefe? ¡Javier Serrano!, el hermano de Emilio y grafista, animador y diseñador de “The Prayer of the Warrior” y que, curiosamente, días antes le había pasado algunos discos a robcfg para que le recuperara material de Spectrum y que, mira por donde, contenía material del juego de Amstrad CPC.

A partir de aquí todo sería cuestión de ponerse manos a la obra e intentar hacer una edición algo digna.

Pero... no todo iba a ser tan sencillo.

La restauración del juego (por Syx)

Diez meses han pasado desde que se comenzó a gestar el proyecto de recuperación de "The Prayer of the Warrior", el que debía ser uno de los últimos juegos de Zigurat y, muy posiblemente, uno de los mejores de una compañía que siempre destacó por la calidad de sus productos.
Gracias a una sucesión de eventos de lo más afortunados (que podéis seguir aquí), llegan a mis manos una serie de imágenes de disco de una copia de seguridad de conservaban los autores, los hermanos Serrano.

 

Contenido de los discos. Notas del contenido de los discos originales de los programadores.

El primer paso fue comprobar que había en el interior de esos discos, descubriendo que de todos solo en cuatro había algunos ficheros binarios de lo que parecía ser la versión CPC del juego. En este momento tenemos que hacer notar que la versión de CPC fue convertida a partir de la Spectrum, mientras los hermanos Serrano se familiarizaban con el CPC, máquina que desconocían desde el punto de vista de la programación, lo cual ya dice mucho del fantástico trabajo realizado por ellos; pero es que si además os digo que apenas pudieron dedicarle un mes y medio a la versión de nuestras máquinas antes de que Zigurat cancelara el proyecto... no os echéis las manos a la cabeza. Ciertamente en el caso de otros grupos de desarrollo, esto habría sido la perfecta receta para el desastre, pero como vais a comprobar, nada de eso sucedió con el trabajo de los chicos de Restos, lo cual lo hace todavía más impresionante.

 

Depurando. Desde WinApe se rastrea paso a paso lo que hace el programa.

Por desgracia, los fuentes del juego se quedaron en el PDS de Zigurat, así que no hemos podido usarlo de ayuda para ir arreglando los "bugs" que nos hemos ido encontrado, algunos bastante rebeldes, puedo dar fe de ello.¿Qué había en esos 4 discos? Pues la "intro", la "outro", la pantalla de carga del primer nivel (sin paleta), el primer nivel, la pantalla usada para el marcador del primer nivel, el segundo nivel y la pantalla usada para el marcador del segundo nivel. Los primeros intentos de carga de los ficheros no fueron nada satisfactorios, ya que el emulador que suelo emplear para depurar y arreglar juegos es el WinApe y todos los ejecutables se colgaban de forma inmisericorde en él. De hecho, hasta la última versión que apareció hace unas semanas, en la cual se corrige un problema específico a este juego, todo el proceso de corrección de errores tuve que hacerlo a ciegas.

 

"La Morada" Gráfico original de Spectrum previo a ser transformado a CPC

Este "bug" viene por las raíces "spectrunianas" del programa, debido a la arquitectura de dicha máquina es "imposible" hacer uso del modo 1 de interrupciones del Z80, por lo que todos los programas hacen uso del modo 2, el cual "normalmente" supone crear una tabla de 257 bytes para apuntar a la rutina de interrupciones del programa. Mientras que en nuestros CPCs lo natural es usar el modo 1 y ahorrarnos esa tabla, la cual siempre viene estupendamente para meter los parches en casos como éste, en donde el juego ocupa prácticamente toda la memoria.Problema, que los hermanos Serrano descubrieron un truco para ahorrarse la tablita en el CPC y es que "normalmente" en el bus del CPC se encuentra el valor $FF (no es cierto en el caso de los CPC+, ni si estás accediendo de forma continuada al hardware del CPC -algo que no hace el juego- ó tu máquina tiene muchos periféricos conectados a la vez); segundo problema, que al ahorrarse la tabla, usaron la zona de memoria donde va el puntero del modo 1 de interrupciones.
Para el caso de la “intro” y la “outro”, pude arreglarlo sin problemas y emplear el modo 1, pero para el juego no ha sido posible y sigue funcionando en modo 2, con lo que ello conlleva.

 

El primer fin de semana ya tuvimos una versión más ó menos funcional, ahora lo que tocaba era la parte más complicada y larga (y aburridísima os lo puedo asegurar, por lo que no entraré en muchos detalles), que es la que ha provocado el "retraso" en poner el juego a vuestra disposición, y esa no podía ser otra, que comprobar que el juego era terminable sin problemas. Para ello, nada mejor que emplear a nuestro As, el Sr. Metr, sin él y su habilidad para encontrar soluciones ingeniosas a problemas complicados ("si el juego no te deja avanzar, no problem, él atraviesa las paredes" xDDD), no me quiero ni imaginar, lo que habríamos tardado en tenerlo listo.

 

"Mapa del Merodeador" Anotaciones de Metr para "destripar" el juego.

 

Debido al "desarrollo exprés" que vivió el juego y a que en realidad no se llegó a terminar (a no ser que la versión que quedase en Zigurat estuviese más completa, aunque lo dudo mucho), nos hemos encontrado unos cuantos "errores" (mejor dicho Metr era el que los iba encontrando conforme iba haciendo el recorrido completo del juego), que hemos ido parcheando sin alterar el juego. Excepto en dos casos:

 

El primero es una escalera a falta de unas pocas pantallas del final del segundo nivel, que era imposible de subir y que por más que he revisado (incluso después de descifrar el ingenioso método de almacenamiento de los mapas por parte de los autores, no había manera de corregirlo), la única solución que he encontrado es desactivar temporalmente en esa pantalla, el código que controla si se ha llegado a lo más alto de dicha escalera.
Y el segundo el enfrentamiento final, en que una vez que vences al "calvorota", este se vuelve invisible y te sigue atacando hasta el final de los tiempos, la solución no es fácil, porque simplemente no existe el código que controla el "estado" de que el jugador ha vencido al "jefe", por lo que más que regresar al menú principal, que es algo que siempre me ha parecido muy "cutre", una vez que el jugador llega a dicho enfrentamiento, lo cual solo se puede calificar de proeza, pues en la zona de mensajes aparece un scroll con la clave para la “outro”, como premio a sus esfuerzos.

 

Fuentes del Menú Captura del listado del menú.

Bueno, pues en este punto tenemos un juego más ó menos completo, eso no quiere decir que nuestra tarea se haya acabado, ahora toca cuidar la presentación del producto, y no solo hablo del fantástico trabajo de Litos con la portada, también hay que cuidar el juego, porque lo que teníamos era una serie de ficheros sueltos, a los que se podía acceder de forma independiente, si puedes ver la fantástica “outro” sin ni siquiera jugar al juego (idénticamente ocurre con el segundo nivel, que no pide contraseña alguna), qué merito tendría todo el trabajo que se ha hecho.
Para ello, me puse manos a la obra y como la ocasión lo merecía preparé un menú especial, desde el que puedes seleccionar la parte a cargar (permitiendo la carga desde la unidad B), además, parcheé la “intro” y la “outro”, para que una vez finalizadas, si pulsas una tecla, puedas regresar al menú, sin tener que reinicializar la máquina de por medio. También me "inventé" una clave para la “outro” que fuese un guiño a la obra del fantástico ilustrador de la portada, López Espí ,y a una de mis pelis favoritas ;), el motivo de "idear" una clave es porque en la versión recuperada de spectrum no existe la “outro” y tampoco se obtiene una clave al acabar con el "jefe", de hecho en dicha versión existe un cuelgue raro cuando lo vences. Pero a pesar de ello y para estar más seguros, rompí el cifrado (simplemente una variante del de sustitución) con el que se almacenaban los textos durante el juego y pude decodificar todos los textos, confirmando la clave del segundo nivel y la inexistencia de la clave para la “outro”.

 

En cuanto a las pantallas de carga, para la que faltaba convertí directamente la pantalla de Spectrum de ese nivel, sin apenas retocarla, eso es así, porque siempre debíamos tener presente que había que respetar el diseño original, eso es algo que no podíamos olvidar en ningún momento. Y en cuanto a las paletas de dichas pantallas, pues se empleado la del nivel al que acompañan.

 

Decodificando el texto Esto es posible ver despues de descifrar el texto del juego.

Al hilo de lo que acabo de comentar de respetar el diseño original, también se han respetado el contenido de todos los ficheros originales, eso quiere decir que los parches se aplican sobre dichos datos originales una vez se han cargado y descomprimido en memoria, justo antes de ejecutarlos. Con la única excepción de alguna corrección ortográfica en los textos de la “intro”.Ya solo faltaba comprimirlo todo, algo que también tenía su intríngulis, porque el juego ocupa prácticamente toda la RAM y no era plan de necesitar más, cuando el juego corre perfectamente con 64 Kbps
Con eso y añadir un "cheat mode", se terminó mi aporte al proyecto, el cual espero que disfrutéis tanto como nosotros lo hemos hecho y que sirva de reconocimiento al estupendo trabajo de Restos.

La cubierta del juego (por Litos)

The Prayer of te Warrior. Cubierta realizada para la versión rescatada de Spectrum.

La primera noticia que tengo de este juego fue en "Spectrum Forever", en la que que su autor, Ferrán Criado, incluyó las versiones de Spectrum (48k y 128k) y, además, completó la ficha con una carátula creada por él mismo, en la que se mostraba un guerrero con un aspecto impactante y un bonito título, incluyendo al pié el logo de Zigurat. Lo cierto es que la carátula de Ferrán me gusta mucho pero, después de contactar con él, me comentó que no disponía de una muestra a mayor resolución para poder hacer el "apaño" y crear la de Amstrad CPC. Esto, unido a que la ilustración provenía de un juego de tablero y, quizá, podría surgir algún problema me llevo a la conclusión de hacer una nueva desde cero.

 

"The Prayer of the Warrior" iba a ser publicado originalmente por Zigurat por eso lo primero que pensé fue "¿Por qué no hacer un diseño que recordase a las ediciones originales de Zigurat?". De modo que me puse manos a la obra y diseñé algo similar incluyendo el logo de Zigurat y uno de “Restos”, creado por mi.
La ilustración debería ser original y aprovechando que mantengo contacto con uno de los mejores portadistas de nuestra historia hablé con él y le pedí permiso para utilizar una de sus ilustraciones. Elegí una de Conan, en la cual no se hace referencia alguna al personaje y, además, empuña un hacha, muy conveniente para nuestro caso. López Espí no solo me dio permiso, si no que "retocó" digitalmente la ilustración en algunos puntos difusos que lo precisaba y suavizó algunas líneas de la misma.

 

Después de algunas pruebas con diferentes fondos superpuse todo sobre un fondo negro para que fuera similar al juego. El resultado es una cubierta original que podría haber sido, por qué no, la utilizada en la publicación original del juego por parte de Zigurat. Si eso hubiera ocurrido, claro.
Como complemento creé un documento con las instrucciones, que incluye la historia descrita en la intro del propio juego y una descripción de los controles, así como los créditos originales del juego y los de la versión final.
Todo esto, y más, podréis verlo en la correspondiente ficha del juego.

 

Disfrutarlo como lo hemos hecho nosotros.

Amstrad ESP
31 de Agosto 2011

 

Este artículo ha sido leído 3506 veces

Juegos de Cine (4ª Parte y última) Los creadores de "The Prayer of the Warrior"